---
title: "Start an asynchronous log query"
description: "Runs over one to ten datasets of the project, with larger budgets than search, and is authorized on each dataset. Poll it until it finishes, then read its results. 409 async_queries_unavailable: asynchronous queries aren't available yet; nothing is queued, and search still works."
---

> 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/queries`

Runs over one to ten datasets of the project, with larger budgets than search, and is authorized on each dataset. Poll it until it finishes, then read its results. 409 async_queries_unavailable: asynchronous queries aren't available yet; nothing is queued, and search still works.

## Authentication

Requires one of the following:

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

## Path parameters

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

## Header parameters

- `StartQuery.header.Idempotency-Key` (string, optional) — Makes a retry safe: the same key and request get the stored response.
  - pattern `^[\x21-\x7e]{1,200}$`

## Request body

_Required._

- `StartQuery.datasetIds` (array<string>, required)
  - format `uuid`
- `StartQuery.from` (string, required) — UTC, millisecond precision: 2026-10-02T10:20:00.000Z.
  - format `date-time`
- `StartQuery.to` (string, required) — UTC, millisecond precision: 2026-10-02T10:20:00.000Z.
  - format `date-time`
- `StartQuery.filters` (object, optional)
  - `StartQuery.filters.applications` (array<string>, optional)
    - pattern `^[a-z0-9][a-z0-9._-]{0,62}$`
  - `StartQuery.filters.attributes` (array<object>, optional)
    - `StartQuery.filters.attributes.key` (string, required)
      - minLength 1; maxLength 256
    - `StartQuery.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"`
    - `StartQuery.filters.attributes.scope` (unknown, optional)
      - one of `"record"`, `"resource"`; default `"record"`
    - `StartQuery.filters.attributes.value` (string, optional) — Required with equals and notEquals.
      - maxLength 1024
    - `StartQuery.filters.attributes.values` (array<string>, optional) — Required with in, and only with it.
      - maxLength 1024
  - `StartQuery.filters.body` (object, optional)
    - `StartQuery.filters.body.contains` (string, optional)
      - minLength 1; maxLength 1024
    - `StartQuery.filters.body.matches` (string, optional) — An RE2 regular expression.
      - minLength 1; maxLength 256
  - `StartQuery.filters.environments` (array<string>, optional)
    - pattern `^[a-z0-9][a-z0-9._-]{0,62}$`
  - `StartQuery.filters.minSeverityNumber` (integer, optional)
    - min 1; max 24
  - `StartQuery.filters.serviceNames` (array<string>, optional)
    - maxLength 256
  - `StartQuery.filters.severityTexts` (array<string>, optional)
    - maxLength 64
  - `StartQuery.filters.spanId` (string, optional)
    - pattern `^[0-9a-f]{16}$`
  - `StartQuery.filters.traceId` (string, optional)
    - pattern `^[0-9a-f]{32}$`
- `StartQuery.groupBy` (array<unknown>, optional) — Count records per distinct value instead of returning them (at most 10000 groups).
  - one of `"application"`, `"environment"`, `"severity"`, `"service"`
- `StartQuery.limit` (integer, optional) — Records to keep. Not allowed with groupBy.
  - min 1; max 100000; default `10000`
- `StartQuery.order` (unknown, optional)
  - one of `"eventTimeDesc"`, `"eventTimeAsc"`; default `"eventTimeDesc"`

## Example request

```json
{
  "datasetIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "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",
  "groupBy": [
    "application"
  ],
  "limit": 10000,
  "order": "eventTimeDesc",
  "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/queries \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "datasetIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "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",
  "groupBy": [
    "application"
  ],
  "limit": 10000,
  "order": "eventTimeDesc",
  "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/queries';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json', Authorization: 'Bearer <token>'},
  body: JSON.stringify({
    datasetIds: ['497f6eca-6276-4993-bfeb-53cbbbba6f08'],
    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',
    groupBy: ['application'],
    limit: 10000,
    order: 'eventTimeDesc',
    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/queries"

payload = {
    "datasetIds": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
    "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",
    "groupBy": ["application"],
    "limit": 10000,
    "order": "eventTimeDesc",
    "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

### 202

The query, queued.

#### Example

```json
{
  "cancelRequested": true,
  "createdAt": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "datasetIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "error": {},
  "finishedAt": "2019-08-24T14:15:22Z",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "query": {},
  "queuePosition": 0,
  "resultRows": 0,
  "resultType": "records",
  "resultsExpireAt": "2019-08-24T14:15:22Z",
  "startedAt": "2019-08-24T14:15:22Z",
  "stats": {
    "bytesScanned": "string",
    "elapsedMs": 0,
    "rowsScanned": "string"
  },
  "status": "queued",
  "truncated": true
}
```

- `StartQuery.response.202.cancelRequested` (boolean, required)
- `StartQuery.response.202.createdAt` (string, required) — UTC, millisecond precision: 2026-10-02T10:20:00.000Z.
  - format `date-time`
- `StartQuery.response.202.createdBy` (string, required)
- `StartQuery.response.202.datasetIds` (array<string>, required)
  - format `uuid`
- `StartQuery.response.202.error` (one of, required)
  - one of: `null`, `object`
- `StartQuery.response.202.finishedAt` (one of, required)
  - one of: [Instant](/obs-api/schemas/Instant/), `null`
- `StartQuery.response.202.id` (string, required)
  - format `uuid`
- `StartQuery.response.202.projectId` (string, required)
  - format `uuid`
- `StartQuery.response.202.query` (object, required) — The normalized request: datasetIds, from, to, filters, order, groupBy, limit.
- `StartQuery.response.202.queuePosition` (integer | null, required) — While queued, from GET and start only.
- `StartQuery.response.202.resultRows` (integer | null, required)
- `StartQuery.response.202.resultType` (unknown, required)
  - one of `"records"`, `"groups"`
- `StartQuery.response.202.resultsExpireAt` (one of, required) — When a succeeded query's results stop being readable.
  - one of: [Instant](/obs-api/schemas/Instant/), `null`
- `StartQuery.response.202.startedAt` (one of, required)
  - one of: [Instant](/obs-api/schemas/Instant/), `null`
- `StartQuery.response.202.stats` (one of, required)
  - one of: [QueryStats](/obs-api/schemas/QueryStats/), `null`
- `StartQuery.response.202.status` (unknown, required)
  - one of `"queued"`, `"running"`, `"succeeded"`, `"failed"`, `"cancelled"`
- `StartQuery.response.202.truncated` (boolean, required) — The query stopped at its limit or the group cap.

### 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"
    }
  }
}
```

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

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

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

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

### 409

async_queries_unavailable: asynchronous queries aren't available yet. Nothing is queued.

#### 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"
    }
  }
}
```

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

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

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

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

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


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