---
# @generated by sylphx-gen 0.1.0 from contracts@e145cc7cf1bc9605f2b27439e5e17ed76a1a2fd7e7021906a013f7565e4a0cd5. Do not edit.
title: "Write a log entry"
description: "`observability.log_entries.write` (POST /v1/{parent}/log_entries:write): Ingests a batch of log entries atomically."
type: reference
product: monitoring
summary: "Ingests a batch of log entries atomically."
updated: 2026-09-28
nav: false
---

> **This method is not served on the public API.** `api.sylphx.com` does not route this call: its backend is not deployed behind the public API, or does not implement the call. This page documents the contract. It is kept out of the sidebar and of search engines.

Ingests a batch of log entries atomically. The same `Idempotency-Key` and digest replays the same batch; a different digest under the key conflicts.

- **Path** `POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/log_entries:write`
- **Scope** `observability:ingest`
- **Effect** `write` — a successful call changes state.
- **Collection** [log_entries](/docs/api/log_entries)

## Request

| Field | Type | What it is |
| --- | --- | --- |
| `parent` | `string` | The parent the method acts in. Required. |
| `log_entries` | `LogEntry[]` | The entries, at most 1000; only record fields are read. Required. |

### LogEntry

| Field | Type | What it is |
| --- | --- | --- |
| `name` | `string` | `orgs/{org}/projects/{project}/envs/{env}/log_entries/{log_entry}`. |
| `meta` | `ResourceMeta` | Resource metadata. |
| `log_time` | `timestamp` | When the event happened. Required. |
| `severity` | `LogSeverity` | The severity. Required. One of `trace`, `debug`, `info`, `warn`, `error`, `fatal`. |
| `body` | `string` | The message. Required. |
| `service_name` | `string` | The emitting service, for example `checkout-api`. |
| `attributes` | `map<string, string>` | Typed attributes, at most 64. |
| `trace_id` | `string` | W3C trace id (32 hex). |
| `span_id` | `string` | W3C span id (16 hex). |

### ResourceMeta

| Field | Type | What it is |
| --- | --- | --- |
| `labels` | `map<string, string>` | Caller-writable, indexed labels (AIP-122 label rules). |
| `annotations` | `map<string, string>` | Caller-writable, unindexed annotations. |
| `display_name` | `string` | Caller-writable human-readable name. |

## Response

| Field | Type | What it is |
| --- | --- | --- |
| `admitted_count` | `int32` | Entries admitted. |

## Errors

- [`UNAUTHENTICATED`](/docs/api/errors/UNAUTHENTICATED) — No valid key or token was presented.
- [`PERMISSION_DENIED`](/docs/api/errors/PERMISSION_DENIED) — The key lacks the method's permission.
- [`INVALID_FIELD`](/docs/api/errors/INVALID_FIELD) — A field failed validation.
- [`IDEMPOTENCY_KEY_REUSED`](/docs/api/errors/IDEMPOTENCY_KEY_REUSED) — An Idempotency-Key was reused with another body.
- [`IDEMPOTENCY_IN_PROGRESS`](/docs/api/errors/IDEMPOTENCY_IN_PROGRESS) — The first call with this Idempotency-Key is still running.
- [`RATE_LIMITED`](/docs/api/errors/RATE_LIMITED) — The rate limit is reached; see Retry-After.
- [`SPEND_LIMIT_REACHED`](/docs/api/errors/SPEND_LIMIT_REACHED) — The org's spend limit is reached.

Every error arrives in the body [Errors](/docs/platform/errors) describes.

## Examples

**cURL**

```curl
curl -X POST "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/log_entries:write" \
  -H "Authorization: Bearer $SYLPHX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"log_entries":[{"body":"…","log_time":{},"severity":"trace"}]}'
```

**TypeScript**

```ts
const response = await sylphx.observability.logEntries.write({ logEntries: [{ body: '…', logTime: {}, severity: 'trace' }], parent: 'orgs/acme/projects/shop/envs/production' })
```

**Rust**

```rust
let mut req = sylphx::observability::WriteLogEntriesRequest::default();
req.log_entries = vec![Default::default()];
req.parent = "orgs/acme/projects/shop/envs/production".to_string();
let response = sx.observability().log_entries().write(req).await?;
```

**CLI**

```bash
sylphx observability log-entries write orgs/acme/projects/shop/envs/production
```

**MCP**

```json
{ "method_id": "observability.log_entries.write", "args": {"log_entries":[{"body":"…","log_time":{},"severity":"trace"}],"parent":"orgs/acme/projects/shop/envs/production"} }
```
