---
title: "Summarize a dataset's logs"
description: "Counts of matching log records over time by level, and the top values of a few fields (facets). A facet whose own filter is set lists the values that filter would hide, counted with every other filter, so it can widen the filter. Computed from the records on every request. 422 query_too_expensive: narrow the window or filters. 429 too_many_requests: too many console reads are running in the organization (they have their own pool, apart from searches); retry after Retry-After. 503 source_unavailable: some of the data can't be read right now; there is never a partial answer. Not idempotent and nothing is kept."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.ezghcloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Observability API

`POST /v1/organizations/{orgId}/projects/{projectId}/obs/datasets/{datasetId}/logs/summary`

Counts of matching log records over time by level, and the top values of a few fields (facets). A facet whose own filter is set lists the values that filter would hide, counted with every other filter, so it can widen the filter. Computed from the records on every request. 422 query_too_expensive: narrow the window or filters. 429 too_many_requests: too many console reads are running in the organization (they have their own pool, apart from searches); retry after Retry-After. 503 source_unavailable: some of the data can't be read right now; there is never a partial answer. Not idempotent and nothing is kept.

## Authentication

Requires one of the following:

- `apiKey`, http, header `Authorization`
- `oauth`, http, header `Authorization`
- `sessionCookie`, apiKey, in cookie

## Path parameters

- `SummarizeLogs.path.orgId` (string, required)
  - format `uuid`
- `SummarizeLogs.path.projectId` (string, required)
  - format `uuid`
- `SummarizeLogs.path.datasetId` (string, required)
  - format `uuid`

## Request body

_Required._

- `SummarizeLogs.from` (string, required) — UTC, millisecond precision: 2026-10-02T10:20:00.000Z.
  - format `date-time`
- `SummarizeLogs.to` (string, required) — UTC, millisecond precision: 2026-10-02T10:20:00.000Z.
  - format `date-time`
- `SummarizeLogs.bucketSeconds` (integer, optional) — Rounded up to 10, 30, 60, 120, 300, 600, 1800, 3600, 7200, 10800, 21600, 43200 or 86400 seconds, and raised until the window has at most 1,440 buckets. Absent: chosen for at most 72.
  - min 1; max 86400
- `SummarizeLogs.facetLimit` (integer, optional)
  - min 1; max 50; default `10`
- `SummarizeLogs.facets` (array<unknown>, optional) — Default: every facet but environment. [] is none.
  - one of `"severityText"`, `"serviceName"`, `"scopeName"`, `"application"`, `"environment"`
- `SummarizeLogs.filters` (object, optional)
  - `SummarizeLogs.filters.applications` (array<string>, optional)
    - pattern `^[a-z0-9][a-z0-9._-]{0,62}$`
  - `SummarizeLogs.filters.attributes` (array<object>, optional)
    - `SummarizeLogs.filters.attributes.key` (string, required)
      - minLength 1; maxLength 256
    - `SummarizeLogs.filters.attributes.op` (unknown, required) — notEquals: the key is absent, or holds another value. in: the key is present and holds one of values. notEquals and in are accepted once console reads are on (otherwise 400).
      - one of `"equals"`, `"notEquals"`, `"in"`, `"exists"`
    - `SummarizeLogs.filters.attributes.scope` (unknown, optional)
      - one of `"record"`, `"resource"`; default `"record"`
    - `SummarizeLogs.filters.attributes.value` (string, optional) — Required with equals and notEquals.
      - maxLength 1024
    - `SummarizeLogs.filters.attributes.values` (array<string>, optional) — Required with in, and only with it.
      - maxLength 1024
  - `SummarizeLogs.filters.body` (object, optional)
    - `SummarizeLogs.filters.body.contains` (string, optional)
      - minLength 1; maxLength 1024
    - `SummarizeLogs.filters.body.matches` (string, optional) — An RE2 regular expression.
      - minLength 1; maxLength 256
  - `SummarizeLogs.filters.environments` (array<string>, optional)
    - pattern `^[a-z0-9][a-z0-9._-]{0,62}$`
  - `SummarizeLogs.filters.minSeverityNumber` (integer, optional)
    - min 1; max 24
  - `SummarizeLogs.filters.serviceNames` (array<string>, optional)
    - maxLength 256
  - `SummarizeLogs.filters.severityTexts` (array<string>, optional)
    - maxLength 64
  - `SummarizeLogs.filters.spanId` (string, optional)
    - pattern `^[0-9a-f]{16}$`
  - `SummarizeLogs.filters.traceId` (string, optional)
    - pattern `^[0-9a-f]{32}$`

## Example request

```json
{
  "bucketSeconds": 1,
  "facetLimit": 10,
  "facets": [
    "severityText"
  ],
  "filters": {
    "applications": [
      "string"
    ],
    "attributes": [
      {
        "key": "string",
        "op": "equals",
        "scope": "record",
        "value": "string",
        "values": [
          "string"
        ]
      }
    ],
    "body": {
      "contains": "string"
    },
    "environments": [
      "string"
    ],
    "minSeverityNumber": 1,
    "serviceNames": [
      "string"
    ],
    "severityTexts": [
      "string"
    ],
    "spanId": "string",
    "traceId": "string"
  },
  "from": "2019-08-24T14:15:22Z",
  "to": "2019-08-24T14:15:22Z"
}
```

## Code samples

### cURL

```curl
curl --request POST \
  --url https://obs.ezghcloud.com/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/obs/datasets/497f6eca-6276-4993-bfeb-53cbbbba6f08/logs/summary \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "bucketSeconds": 1,
  "facetLimit": 10,
  "facets": [
    "severityText"
  ],
  "filters": {
    "applications": [
      "string"
    ],
    "attributes": [
      {
        "key": "string",
        "op": "equals",
        "scope": "record",
        "value": "string",
        "values": [
          "string"
        ]
      }
    ],
    "body": {
      "contains": "string"
    },
    "environments": [
      "string"
    ],
    "minSeverityNumber": 1,
    "serviceNames": [
      "string"
    ],
    "severityTexts": [
      "string"
    ],
    "spanId": "string",
    "traceId": "string"
  },
  "from": "2019-08-24T14:15:22Z",
  "to": "2019-08-24T14:15:22Z"
}
'
```

### TypeScript

```typescript
const url = 'https://obs.ezghcloud.com/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/obs/datasets/497f6eca-6276-4993-bfeb-53cbbbba6f08/logs/summary';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json', Authorization: 'Bearer <token>'},
  body: JSON.stringify({
    bucketSeconds: 1,
    facetLimit: 10,
    facets: ['severityText'],
    filters: {
      applications: ['string'],
      attributes: [
        {
          key: 'string',
          op: 'equals',
          scope: 'record',
          value: 'string',
          values: ['string']
        }
      ],
      body: JSON.stringify({contains: 'string'}),
      environments: ['string'],
      minSeverityNumber: 1,
      serviceNames: ['string'],
      severityTexts: ['string'],
      spanId: 'string',
      traceId: 'string'
    },
    from: '2019-08-24T14:15:22Z',
    to: '2019-08-24T14:15:22Z'
  })
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://obs.ezghcloud.com/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/obs/datasets/497f6eca-6276-4993-bfeb-53cbbbba6f08/logs/summary"

payload = {
    "bucketSeconds": 1,
    "facetLimit": 10,
    "facets": ["severityText"],
    "filters": {
        "applications": ["string"],
        "attributes": [
            {
                "key": "string",
                "op": "equals",
                "scope": "record",
                "value": "string",
                "values": ["string"]
            }
        ],
        "body": { "contains": "string" },
        "environments": ["string"],
        "minSeverityNumber": 1,
        "serviceNames": ["string"],
        "severityTexts": ["string"],
        "spanId": "string",
        "traceId": "string"
    },
    "from": "2019-08-24T14:15:22Z",
    "to": "2019-08-24T14:15:22Z"
}
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer <token>"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

## Responses

### 200

The chart and the facets.

#### Example

```json
{
  "bucketSeconds": 0,
  "buckets": [
    {
      "counts": {
        "property1": 0,
        "property2": 0
      },
      "start": "2019-08-24T14:15:22Z"
    }
  ],
  "facets": {
    "property1": [
      {
        "count": 0,
        "value": "string"
      }
    ],
    "property2": [
      {
        "count": 0,
        "value": "string"
      }
    ]
  },
  "source": {
    "rawFrom": "2019-08-24T14:15:22Z",
    "rollup": true
  },
  "total": 0,
  "visibleThrough": {
    "lanes": [
      {
        "datasetId": "6586f21b-ad4d-4d06-a309-712af47184a2",
        "ingestedAt": "2019-08-24T14:15:22Z",
        "lane": 0
      }
    ],
    "token": "string"
  }
}
```

- `SummarizeLogs.response.200.bucketSeconds` (integer, required)
- `SummarizeLogs.response.200.buckets` (array<object>, required) — Every bucket of the window in order, starting on multiples of bucketSeconds since the epoch; the first and last may be partial.
  - `SummarizeLogs.response.200.buckets.counts` (map<integer>, required) — Only levels with a count; {} for an empty bucket.
  - `SummarizeLogs.response.200.buckets.start` (string, required) — UTC, millisecond precision: 2026-10-02T10:20:00.000Z.
    - format `date-time`
- `SummarizeLogs.response.200.facets` (map<array<object>>, required) — One key per requested facet.
- `SummarizeLogs.response.200.source` (object, required) — How the answer was built: rollup false is from the records themselves.
  - `SummarizeLogs.response.200.source.rollup` (boolean, required)
  - `SummarizeLogs.response.200.source.rawFrom` (string, optional) — UTC, millisecond precision: 2026-10-02T10:20:00.000Z.
    - format `date-time`
- `SummarizeLogs.response.200.total` (integer, required)
- `SummarizeLogs.response.200.visibleThrough` (object, required)
  - `SummarizeLogs.response.200.visibleThrough.lanes` (array<object>, required)
    - `SummarizeLogs.response.200.visibleThrough.lanes.datasetId` (string, required)
      - format `uuid`
    - `SummarizeLogs.response.200.visibleThrough.lanes.ingestedAt` (one of, required)
      - one of: [Instant](/obs-api/schemas/Instant/), `null`
    - `SummarizeLogs.response.200.visibleThrough.lanes.lane` (integer, required)
  - `SummarizeLogs.response.200.visibleThrough.token` (string, required) — Opaque: the accepted data this answer covers.

### 400

invalid_request (with issues), invalid_cursor, or the endpoint's own 400 codes.

#### Example

```json
{
  "error": {
    "code": "string",
    "issues": [
      {
        "message": "string",
        "path": "string"
      }
    ],
    "message": "string",
    "quota": {
      "id": "string",
      "inFlight": 0,
      "kind": "allocation",
      "limit": 0,
      "periodStart": "2019-08-24T14:15:22Z",
      "region": "string",
      "resetsAt": "2019-08-24T14:15:22Z",
      "scope": "organization",
      "scopeResourceName": "string",
      "used": 0,
      "window": "string"
    }
  }
}
```

- `SummarizeLogs.response.400.error` (object, required)
  - `SummarizeLogs.response.400.error.code` (string, required)
    - maxLength 64; pattern `^[a-z][a-z0-9_]*$`
  - `SummarizeLogs.response.400.error.message` (string, required)
    - maxLength 1024
  - `SummarizeLogs.response.400.error.issues` (array<object>, optional) — invalid_request: one entry per problem, at a dotted path.
    - `SummarizeLogs.response.400.error.issues.message` (string, required)
    - `SummarizeLogs.response.400.error.issues.path` (string, required)
  - `SummarizeLogs.response.400.error.quota` (object, optional) — quota_exceeded: the quota that refused the request. Never with Retry-After.
    - `SummarizeLogs.response.400.error.quota.id` (string, required)
    - `SummarizeLogs.response.400.error.quota.kind` (unknown, required)
      - one of `"allocation"`, `"rate"`, `"usage"`, `"concurrency"`
    - `SummarizeLogs.response.400.error.quota.limit` (integer, required)
      - min 0
    - `SummarizeLogs.response.400.error.quota.scope` (unknown, required)
      - one of `"organization"`, `"project"`, `"resource"`
    - `SummarizeLogs.response.400.error.quota.inFlight` (integer, optional)
      - min 0
    - `SummarizeLogs.response.400.error.quota.periodStart` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.400.error.quota.region` (string, optional)
    - `SummarizeLogs.response.400.error.quota.resetsAt` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.400.error.quota.scopeResourceName` (string, optional)
    - `SummarizeLogs.response.400.error.quota.used` (integer, optional)
      - min 0
    - `SummarizeLogs.response.400.error.quota.window` (string, optional) — rate only: an ISO 8601 duration, PT1S to PT1H.

### 401

unauthenticated: no credential, or one that doesn't check out.

#### Example

```json
{
  "error": {
    "code": "string",
    "issues": [
      {
        "message": "string",
        "path": "string"
      }
    ],
    "message": "string",
    "quota": {
      "id": "string",
      "inFlight": 0,
      "kind": "allocation",
      "limit": 0,
      "periodStart": "2019-08-24T14:15:22Z",
      "region": "string",
      "resetsAt": "2019-08-24T14:15:22Z",
      "scope": "organization",
      "scopeResourceName": "string",
      "used": 0,
      "window": "string"
    }
  }
}
```

- `SummarizeLogs.response.401.error` (object, required)
  - `SummarizeLogs.response.401.error.code` (string, required)
    - maxLength 64; pattern `^[a-z][a-z0-9_]*$`
  - `SummarizeLogs.response.401.error.message` (string, required)
    - maxLength 1024
  - `SummarizeLogs.response.401.error.issues` (array<object>, optional) — invalid_request: one entry per problem, at a dotted path.
    - `SummarizeLogs.response.401.error.issues.message` (string, required)
    - `SummarizeLogs.response.401.error.issues.path` (string, required)
  - `SummarizeLogs.response.401.error.quota` (object, optional) — quota_exceeded: the quota that refused the request. Never with Retry-After.
    - `SummarizeLogs.response.401.error.quota.id` (string, required)
    - `SummarizeLogs.response.401.error.quota.kind` (unknown, required)
      - one of `"allocation"`, `"rate"`, `"usage"`, `"concurrency"`
    - `SummarizeLogs.response.401.error.quota.limit` (integer, required)
      - min 0
    - `SummarizeLogs.response.401.error.quota.scope` (unknown, required)
      - one of `"organization"`, `"project"`, `"resource"`
    - `SummarizeLogs.response.401.error.quota.inFlight` (integer, optional)
      - min 0
    - `SummarizeLogs.response.401.error.quota.periodStart` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.401.error.quota.region` (string, optional)
    - `SummarizeLogs.response.401.error.quota.resetsAt` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.401.error.quota.scopeResourceName` (string, optional)
    - `SummarizeLogs.response.401.error.quota.used` (integer, optional)
      - min 0
    - `SummarizeLogs.response.401.error.quota.window` (string, optional) — rate only: an ISO 8601 duration, PT1S to PT1H.

### 403

access_denied: the caller's policies don't allow the action; forbidden_origin: a cookie-authenticated write from an origin that isn't allowed; spend_limit_reached.

#### Example

```json
{
  "error": {
    "code": "string",
    "issues": [
      {
        "message": "string",
        "path": "string"
      }
    ],
    "message": "string",
    "quota": {
      "id": "string",
      "inFlight": 0,
      "kind": "allocation",
      "limit": 0,
      "periodStart": "2019-08-24T14:15:22Z",
      "region": "string",
      "resetsAt": "2019-08-24T14:15:22Z",
      "scope": "organization",
      "scopeResourceName": "string",
      "used": 0,
      "window": "string"
    }
  }
}
```

- `SummarizeLogs.response.403.error` (object, required)
  - `SummarizeLogs.response.403.error.code` (string, required)
    - maxLength 64; pattern `^[a-z][a-z0-9_]*$`
  - `SummarizeLogs.response.403.error.message` (string, required)
    - maxLength 1024
  - `SummarizeLogs.response.403.error.issues` (array<object>, optional) — invalid_request: one entry per problem, at a dotted path.
    - `SummarizeLogs.response.403.error.issues.message` (string, required)
    - `SummarizeLogs.response.403.error.issues.path` (string, required)
  - `SummarizeLogs.response.403.error.quota` (object, optional) — quota_exceeded: the quota that refused the request. Never with Retry-After.
    - `SummarizeLogs.response.403.error.quota.id` (string, required)
    - `SummarizeLogs.response.403.error.quota.kind` (unknown, required)
      - one of `"allocation"`, `"rate"`, `"usage"`, `"concurrency"`
    - `SummarizeLogs.response.403.error.quota.limit` (integer, required)
      - min 0
    - `SummarizeLogs.response.403.error.quota.scope` (unknown, required)
      - one of `"organization"`, `"project"`, `"resource"`
    - `SummarizeLogs.response.403.error.quota.inFlight` (integer, optional)
      - min 0
    - `SummarizeLogs.response.403.error.quota.periodStart` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.403.error.quota.region` (string, optional)
    - `SummarizeLogs.response.403.error.quota.resetsAt` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.403.error.quota.scopeResourceName` (string, optional)
    - `SummarizeLogs.response.403.error.quota.used` (integer, optional)
      - min 0
    - `SummarizeLogs.response.403.error.quota.window` (string, optional) — rate only: an ISO 8601 duration, PT1S to PT1H.

### 404

not_found: unknown, malformed, or in an organization the caller isn't in.

#### Example

```json
{
  "error": {
    "code": "string",
    "issues": [
      {
        "message": "string",
        "path": "string"
      }
    ],
    "message": "string",
    "quota": {
      "id": "string",
      "inFlight": 0,
      "kind": "allocation",
      "limit": 0,
      "periodStart": "2019-08-24T14:15:22Z",
      "region": "string",
      "resetsAt": "2019-08-24T14:15:22Z",
      "scope": "organization",
      "scopeResourceName": "string",
      "used": 0,
      "window": "string"
    }
  }
}
```

- `SummarizeLogs.response.404.error` (object, required)
  - `SummarizeLogs.response.404.error.code` (string, required)
    - maxLength 64; pattern `^[a-z][a-z0-9_]*$`
  - `SummarizeLogs.response.404.error.message` (string, required)
    - maxLength 1024
  - `SummarizeLogs.response.404.error.issues` (array<object>, optional) — invalid_request: one entry per problem, at a dotted path.
    - `SummarizeLogs.response.404.error.issues.message` (string, required)
    - `SummarizeLogs.response.404.error.issues.path` (string, required)
  - `SummarizeLogs.response.404.error.quota` (object, optional) — quota_exceeded: the quota that refused the request. Never with Retry-After.
    - `SummarizeLogs.response.404.error.quota.id` (string, required)
    - `SummarizeLogs.response.404.error.quota.kind` (unknown, required)
      - one of `"allocation"`, `"rate"`, `"usage"`, `"concurrency"`
    - `SummarizeLogs.response.404.error.quota.limit` (integer, required)
      - min 0
    - `SummarizeLogs.response.404.error.quota.scope` (unknown, required)
      - one of `"organization"`, `"project"`, `"resource"`
    - `SummarizeLogs.response.404.error.quota.inFlight` (integer, optional)
      - min 0
    - `SummarizeLogs.response.404.error.quota.periodStart` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.404.error.quota.region` (string, optional)
    - `SummarizeLogs.response.404.error.quota.resetsAt` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.404.error.quota.scopeResourceName` (string, optional)
    - `SummarizeLogs.response.404.error.quota.used` (integer, optional)
      - min 0
    - `SummarizeLogs.response.404.error.quota.window` (string, optional) — rate only: an ISO 8601 duration, PT1S to PT1H.

### 409

quota_exceeded (an allocation quota, with quota), idempotency_conflict, idempotency_in_progress (with Retry-After), organization_deletion_pending, operation_in_progress, or the endpoint's own 409 codes.

#### Example

```json
{
  "error": {
    "code": "string",
    "issues": [
      {
        "message": "string",
        "path": "string"
      }
    ],
    "message": "string",
    "quota": {
      "id": "string",
      "inFlight": 0,
      "kind": "allocation",
      "limit": 0,
      "periodStart": "2019-08-24T14:15:22Z",
      "region": "string",
      "resetsAt": "2019-08-24T14:15:22Z",
      "scope": "organization",
      "scopeResourceName": "string",
      "used": 0,
      "window": "string"
    }
  }
}
```

- `SummarizeLogs.response.409.error` (object, required)
  - `SummarizeLogs.response.409.error.code` (string, required)
    - maxLength 64; pattern `^[a-z][a-z0-9_]*$`
  - `SummarizeLogs.response.409.error.message` (string, required)
    - maxLength 1024
  - `SummarizeLogs.response.409.error.issues` (array<object>, optional) — invalid_request: one entry per problem, at a dotted path.
    - `SummarizeLogs.response.409.error.issues.message` (string, required)
    - `SummarizeLogs.response.409.error.issues.path` (string, required)
  - `SummarizeLogs.response.409.error.quota` (object, optional) — quota_exceeded: the quota that refused the request. Never with Retry-After.
    - `SummarizeLogs.response.409.error.quota.id` (string, required)
    - `SummarizeLogs.response.409.error.quota.kind` (unknown, required)
      - one of `"allocation"`, `"rate"`, `"usage"`, `"concurrency"`
    - `SummarizeLogs.response.409.error.quota.limit` (integer, required)
      - min 0
    - `SummarizeLogs.response.409.error.quota.scope` (unknown, required)
      - one of `"organization"`, `"project"`, `"resource"`
    - `SummarizeLogs.response.409.error.quota.inFlight` (integer, optional)
      - min 0
    - `SummarizeLogs.response.409.error.quota.periodStart` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.409.error.quota.region` (string, optional)
    - `SummarizeLogs.response.409.error.quota.resetsAt` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.409.error.quota.scopeResourceName` (string, optional)
    - `SummarizeLogs.response.409.error.quota.used` (integer, optional)
      - min 0
    - `SummarizeLogs.response.409.error.quota.window` (string, optional) — rate only: an ISO 8601 duration, PT1S to PT1H.

### 413

payload_too_large: the body is over the endpoint's limit (1 MiB unless it says otherwise).

#### Example

```json
{
  "error": {
    "code": "string",
    "issues": [
      {
        "message": "string",
        "path": "string"
      }
    ],
    "message": "string",
    "quota": {
      "id": "string",
      "inFlight": 0,
      "kind": "allocation",
      "limit": 0,
      "periodStart": "2019-08-24T14:15:22Z",
      "region": "string",
      "resetsAt": "2019-08-24T14:15:22Z",
      "scope": "organization",
      "scopeResourceName": "string",
      "used": 0,
      "window": "string"
    }
  }
}
```

- `SummarizeLogs.response.413.error` (object, required)
  - `SummarizeLogs.response.413.error.code` (string, required)
    - maxLength 64; pattern `^[a-z][a-z0-9_]*$`
  - `SummarizeLogs.response.413.error.message` (string, required)
    - maxLength 1024
  - `SummarizeLogs.response.413.error.issues` (array<object>, optional) — invalid_request: one entry per problem, at a dotted path.
    - `SummarizeLogs.response.413.error.issues.message` (string, required)
    - `SummarizeLogs.response.413.error.issues.path` (string, required)
  - `SummarizeLogs.response.413.error.quota` (object, optional) — quota_exceeded: the quota that refused the request. Never with Retry-After.
    - `SummarizeLogs.response.413.error.quota.id` (string, required)
    - `SummarizeLogs.response.413.error.quota.kind` (unknown, required)
      - one of `"allocation"`, `"rate"`, `"usage"`, `"concurrency"`
    - `SummarizeLogs.response.413.error.quota.limit` (integer, required)
      - min 0
    - `SummarizeLogs.response.413.error.quota.scope` (unknown, required)
      - one of `"organization"`, `"project"`, `"resource"`
    - `SummarizeLogs.response.413.error.quota.inFlight` (integer, optional)
      - min 0
    - `SummarizeLogs.response.413.error.quota.periodStart` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.413.error.quota.region` (string, optional)
    - `SummarizeLogs.response.413.error.quota.resetsAt` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.413.error.quota.scopeResourceName` (string, optional)
    - `SummarizeLogs.response.413.error.quota.used` (integer, optional)
      - min 0
    - `SummarizeLogs.response.413.error.quota.window` (string, optional) — rate only: an ISO 8601 duration, PT1S to PT1H.

### 422

query_too_expensive.

#### Example

```json
{
  "error": {
    "code": "string",
    "issues": [
      {
        "message": "string",
        "path": "string"
      }
    ],
    "message": "string",
    "quota": {
      "id": "string",
      "inFlight": 0,
      "kind": "allocation",
      "limit": 0,
      "periodStart": "2019-08-24T14:15:22Z",
      "region": "string",
      "resetsAt": "2019-08-24T14:15:22Z",
      "scope": "organization",
      "scopeResourceName": "string",
      "used": 0,
      "window": "string"
    }
  }
}
```

- `SummarizeLogs.response.422.error` (object, required)
  - `SummarizeLogs.response.422.error.code` (string, required)
    - maxLength 64; pattern `^[a-z][a-z0-9_]*$`
  - `SummarizeLogs.response.422.error.message` (string, required)
    - maxLength 1024
  - `SummarizeLogs.response.422.error.issues` (array<object>, optional) — invalid_request: one entry per problem, at a dotted path.
    - `SummarizeLogs.response.422.error.issues.message` (string, required)
    - `SummarizeLogs.response.422.error.issues.path` (string, required)
  - `SummarizeLogs.response.422.error.quota` (object, optional) — quota_exceeded: the quota that refused the request. Never with Retry-After.
    - `SummarizeLogs.response.422.error.quota.id` (string, required)
    - `SummarizeLogs.response.422.error.quota.kind` (unknown, required)
      - one of `"allocation"`, `"rate"`, `"usage"`, `"concurrency"`
    - `SummarizeLogs.response.422.error.quota.limit` (integer, required)
      - min 0
    - `SummarizeLogs.response.422.error.quota.scope` (unknown, required)
      - one of `"organization"`, `"project"`, `"resource"`
    - `SummarizeLogs.response.422.error.quota.inFlight` (integer, optional)
      - min 0
    - `SummarizeLogs.response.422.error.quota.periodStart` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.422.error.quota.region` (string, optional)
    - `SummarizeLogs.response.422.error.quota.resetsAt` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.422.error.quota.scopeResourceName` (string, optional)
    - `SummarizeLogs.response.422.error.quota.used` (integer, optional)
      - min 0
    - `SummarizeLogs.response.422.error.quota.window` (string, optional) — rate only: an ISO 8601 duration, PT1S to PT1H.

### 429

too_many_requests, with Retry-After; or quota_exceeded (a rate, usage or concurrency quota, with quota), never with Retry-After.

#### Example

```json
{
  "error": {
    "code": "string",
    "issues": [
      {
        "message": "string",
        "path": "string"
      }
    ],
    "message": "string",
    "quota": {
      "id": "string",
      "inFlight": 0,
      "kind": "allocation",
      "limit": 0,
      "periodStart": "2019-08-24T14:15:22Z",
      "region": "string",
      "resetsAt": "2019-08-24T14:15:22Z",
      "scope": "organization",
      "scopeResourceName": "string",
      "used": 0,
      "window": "string"
    }
  }
}
```

- `SummarizeLogs.response.429.error` (object, required)
  - `SummarizeLogs.response.429.error.code` (string, required)
    - maxLength 64; pattern `^[a-z][a-z0-9_]*$`
  - `SummarizeLogs.response.429.error.message` (string, required)
    - maxLength 1024
  - `SummarizeLogs.response.429.error.issues` (array<object>, optional) — invalid_request: one entry per problem, at a dotted path.
    - `SummarizeLogs.response.429.error.issues.message` (string, required)
    - `SummarizeLogs.response.429.error.issues.path` (string, required)
  - `SummarizeLogs.response.429.error.quota` (object, optional) — quota_exceeded: the quota that refused the request. Never with Retry-After.
    - `SummarizeLogs.response.429.error.quota.id` (string, required)
    - `SummarizeLogs.response.429.error.quota.kind` (unknown, required)
      - one of `"allocation"`, `"rate"`, `"usage"`, `"concurrency"`
    - `SummarizeLogs.response.429.error.quota.limit` (integer, required)
      - min 0
    - `SummarizeLogs.response.429.error.quota.scope` (unknown, required)
      - one of `"organization"`, `"project"`, `"resource"`
    - `SummarizeLogs.response.429.error.quota.inFlight` (integer, optional)
      - min 0
    - `SummarizeLogs.response.429.error.quota.periodStart` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.429.error.quota.region` (string, optional)
    - `SummarizeLogs.response.429.error.quota.resetsAt` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.429.error.quota.scopeResourceName` (string, optional)
    - `SummarizeLogs.response.429.error.quota.used` (integer, optional)
      - min 0
    - `SummarizeLogs.response.429.error.quota.window` (string, optional) — rate only: an ISO 8601 duration, PT1S to PT1H.

### 500

internal_error: a bug; the details are in the logs, under the request ID.

#### Example

```json
{
  "error": {
    "code": "string",
    "issues": [
      {
        "message": "string",
        "path": "string"
      }
    ],
    "message": "string",
    "quota": {
      "id": "string",
      "inFlight": 0,
      "kind": "allocation",
      "limit": 0,
      "periodStart": "2019-08-24T14:15:22Z",
      "region": "string",
      "resetsAt": "2019-08-24T14:15:22Z",
      "scope": "organization",
      "scopeResourceName": "string",
      "used": 0,
      "window": "string"
    }
  }
}
```

- `SummarizeLogs.response.500.error` (object, required)
  - `SummarizeLogs.response.500.error.code` (string, required)
    - maxLength 64; pattern `^[a-z][a-z0-9_]*$`
  - `SummarizeLogs.response.500.error.message` (string, required)
    - maxLength 1024
  - `SummarizeLogs.response.500.error.issues` (array<object>, optional) — invalid_request: one entry per problem, at a dotted path.
    - `SummarizeLogs.response.500.error.issues.message` (string, required)
    - `SummarizeLogs.response.500.error.issues.path` (string, required)
  - `SummarizeLogs.response.500.error.quota` (object, optional) — quota_exceeded: the quota that refused the request. Never with Retry-After.
    - `SummarizeLogs.response.500.error.quota.id` (string, required)
    - `SummarizeLogs.response.500.error.quota.kind` (unknown, required)
      - one of `"allocation"`, `"rate"`, `"usage"`, `"concurrency"`
    - `SummarizeLogs.response.500.error.quota.limit` (integer, required)
      - min 0
    - `SummarizeLogs.response.500.error.quota.scope` (unknown, required)
      - one of `"organization"`, `"project"`, `"resource"`
    - `SummarizeLogs.response.500.error.quota.inFlight` (integer, optional)
      - min 0
    - `SummarizeLogs.response.500.error.quota.periodStart` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.500.error.quota.region` (string, optional)
    - `SummarizeLogs.response.500.error.quota.resetsAt` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.500.error.quota.scopeResourceName` (string, optional)
    - `SummarizeLogs.response.500.error.quota.used` (integer, optional)
      - min 0
    - `SummarizeLogs.response.500.error.quota.window` (string, optional) — rate only: an ISO 8601 duration, PT1S to PT1H.

### 503

unavailable: a dependency the request needs is down. Retry after Retry-After.

#### Example

```json
{
  "error": {
    "code": "string",
    "issues": [
      {
        "message": "string",
        "path": "string"
      }
    ],
    "message": "string",
    "quota": {
      "id": "string",
      "inFlight": 0,
      "kind": "allocation",
      "limit": 0,
      "periodStart": "2019-08-24T14:15:22Z",
      "region": "string",
      "resetsAt": "2019-08-24T14:15:22Z",
      "scope": "organization",
      "scopeResourceName": "string",
      "used": 0,
      "window": "string"
    }
  }
}
```

- `SummarizeLogs.response.503.error` (object, required)
  - `SummarizeLogs.response.503.error.code` (string, required)
    - maxLength 64; pattern `^[a-z][a-z0-9_]*$`
  - `SummarizeLogs.response.503.error.message` (string, required)
    - maxLength 1024
  - `SummarizeLogs.response.503.error.issues` (array<object>, optional) — invalid_request: one entry per problem, at a dotted path.
    - `SummarizeLogs.response.503.error.issues.message` (string, required)
    - `SummarizeLogs.response.503.error.issues.path` (string, required)
  - `SummarizeLogs.response.503.error.quota` (object, optional) — quota_exceeded: the quota that refused the request. Never with Retry-After.
    - `SummarizeLogs.response.503.error.quota.id` (string, required)
    - `SummarizeLogs.response.503.error.quota.kind` (unknown, required)
      - one of `"allocation"`, `"rate"`, `"usage"`, `"concurrency"`
    - `SummarizeLogs.response.503.error.quota.limit` (integer, required)
      - min 0
    - `SummarizeLogs.response.503.error.quota.scope` (unknown, required)
      - one of `"organization"`, `"project"`, `"resource"`
    - `SummarizeLogs.response.503.error.quota.inFlight` (integer, optional)
      - min 0
    - `SummarizeLogs.response.503.error.quota.periodStart` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.503.error.quota.region` (string, optional)
    - `SummarizeLogs.response.503.error.quota.resetsAt` (string, optional)
      - format `date-time`
    - `SummarizeLogs.response.503.error.quota.scopeResourceName` (string, optional)
    - `SummarizeLogs.response.503.error.quota.used` (integer, optional)
      - min 0
    - `SummarizeLogs.response.503.error.quota.window` (string, optional) — rate only: an ISO 8601 duration, PT1S to PT1H.


Source: https://docs.ezghcloud.com/obs-api/SummarizeLogs/index.md
