{"openapi":"3.1.0","info":{"title":"Data API","description":"Location facts for Germany over HTTP: measured values with their provenance (source, licence, freshness), a\nFlächencheck (area check) over a rule-set, parcel lookup and search, and geocoding.\n\n**Authentication.** Every operation except the keyless catalog (`GET /v1/catalog`, `/v1/catalog/fields`,\n`/v1/catalog/layers/{layer_id}`, `/v1/coverage`, `/v1/sources`, `/v1/prices`, `/v1/parcels/search/fields`)\nand this document needs the account's\ndata API key in the `X-API-Key` header. Keys belong on a server, never in a browser.\nAccount access-link requests and session exchanges are also keyless. Account reads accept either the key or\nan account session in `Authorization: Bearer <session_token>`; account management requires that session.\n\n**Money.** Every amount is an integer in micro-euros (1 EUR = 1000000), net. A billable operation (`x-billable`)\nanswers `X-Cost-Micros` (the same amount as `meta.cost_micros`). A keyed billable operation requires an\n`Idempotency-Key` header (8-128 characters of `[A-Za-z0-9_.:-]`): for 86400 seconds after the\nrequest finished (`x-idempotency-retention-seconds`), the identical request sent again with the same key returns the\nstored answer (`Idempotent-Replayed: true`) without a second charge, and another request with that key is refused\n(`IDEMPOTENCY_CONFLICT`); after that the key is free again and a request with it runs, and is charged, as a new one.\nA search page already charged is free on every later fetch of it. `max_cost_micros` (in the body, or the query of a\npage fetch) caps what one call may cost; above it nothing runs and nothing is charged (`MAX_COST_EXCEEDED`). The\nprices are at `GET /v1/prices`.\n\n**Errors.** Every error body is `{detail, code, retryable}`. `x-error-codes` at the top of this document lists every\ncode with its HTTP status; each response lists the codes it can carry. Resend unchanged only when `retryable` is true,\nafter `Retry-After` when it is given.\n\n**Limits.** A request whose `Content-Length` declares a body above 57671680 bytes\n(`x-max-request-body-bytes`) is refused before its body is read (`BODY_TOO_LARGE`); send bodies with a\n`Content-Length`. Rate limits per key, per account and per network address answer 429 with `Retry-After`;\n`X-RateLimit-*` report the window closest to its limit.\n\nCoordinates are WGS84 (EPSG:4326), longitude first. Every answered value travels in a provenance envelope\n(`envelope_version` dapi-2).","version":"0.1.0"},"paths":{"/v1/catalog":{"get":{"tags":["catalog"],"summary":"What the data API answers: operations, layers, field and source counts (keyless; detail after login)","description":"Without a credential: the public shape (access = public) — dataset names, categories and aggregate counts. With an account session (Authorization: Bearer) or an API key (X-API-Key): the full shape. A credential that is sent must be valid; it is never ignored.","operationId":"get_catalog","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CatalogDocument"},{"$ref":"#/components/schemas/PublicCatalogDocument"}],"title":"Response Get Catalog V1 Catalog Get"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true},"X-Catalog-Access":{"description":"Which shape the catalogue answered: public (no credential) or full (an account session or an API key). Answers also carry Vary: Authorization, X-API-Key; the full shape is private, no-store.","schema":{"type":"string","enum":["public","full"]},"required":true}}},"304":{"description":"Not modified: If-None-Match matched the current ETag (no body).","headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true},"X-Catalog-Access":{"description":"Which shape the catalogue answered: public (no credential) or full (an account session or an API key). Answers also carry Vary: Authorization, X-API-Key; the full shape is private, no-store.","schema":{"type":"string","enum":["public","full"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID, API_KEY_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID","API_KEY_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SESSION_REQUIRED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SESSION_REQUIRED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{},{"AccountSession":[]},{"APIKeyHeader":[]}]}},"/v1/catalog/fields":{"get":{"tags":["catalog"],"summary":"The field catalog of POST /v1/profile, filterable by category, territory and preset (after login)","description":"Without a credential: the public shape (access = public) — dataset names, categories and aggregate counts. With an account session (Authorization: Bearer) or an API key (X-API-Key): the full shape. A credential that is sent must be valid; it is never ignored. The public shape is the total field count; every filter needs a credential.","operationId":"get_catalog_fields","parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/FieldCategory"},{"type":"null"}],"description":"Only fields of this category.","title":"Category"},"description":"Only fields of this category."},{"name":"territory","in":"query","required":false,"schema":{"anyOf":[{"enum":["DE","DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"],"type":"string"},{"type":"null"}],"description":"Only fields answerable in this Land (DE-XX); DE = in every Land.","title":"Territory"},"description":"Only fields answerable in this Land (DE-XX); DE = in every Land."},{"name":"preset","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Preset"},{"type":"null"}],"description":"Only fields of this preset.","title":"Preset"},"description":"Only fields of this preset."},{"name":"include","in":"query","required":false,"schema":{"anyOf":[{"enum":["planned","readiness"],"type":"string"},{"type":"null"}],"description":"planned = add the declared fields without a reader (never answerable); readiness = add, per field and Land, why a field is not answerable there.","title":"Include"},"description":"planned = add the declared fields without a reader (never answerable); readiness = add, per field and Land, why a field is not answerable there."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CatalogFieldsDocument"},{"$ref":"#/components/schemas/PublicFieldsDocument"}],"title":"Response Get Catalog Fields V1 Catalog Fields Get"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true},"X-Catalog-Access":{"description":"Which shape the catalogue answered: public (no credential) or full (an account session or an API key). Answers also carry Vary: Authorization, X-API-Key; the full shape is private, no-store.","schema":{"type":"string","enum":["public","full"]},"required":true}}},"304":{"description":"Not modified: If-None-Match matched the current ETag (no body).","headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true},"X-Catalog-Access":{"description":"Which shape the catalogue answered: public (no credential) or full (an account session or an API key). Answers also carry Vary: Authorization, X-API-Key; the full shape is private, no-store.","schema":{"type":"string","enum":["public","full"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID, API_KEY_INVALID, CATALOG_LOGIN_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID","API_KEY_INVALID","CATALOG_LOGIN_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SESSION_REQUIRED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SESSION_REQUIRED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{},{"AccountSession":[]},{"APIKeyHeader":[]}]}},"/v1/catalog/datasets":{"get":{"tags":["catalog"],"summary":"Search datasets in the shared category tree (keyless browsing; search and detail after login)","description":"Without a credential: the public shape (access = public) — dataset names, categories and aggregate counts. With an account session (Authorization: Bearer) or an API key (X-API-Key): the full shape. A credential that is sent must be valid; it is never ignored. The public shape takes category, limit and offset; every other filter needs a credential.","operationId":"get_catalog_datasets","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Q"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"enum":["administrative","terrain","environment","planning","transport","energy","buildings","statistics","municipal"],"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"territory","in":"query","required":false,"schema":{"anyOf":[{"enum":["DE","DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"],"type":"string"},{"type":"null"}],"title":"Territory"}},{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/DataKind"},{"type":"null"}],"description":"Only datasets of this data kind.","title":"Kind"},"description":"Only datasets of this data kind."},{"name":"capability","in":"query","required":false,"schema":{"anyOf":[{"enum":["profile","distances"],"type":"string"},{"type":"null"}],"description":"Only datasets answerable through this operation.","title":"Capability"},"description":"Only datasets answerable through this operation."},{"name":"include","in":"query","required":false,"schema":{"anyOf":[{"const":"unavailable","type":"string"},{"type":"null"}],"description":"unavailable = add the catalog datasets not offered here, with per-Land reasons.","title":"Include"},"description":"unavailable = add the catalog datasets not offered here, with per-Land reasons."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":10000,"minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DatasetCatalogDocument"},{"$ref":"#/components/schemas/PublicDatasetsDocument"}],"title":"Response Get Catalog Datasets V1 Catalog Datasets Get"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true},"X-Catalog-Access":{"description":"Which shape the catalogue answered: public (no credential) or full (an account session or an API key). Answers also carry Vary: Authorization, X-API-Key; the full shape is private, no-store.","schema":{"type":"string","enum":["public","full"]},"required":true}}},"304":{"description":"Not modified: If-None-Match matched the current ETag (no body).","headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true},"X-Catalog-Access":{"description":"Which shape the catalogue answered: public (no credential) or full (an account session or an API key). Answers also carry Vary: Authorization, X-API-Key; the full shape is private, no-store.","schema":{"type":"string","enum":["public","full"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID, API_KEY_INVALID, CATALOG_LOGIN_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID","API_KEY_INVALID","CATALOG_LOGIN_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SESSION_REQUIRED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SESSION_REQUIRED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{},{"AccountSession":[]},{"APIKeyHeader":[]}]}},"/v1/catalog/layers/{layer_id}":{"get":{"tags":["catalog"],"summary":"One dataset: its fields, distance layers, sources and Länder (after login)","description":"Needs an account session (Authorization: Bearer) or an API key (X-API-Key); without one the answer is 401 CATALOG_LOGIN_REQUIRED, before any layer id is looked up (no existence oracle).","operationId":"get_catalog_layer","parameters":[{"name":"layer_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":63,"pattern":"^[a-z][a-z0-9_]{0,62}$","title":"Layer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogLayerDocument"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true},"X-Catalog-Access":{"description":"Which shape the catalogue answered: public (no credential) or full (an account session or an API key). Answers also carry Vary: Authorization, X-API-Key; the full shape is private, no-store.","schema":{"type":"string","enum":["public","full"]},"required":true}}},"304":{"description":"Not modified: If-None-Match matched the current ETag (no body).","headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true},"X-Catalog-Access":{"description":"Which shape the catalogue answered: public (no credential) or full (an account session or an API key). Answers also carry Vary: Authorization, X-API-Key; the full shape is private, no-store.","schema":{"type":"string","enum":["public","full"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID, API_KEY_INVALID, CATALOG_LOGIN_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID","API_KEY_INVALID","CATALOG_LOGIN_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SESSION_REQUIRED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SESSION_REQUIRED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{},{"AccountSession":[]},{"APIKeyHeader":[]}]}},"/v1/coverage":{"get":{"tags":["catalog"],"summary":"What is answerable in which Land, per category (keyless) and per layer and distance layer (after login)","description":"Without a credential: the public shape (access = public) — dataset names, categories and aggregate counts. With an account session (Authorization: Bearer) or an API key (X-API-Key): the full shape. A credential that is sent must be valid; it is never ignored.","operationId":"get_coverage","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CoverageDocument"},{"$ref":"#/components/schemas/PublicCoverageDocument"}],"title":"Response Get Coverage V1 Coverage Get"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true},"X-Catalog-Access":{"description":"Which shape the catalogue answered: public (no credential) or full (an account session or an API key). Answers also carry Vary: Authorization, X-API-Key; the full shape is private, no-store.","schema":{"type":"string","enum":["public","full"]},"required":true}}},"304":{"description":"Not modified: If-None-Match matched the current ETag (no body).","headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true},"X-Catalog-Access":{"description":"Which shape the catalogue answered: public (no credential) or full (an account session or an API key). Answers also carry Vary: Authorization, X-API-Key; the full shape is private, no-store.","schema":{"type":"string","enum":["public","full"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID, API_KEY_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID","API_KEY_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SESSION_REQUIRED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SESSION_REQUIRED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{},{"AccountSession":[]},{"APIKeyHeader":[]}]}},"/v1/sources":{"get":{"tags":["catalog"],"summary":"Every source behind the catalog: publisher, licence, attribution, vintage, last pull (after login)","description":"Without a credential: the public shape (access = public) — dataset names, categories and aggregate counts. With an account session (Authorization: Bearer) or an API key (X-API-Key): the full shape. A credential that is sent must be valid; it is never ignored. The public shape is the source count per licence.","operationId":"get_sources","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/SourcesDocument"},{"$ref":"#/components/schemas/PublicSourcesDocument"}],"title":"Response Get Sources V1 Sources Get"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true},"X-Catalog-Access":{"description":"Which shape the catalogue answered: public (no credential) or full (an account session or an API key). Answers also carry Vary: Authorization, X-API-Key; the full shape is private, no-store.","schema":{"type":"string","enum":["public","full"]},"required":true}}},"304":{"description":"Not modified: If-None-Match matched the current ETag (no body).","headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true},"X-Catalog-Access":{"description":"Which shape the catalogue answered: public (no credential) or full (an account session or an API key). Answers also carry Vary: Authorization, X-API-Key; the full shape is private, no-store.","schema":{"type":"string","enum":["public","full"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID, API_KEY_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID","API_KEY_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SESSION_REQUIRED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SESSION_REQUIRED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{},{"AccountSession":[]},{"APIKeyHeader":[]}]}},"/v1/prices":{"get":{"tags":["catalog"],"summary":"The current price list (net EUR, integer micros) (keyless)","operationId":"get_prices","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListDocument"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true}}},"304":{"description":"Not modified: If-None-Match matched the current ETag (no body).","headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[]}},"/v1/profile":{"post":{"tags":["profile"],"summary":"Profile a location: many measured values with their provenance, in one call","description":"A preset, a field list or both (GET /v1/catalog/fields) for a point (the default) or the Flurstück under it (subject.kind parcel). Every answered field comes in a provenance envelope; every other requested field is listed under not_covered with its reason. Charged once per location when at least one field is ok (the monthly free allowance first; a PVGIS field fetched live adds its surcharge; GET /v1/prices); an answer without an ok field and every refusal are free. A field whose lookup did not fit the call's time budget is failed (timeout, retryable) and the answer carries degraded: true; when no field could be answered at all the call is 504 OPERATION_TIMEOUT, free. Requires an Idempotency-Key. Locate with subject.kind point, address (q in the JSON body only), or fsk. An address evaluates its resolved point; ambiguous addresses return LOCATOR_AMBIGUOUS (422) with cleared candidates, and no match returns LOCATOR_NO_MATCH (422). Both are free. Geocoding adds the geocode unit (monthly free pool, then the price listed in GET /v1/prices) to the operation; max_cost_micros covers the sum. An FSK uses parcel lookup and its price, including the Bavarian unit and annual dedupe; unavailable cadastral rights return NOT_LICENSABLE. Profile and distances evaluate a point on the parcel surface; area-check evaluates the parcel at the parcel-mode price. Every refusal or fault releases all units. located_by and derived_point state how the subject was located.","operationId":"profile","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]{8,128}$","description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one.","title":"Idempotency-Key"},"description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":true},"X-Balance-Micros":{"description":"The account's prepaid balance after this call, in micro-euros (absent on a replay).","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"402":{"description":"INSUFFICIENT_CREDIT, MAX_COST_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INSUFFICIENT_CREDIT","MAX_COST_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"404":{"description":"NO_DATA","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NO_DATA"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"409":{"description":"IDEMPOTENCY_CONFLICT, IDEMPOTENCY_IN_FLIGHT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_FLIGHT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"422":{"description":"GEOCODE_BATCH_REFUSED, GEOCODE_NOT_AN_ADDRESS, LOCATOR_AMBIGUOUS, LOCATOR_NO_MATCH, NOT_LICENSABLE, VALIDATION_ERROR","content":{"application/json":{"examples":{"ambiguous":{"value":{"detail":"The address resolves to several similarly ranked candidates in different municipalities. Nothing was charged.","code":"LOCATOR_AMBIGUOUS","retryable":false,"ambiguous":true,"candidates":[{"point":{"longitude":8.14,"latitude":49.35},"match_class":"locality","display_name":"Neustadt","address":{"locality":"Neustadt"},"importance":0.6},{"point":{"longitude":10.81,"latitude":54.1},"match_class":"locality","display_name":"Neustadt","address":{"locality":"Neustadt"},"importance":0.6}],"attribution":[]}},"no_match":{"value":{"detail":"No usable point was found for the address. Nothing was evaluated or charged.","code":"LOCATOR_NO_MATCH","retryable":false}}},"schema":{"anyOf":[{"$ref":"#/components/schemas/ErrorBody"},{"$ref":"#/components/schemas/AmbiguousLocatorBody"},{"$ref":"#/components/schemas/NoMatchLocatorBody"}],"title":"Response 422 Profile V1 Profile Post"}}},"x-error-codes":["GEOCODE_BATCH_REFUSED","GEOCODE_NOT_AN_ADDRESS","LOCATOR_AMBIGUOUS","LOCATOR_NO_MATCH","NOT_LICENSABLE","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"429":{"description":"CONCURRENCY_LIMIT, DAILY_LIMIT, GEOCODE_THROTTLED, MONTHLY_LIMIT, NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_LIMIT","DAILY_LIMIT","GEOCODE_THROTTLED","MONTHLY_LIMIT","NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"CONCURRENCY_UNAVAILABLE, GEOCODE_UPSTREAM_UNAVAILABLE, OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_UNAVAILABLE","GEOCODE_UPSTREAM_UNAVAILABLE","OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"504":{"description":"OPERATION_TIMEOUT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_TIMEOUT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}}},"x-billable":"idempotency_key"}},"/v1/profile/batch":{"post":{"tags":["profile"],"summary":"Profile 1–25 subjects synchronously with one field selection","description":"Results are in input order with zero-based index and status ok or error (the v1 error body). Subjects are coordinates (point or Flurstück by coordinate) or FSK only. Address subjects are refused with 422 VALIDATION_ERROR: batch geocoding is forbidden. Each ok item costs its single-profile price, including the parcel-lookup unit per FSK item; failed and timed-out items are free. At most four items run concurrently. Items share a 25-second processing deadline. max_cost_micros bounds the entire batch, including possible live PVGIS surcharges. One Idempotency-Key covers the whole batch.","operationId":"profile_batch","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]{8,128}$","description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one.","title":"Idempotency-Key"},"description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileBatchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileBatchResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":true},"X-Balance-Micros":{"description":"The account's prepaid balance after this call, in micro-euros (absent on a replay).","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"402":{"description":"INSUFFICIENT_CREDIT, MAX_COST_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INSUFFICIENT_CREDIT","MAX_COST_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"404":{"description":"NO_DATA","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NO_DATA"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"409":{"description":"IDEMPOTENCY_CONFLICT, IDEMPOTENCY_IN_FLIGHT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_FLIGHT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"422":{"description":"NOT_LICENSABLE, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_LICENSABLE","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"429":{"description":"CONCURRENCY_LIMIT, DAILY_LIMIT, MONTHLY_LIMIT, NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_LIMIT","DAILY_LIMIT","MONTHLY_LIMIT","NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"CONCURRENCY_UNAVAILABLE, OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_UNAVAILABLE","OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"504":{"description":"OPERATION_TIMEOUT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_TIMEOUT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}}},"x-billable":"idempotency_key"}},"/v1/area-check":{"post":{"tags":["area-check"],"summary":"Flächencheck of a point, a Flurstück or a polygon","description":"Evaluates the exposable rules of the platform rule-set for the technology against the subject. Point mode is the default; Flurstück and polygon mode are opt-in via subject.kind and priced per subject (a large polygon counts twice; GET /v1/prices). Charged once per completed evaluation with at least one rule that reads data; NO_DATA, NOT_LICENSABLE and every refusal are free. Requires an Idempotency-Key. Locate with subject.kind point, address (q in the JSON body only), or fsk. An address evaluates its resolved point; ambiguous addresses return LOCATOR_AMBIGUOUS (422) with cleared candidates, and no match returns LOCATOR_NO_MATCH (422). Both are free. Geocoding adds the geocode unit (monthly free pool, then the price listed in GET /v1/prices) to the operation; max_cost_micros covers the sum. An FSK uses parcel lookup and its price, including the Bavarian unit and annual dedupe; unavailable cadastral rights return NOT_LICENSABLE. Profile and distances evaluate a point on the parcel surface; area-check evaluates the parcel at the parcel-mode price. Every refusal or fault releases all units. located_by and derived_point state how the subject was located.","operationId":"area_check","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]{8,128}$","description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one.","title":"Idempotency-Key"},"description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaCheckRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaCheckResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":true},"X-Balance-Micros":{"description":"The account's prepaid balance after this call, in micro-euros (absent on a replay).","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"402":{"description":"INSUFFICIENT_CREDIT, MAX_COST_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INSUFFICIENT_CREDIT","MAX_COST_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"404":{"description":"NO_DATA","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NO_DATA"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"409":{"description":"IDEMPOTENCY_CONFLICT, IDEMPOTENCY_IN_FLIGHT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_FLIGHT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"422":{"description":"GEOCODE_BATCH_REFUSED, GEOCODE_NOT_AN_ADDRESS, GEOMETRY_TOO_LARGE, LOCATOR_AMBIGUOUS, LOCATOR_NO_MATCH, NOT_LICENSABLE, VALIDATION_ERROR","content":{"application/json":{"examples":{"ambiguous":{"value":{"detail":"The address resolves to several similarly ranked candidates in different municipalities. Nothing was charged.","code":"LOCATOR_AMBIGUOUS","retryable":false,"ambiguous":true,"candidates":[{"point":{"longitude":8.14,"latitude":49.35},"match_class":"locality","display_name":"Neustadt","address":{"locality":"Neustadt"},"importance":0.6},{"point":{"longitude":10.81,"latitude":54.1},"match_class":"locality","display_name":"Neustadt","address":{"locality":"Neustadt"},"importance":0.6}],"attribution":[]}},"no_match":{"value":{"detail":"No usable point was found for the address. Nothing was evaluated or charged.","code":"LOCATOR_NO_MATCH","retryable":false}}},"schema":{"anyOf":[{"$ref":"#/components/schemas/ErrorBody"},{"$ref":"#/components/schemas/AmbiguousLocatorBody"},{"$ref":"#/components/schemas/NoMatchLocatorBody"}],"title":"Response 422 Area Check V1 Area Check Post"}}},"x-error-codes":["GEOCODE_BATCH_REFUSED","GEOCODE_NOT_AN_ADDRESS","GEOMETRY_TOO_LARGE","LOCATOR_AMBIGUOUS","LOCATOR_NO_MATCH","NOT_LICENSABLE","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"429":{"description":"CONCURRENCY_LIMIT, DAILY_LIMIT, GEOCODE_THROTTLED, MONTHLY_LIMIT, NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_LIMIT","DAILY_LIMIT","GEOCODE_THROTTLED","MONTHLY_LIMIT","NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"CONCURRENCY_UNAVAILABLE, GEOCODE_UPSTREAM_UNAVAILABLE, OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_UNAVAILABLE","GEOCODE_UPSTREAM_UNAVAILABLE","OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"504":{"description":"OPERATION_TIMEOUT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_TIMEOUT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}}},"x-billable":"idempotency_key"}},"/v1/parcels/lookup":{"post":{"tags":["parcels"],"summary":"Look up the Flurstück at a coordinate or under a Flurstückskennzeichen","operationId":"parcel_lookup","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]{8,128}$","description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one.","title":"Idempotency-Key"},"description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelLookupRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelLookupResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":true},"X-Balance-Micros":{"description":"The account's prepaid balance after this call, in micro-euros (absent on a replay).","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"402":{"description":"INSUFFICIENT_CREDIT, MAX_COST_EXCEEDED, PAID_CREDIT_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INSUFFICIENT_CREDIT","MAX_COST_EXCEEDED","PAID_CREDIT_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"404":{"description":"NO_DATA","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NO_DATA"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"409":{"description":"IDEMPOTENCY_CONFLICT, IDEMPOTENCY_IN_FLIGHT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_FLIGHT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"422":{"description":"NOT_LICENSABLE, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_LICENSABLE","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"429":{"description":"CONCURRENCY_LIMIT, DAILY_LIMIT, MONTHLY_LIMIT, NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_LIMIT","DAILY_LIMIT","MONTHLY_LIMIT","NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"CONCURRENCY_UNAVAILABLE, OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_UNAVAILABLE","OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"504":{"description":"OPERATION_TIMEOUT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_TIMEOUT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}}},"x-billable":"idempotency_key"}},"/v1/parcels/search":{"post":{"tags":["parcels"],"summary":"Run an interactive parcel search; page 1 comes with the run","operationId":"parcel_search","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]{8,128}$","description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one.","title":"Idempotency-Key"},"description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelSearchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelSearchResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":true},"X-Balance-Micros":{"description":"The account's prepaid balance after this call, in micro-euros (absent on a replay).","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"402":{"description":"INSUFFICIENT_CREDIT, MAX_COST_EXCEEDED, PAID_CREDIT_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INSUFFICIENT_CREDIT","MAX_COST_EXCEEDED","PAID_CREDIT_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"409":{"description":"IDEMPOTENCY_CONFLICT, IDEMPOTENCY_IN_FLIGHT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_FLIGHT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"422":{"description":"NOT_LICENSABLE, SEARCH_TOO_BROAD, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_LICENSABLE","SEARCH_TOO_BROAD","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"429":{"description":"CONCURRENCY_LIMIT, DAILY_LIMIT, MONTHLY_LIMIT, NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_LIMIT","DAILY_LIMIT","MONTHLY_LIMIT","NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"CONCURRENCY_UNAVAILABLE, OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_UNAVAILABLE","OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"504":{"description":"OPERATION_TIMEOUT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_TIMEOUT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}}},"x-billable":"idempotency_key"}},"/v1/parcels/search/{run_id}/pages/{page_no}":{"get":{"tags":["parcels"],"summary":"One page of a search run (charged once per page with at least one row; re-fetches are free)","operationId":"parcel_search_page","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"page_no","in":"path","required":true,"schema":{"type":"integer","maximum":1000,"minimum":1,"title":"Page No"}},{"name":"max_cost_micros","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":10000000000,"minimum":0},{"type":"null"}],"description":"Optional ceiling in micro-euros (1 EUR = 1000000) for what this call may cost. If its price would be higher, nothing runs and nothing is charged (MAX_COST_EXCEEDED). 0 accepts only free units.","title":"Max Cost Micros"},"description":"Optional ceiling in micro-euros (1 EUR = 1000000) for what this call may cost. If its price would be higher, nothing runs and nothing is charged (MAX_COST_EXCEEDED). 0 accepts only free units."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelSearchPageResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":true},"X-Balance-Micros":{"description":"The account's prepaid balance after this call, in micro-euros (absent on a replay).","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"402":{"description":"INSUFFICIENT_CREDIT, MAX_COST_EXCEEDED, PAID_CREDIT_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INSUFFICIENT_CREDIT","MAX_COST_EXCEEDED","PAID_CREDIT_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"409":{"description":"IDEMPOTENCY_CONFLICT, IDEMPOTENCY_IN_FLIGHT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_FLIGHT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"422":{"description":"NOT_LICENSABLE, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_LICENSABLE","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"429":{"description":"CONCURRENCY_LIMIT, DAILY_LIMIT, MONTHLY_LIMIT, NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_LIMIT","DAILY_LIMIT","MONTHLY_LIMIT","NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"CONCURRENCY_UNAVAILABLE, OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_UNAVAILABLE","OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"504":{"description":"OPERATION_TIMEOUT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_TIMEOUT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}}},"x-billable":"entitlement"}},"/v1/parcels/search/runs":{"post":{"tags":["parcels"],"summary":"Queue a parcel search as a durable run (free; pages are charged when fetched)","description":"For searches larger than one interactive call (SEARCH_TOO_BROAD on POST /v1/parcels/search). Admission is free and keyed: the same Idempotency-Key returns the same run with its current status; an identical search of this account still in flight (or answered in the last 24 h) is that run again. Read the status with GET /v1/parcels/search/runs/{run_id}; once it succeeded, fetch its pages (parcel_search_page per page). A run holds at most 5,000 members: run.completeness states when the persisted rows are not every match.","operationId":"parcel_search_run","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]{8,128}$","description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one.","title":"Idempotency-Key"},"description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelSearchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelSearchRunResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":true},"X-Balance-Micros":{"description":"The account's prepaid balance after this call, in micro-euros (absent on a replay).","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"402":{"description":"INSUFFICIENT_CREDIT, MAX_COST_EXCEEDED, PAID_CREDIT_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INSUFFICIENT_CREDIT","MAX_COST_EXCEEDED","PAID_CREDIT_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"409":{"description":"IDEMPOTENCY_CONFLICT, IDEMPOTENCY_IN_FLIGHT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_FLIGHT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"422":{"description":"NOT_LICENSABLE, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_LICENSABLE","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"429":{"description":"CONCURRENCY_LIMIT, DAILY_LIMIT, MONTHLY_LIMIT, NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_LIMIT","DAILY_LIMIT","MONTHLY_LIMIT","NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"CONCURRENCY_UNAVAILABLE, OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_UNAVAILABLE","OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"504":{"description":"OPERATION_TIMEOUT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_TIMEOUT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}}},"x-billable":"idempotency_key"}},"/v1/parcels/search/runs/{run_id}":{"get":{"tags":["parcels"],"summary":"The status of a queued search run (free; optionally waits for it to finish)","description":"Lifecycle, counts and completeness of one of this account's runs. wait_seconds (0-25, default 0) waits server-side until the run has finished (succeeded, failed or cancelled) or the time is up, and answers its status then; a run still queued or running when the wait ends is answered as it is. Free either way.","operationId":"parcel_search_run_status","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"wait_seconds","in":"query","required":false,"schema":{"type":"integer","maximum":25,"minimum":0,"description":"Wait up to this many seconds for the run to finish.","default":0,"title":"Wait Seconds"},"description":"Wait up to this many seconds for the run to finish."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelSearchRunResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"CONCURRENCY_LIMIT, NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_LIMIT","NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"CONCURRENCY_UNAVAILABLE, OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_UNAVAILABLE","OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}}}},"/v1/parcels/search/runs/{run_id}/cancel":{"post":{"tags":["parcels"],"summary":"Cancel a queued or running search run (free; a finished run is left unchanged)","operationId":"parcel_search_run_cancel","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParcelSearchRunCancelResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"CONCURRENCY_LIMIT, NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_LIMIT","NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"CONCURRENCY_UNAVAILABLE, OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_UNAVAILABLE","OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}}}},"/v1/parcels/search/runs/{run_id}/artifact":{"get":{"tags":["parcels"],"summary":"A succeeded run's persisted rows as one CSV (not priced yet: refused, free)","description":"The Data API counterpart of the SaaS MCP's search-run artifact. It has no price in any published pricing version, so it answers OPERATION_NOT_PRICED (422, free) before anything is claimed, charged or read. Read the run's pages with GET /v1/parcels/search/{run_id}/pages/{page_no} instead.","operationId":"parcel_search_run_artifact","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/csv":{"schema":{"type":"string"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"OPERATION_NOT_PRICED, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_NOT_PRICED","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}}}},"/v1/geocode":{"post":{"tags":["geocode"],"summary":"Geocode one German address","description":"One address (or place name) in Germany to at most five candidate points, each with its address, importance and match class, plus an ambiguity flag. One address per request, in the body: lists, several addresses in one string, coordinates and query strings are refused. 10,000 per Europe/Berlin month are free, then the price in GET /v1/prices; an answer without a candidate is free. A per-account daily ceiling applies (cached answers count).","operationId":"geocode","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]{8,128}$","description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one.","title":"Idempotency-Key"},"description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeocodeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeocodeResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":true},"X-Balance-Micros":{"description":"The account's prepaid balance after this call, in micro-euros (absent on a replay).","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"402":{"description":"INSUFFICIENT_CREDIT, MAX_COST_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INSUFFICIENT_CREDIT","MAX_COST_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"409":{"description":"IDEMPOTENCY_CONFLICT, IDEMPOTENCY_IN_FLIGHT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_FLIGHT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"422":{"description":"GEOCODE_BATCH_REFUSED, GEOCODE_NOT_AN_ADDRESS, NOT_LICENSABLE, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["GEOCODE_BATCH_REFUSED","GEOCODE_NOT_AN_ADDRESS","NOT_LICENSABLE","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"429":{"description":"DAILY_LIMIT, GEOCODE_THROTTLED, MONTHLY_LIMIT, NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["DAILY_LIMIT","GEOCODE_THROTTLED","MONTHLY_LIMIT","NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"GEOCODE_UPSTREAM_UNAVAILABLE, OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["GEOCODE_UPSTREAM_UNAVAILABLE","OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"504":{"description":"OPERATION_TIMEOUT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_TIMEOUT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}}},"x-billable":"idempotency_key"}},"/v1/distances":{"post":{"tags":["distances"],"summary":"Straight-line distance to the nearest feature per layer","description":"From one point (WGS84, longitude first) to the nearest feature of each requested layer: geodesic metres, the feature's class and, where its licence releases one, its label, each value in a provenance envelope. OSM-derived layers are derived_only (distance and class, never a name or a geometry; ODbL credit in meta.attribution). A straight line, never a route length or a drive time (listed under not_answered). Charged once per location when at least one layer is answered (the monthly free allowance first; GET /v1/prices); an answer without one and every refusal are free. Requires an Idempotency-Key. Locate with subject.kind point, address (q in the JSON body only), or fsk. An address evaluates its resolved point; ambiguous addresses return LOCATOR_AMBIGUOUS (422) with cleared candidates, and no match returns LOCATOR_NO_MATCH (422). Both are free. Geocoding adds the geocode unit (monthly free pool, then the price listed in GET /v1/prices) to the operation; max_cost_micros covers the sum. An FSK uses parcel lookup and its price, including the Bavarian unit and annual dedupe; unavailable cadastral rights return NOT_LICENSABLE. Profile and distances evaluate a point on the parcel surface; area-check evaluates the parcel at the parcel-mode price. Every refusal or fault releases all units. located_by and derived_point state how the subject was located.","operationId":"distances","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]{8,128}$","description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one.","title":"Idempotency-Key"},"description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistancesRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistancesResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":true},"X-Balance-Micros":{"description":"The account's prepaid balance after this call, in micro-euros (absent on a replay).","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"402":{"description":"INSUFFICIENT_CREDIT, MAX_COST_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INSUFFICIENT_CREDIT","MAX_COST_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"404":{"description":"NO_DATA","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NO_DATA"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"409":{"description":"IDEMPOTENCY_CONFLICT, IDEMPOTENCY_IN_FLIGHT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_FLIGHT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"422":{"description":"GEOCODE_BATCH_REFUSED, GEOCODE_NOT_AN_ADDRESS, LOCATOR_AMBIGUOUS, LOCATOR_NO_MATCH, NOT_LICENSABLE, VALIDATION_ERROR","content":{"application/json":{"examples":{"ambiguous":{"value":{"detail":"The address resolves to several similarly ranked candidates in different municipalities. Nothing was charged.","code":"LOCATOR_AMBIGUOUS","retryable":false,"ambiguous":true,"candidates":[{"point":{"longitude":8.14,"latitude":49.35},"match_class":"locality","display_name":"Neustadt","address":{"locality":"Neustadt"},"importance":0.6},{"point":{"longitude":10.81,"latitude":54.1},"match_class":"locality","display_name":"Neustadt","address":{"locality":"Neustadt"},"importance":0.6}],"attribution":[]}},"no_match":{"value":{"detail":"No usable point was found for the address. Nothing was evaluated or charged.","code":"LOCATOR_NO_MATCH","retryable":false}}},"schema":{"anyOf":[{"$ref":"#/components/schemas/ErrorBody"},{"$ref":"#/components/schemas/AmbiguousLocatorBody"},{"$ref":"#/components/schemas/NoMatchLocatorBody"}],"title":"Response 422 Distances V1 Distances Post"}}},"x-error-codes":["GEOCODE_BATCH_REFUSED","GEOCODE_NOT_AN_ADDRESS","LOCATOR_AMBIGUOUS","LOCATOR_NO_MATCH","NOT_LICENSABLE","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"429":{"description":"CONCURRENCY_LIMIT, DAILY_LIMIT, GEOCODE_THROTTLED, MONTHLY_LIMIT, NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_LIMIT","DAILY_LIMIT","GEOCODE_THROTTLED","MONTHLY_LIMIT","NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"CONCURRENCY_UNAVAILABLE, GEOCODE_UPSTREAM_UNAVAILABLE, OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_UNAVAILABLE","GEOCODE_UPSTREAM_UNAVAILABLE","OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"504":{"description":"OPERATION_TIMEOUT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_TIMEOUT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}}},"x-billable":"idempotency_key"}},"/v1/distances/matrix":{"post":{"tags":["distances"],"summary":"Straight-line distances between caller-supplied origins and destinations","description":"WGS84 geodesic metres and kilometres for each origins × destinations pair; longitude first. At most 100 points per axis and 2,500 pairs. Computation provenance applies to every cell; no source data or attribution. Drive time and route length are listed under not_answered. The first 100 pairs per call are unmetered; excess pairs form blocks of 10, rounded up, using the shared monthly distances allowance before EUR 0.001 per block (GET /v1/prices). Requires an Idempotency-Key. Invalid input is free.","operationId":"distance_matrix","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]{8,128}$","description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one.","title":"Idempotency-Key"},"description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistanceMatrixRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistanceMatrixResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":true},"X-Balance-Micros":{"description":"The account's prepaid balance after this call, in micro-euros (absent on a replay).","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"402":{"description":"INSUFFICIENT_CREDIT, MAX_COST_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INSUFFICIENT_CREDIT","MAX_COST_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"409":{"description":"IDEMPOTENCY_CONFLICT, IDEMPOTENCY_IN_FLIGHT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_FLIGHT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"429":{"description":"CONCURRENCY_LIMIT, DAILY_LIMIT, MONTHLY_LIMIT, NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_LIMIT","DAILY_LIMIT","MONTHLY_LIMIT","NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"CONCURRENCY_UNAVAILABLE, OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_UNAVAILABLE","OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"504":{"description":"OPERATION_TIMEOUT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_TIMEOUT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}}},"x-billable":"idempotency_key","x-max-pairs":2500}},"/v1/parcels/search/fields":{"get":{"tags":["parcels"],"summary":"Discover accepted parcel-search criteria (keyless, free)","description":"Fields, operators, units, enum domains and numeric bounds of the search definition. Criteria identify their step kind, dataset, and population or relation where required. Availability at a location is checked when searching.","operationId":"get_search_fields","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchFieldsDocument"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true}}},"304":{"description":"Not modified.","headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"ETag":{"description":"A strong tag of the exact body; send it as If-None-Match to get a 304.","schema":{"type":"string"},"required":true},"Cache-Control":{"description":"How long the answer may be kept.","schema":{"type":"string"},"required":true}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"x-free":true,"security":[]}},"/v1/operations/{request_id}":{"get":{"tags":["operations"],"summary":"Replay a retained operation after checking its rights (free)","description":"Returns the result's original shape with this call's request id and zero cost. Retention follows the original idempotency claim. A reused request id is refused as ambiguous; an unfinished operation is IDEMPOTENCY_IN_FLIGHT; a stored error or unknown producer is REQUEST_REJECTED. Supports every paid operation: profile, profile/batch (each child is rights-checked through its retained manifest), area-check, distances, distances/matrix (caller-coordinate computation, no licensed sources), geocode, parcel lookup, search and search pages, and shared feature queries (their sources and loaded copies are re-checked against the echoed query). Locator geocode and parcel sources are re-checked too.","operationId":"get_operation","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]{1,128}$","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","enum":[0]},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"NOT_FOUND, NO_DATA","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_FOUND","NO_DATA"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"IDEMPOTENCY_IN_FLIGHT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["IDEMPOTENCY_IN_FLIGHT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"NOT_LICENSABLE, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_LICENSABLE","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"504":{"description":"OPERATION_TIMEOUT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_TIMEOUT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}}},"x-free":true}},"/v1/field-requests":{"post":{"tags":["field-requests"],"summary":"Request missing data and receive a synchronous disposition (free)","operationId":"create_field_request","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldRequestInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldRequestResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","enum":[0]},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"APIKeyHeader":[]}],"x-free":true}},"/v1/field-requests/{id}":{"get":{"tags":["field-requests"],"summary":"Read your stored data request and disposition (free)","operationId":"get_field_request","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldRequestResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","enum":[0]},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"x-free":true}},"/v1/signup":{"post":{"tags":["signup"],"summary":"Signup","description":"Request a verification email. No account or key exists until email verification succeeds.","operationId":"signup","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupAccepted"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"SIGNUP_CAPTCHA_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["SIGNUP_CAPTCHA_FAILED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"SIGNUP_DOMAIN_LIMIT, SIGNUP_TERMS_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["SIGNUP_DOMAIN_LIMIT","SIGNUP_TERMS_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"SIGNUP_DISPOSABLE_DOMAIN, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["SIGNUP_DISPOSABLE_DOMAIN","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED, SIGNUP_RATE_LIMITED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED","SIGNUP_RATE_LIMITED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE, SIGNUP_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE","SIGNUP_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[]}},"/v1/signup/verify":{"post":{"tags":["signup"],"summary":"Verify Signup","description":"Verify an email and create the account. The first API key is returned once. Tokens cannot replay it.","operationId":"verify_signup","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifySignupRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupVerified"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED, SIGNUP_TOKEN_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED","SIGNUP_TOKEN_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"SIGNUP_DOMAIN_LIMIT, SIGNUP_TOKEN_CONSUMED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["SIGNUP_DOMAIN_LIMIT","SIGNUP_TOKEN_CONSUMED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"410":{"description":"SIGNUP_TOKEN_EXPIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["SIGNUP_TOKEN_EXPIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED, SIGNUP_RATE_LIMITED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED","SIGNUP_RATE_LIMITED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[]}},"/v1/signup/cognito":{"post":{"tags":["signup"],"summary":"Cognito Signup","description":"Create an account for an ENLAPA sign-in whose e-mail Cognito verified (the Data API console's ID token): the same (switchable) captcha, terms and abuse checks and the same provisioning and welcome credit as email verification, without the mail round. Answers 201 with the console session and the first API key (returned once; none with mint_key false). A resubmit by a sign-in that already owns an account answers 200 with that account's session, created false and no key (no second welcome credit, no second receipt). An address that already signed up under another identity answers 409 SIGNUP_ACCOUNT_EXISTS.","operationId":"cognito_signup","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CognitoSignupRequest"}}},"required":true},"responses":{"200":{"description":"A resubmit: the account this sign-in already owns.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CognitoSignupResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CognitoSignupResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"COGNITO_TOKEN_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["COGNITO_TOKEN_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"COGNITO_EMAIL_UNVERIFIED, SIGNUP_CAPTCHA_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["COGNITO_EMAIL_UNVERIFIED","SIGNUP_CAPTCHA_FAILED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"SIGNUP_ACCOUNT_EXISTS, SIGNUP_DOMAIN_LIMIT, SIGNUP_TERMS_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["SIGNUP_ACCOUNT_EXISTS","SIGNUP_DOMAIN_LIMIT","SIGNUP_TERMS_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"SESSION_TRANSPORT_UNAVAILABLE, SIGNUP_DISPOSABLE_DOMAIN, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["SESSION_TRANSPORT_UNAVAILABLE","SIGNUP_DISPOSABLE_DOMAIN","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED, SIGNUP_RATE_LIMITED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED","SIGNUP_RATE_LIMITED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"COGNITO_LOGIN_UNAVAILABLE, RATE_LIMITER_UNAVAILABLE, SIGNUP_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["COGNITO_LOGIN_UNAVAILABLE","RATE_LIMITER_UNAVAILABLE","SIGNUP_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[]}},"/v1/account/access-link":{"post":{"tags":["account"],"summary":"Request Account Access","operationId":"request_account_access","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessLinkRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Acknowledgement"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[]}},"/v1/account/session":{"get":{"tags":["account"],"summary":"Get Session Info","description":"Who is signed in: the verified e-mail, the sign-in method, the organisation and this session.","operationId":"get_session_info","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionInfoResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]},"post":{"tags":["account"],"summary":"Exchange Account Access","operationId":"exchange_account_access","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[]},"delete":{"tags":["account"],"summary":"Logout Account","operationId":"logout_account","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Acknowledgement"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]}},"/v1/account/session/cognito":{"post":{"tags":["account"],"summary":"Exchange Cognito Sign In","description":"Exchange the Data API console's Cognito ID token (ENLAPA sign-in) for an account session. Accounts bound to this sign-in open directly; an unbound account whose contact address equals the sign-in's VERIFIED e-mail is bound first. Several accounts answer `select_account` until the token is resent with an `account_id`. No account answers 404 ACCOUNT_NOT_FOUND (sign up with POST /v1/signup/cognito). The token is accepted for this exchange only — never as a credential on any other operation.","operationId":"exchange_cognito_sign_in","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CognitoSessionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CognitoLoginResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"COGNITO_TOKEN_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["COGNITO_TOKEN_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"COGNITO_EMAIL_UNVERIFIED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["COGNITO_EMAIL_UNVERIFIED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"ACCOUNT_NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"COGNITO_LOGIN_UNAVAILABLE, RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["COGNITO_LOGIN_UNAVAILABLE","RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[]}},"/v1/account":{"get":{"tags":["account"],"summary":"Get Account","operationId":"get_account","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID, API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID","API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SESSION_REQUIRED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SESSION_REQUIRED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]},{"APIKeyHeader":[]}]}},"/v1/account/usage":{"get":{"tags":["account"],"summary":"Get Account Usage","description":"Request history from the last 30 days, newest first.","operationId":"get_account_usage","security":[{"AccountSession":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","maximum":1000000,"minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":50,"title":"Page Size"}},{"name":"paid_only","in":"query","required":false,"schema":{"type":"boolean","description":"Only requests that were charged (dac §10.6).","default":false,"title":"Paid Only"},"description":"Only requests that were charged (dac §10.6)."},{"name":"transport","in":"query","required":false,"schema":{"anyOf":[{"enum":["rest","mcp","console"],"type":"string"},{"type":"null"}],"title":"Transport"}},{"name":"operation","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$"},{"type":"null"}],"title":"Operation"}},{"name":"language","in":"query","required":false,"schema":{"enum":["de","en"],"type":"string","description":"Language of the console label.","default":"de","title":"Language"},"description":"Language of the console label."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID, API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID","API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SESSION_REQUIRED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SESSION_REQUIRED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}}}},"/v1/account/transactions":{"get":{"tags":["account"],"summary":"Get Account Transactions","operationId":"get_account_transactions","security":[{"AccountSession":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","maximum":1000000,"minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":50,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionsResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID, API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID","API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SESSION_REQUIRED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SESSION_REQUIRED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}}}},"/v1/account/keys":{"get":{"tags":["account"],"summary":"Get Account Keys","operationId":"get_account_keys","security":[{"AccountSession":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","maximum":1000000,"minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":50,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeysResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}}},"post":{"tags":["account"],"summary":"Create Account Key","operationId":"create_account_key","security":[{"AccountSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKeyRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MintedKeyResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}}}},"/v1/account/keys/{key_id}/rotate":{"post":{"tags":["account"],"summary":"Rotate Account Key","operationId":"rotate_account_key","security":[{"AccountSession":[]}],"parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RotateKeyRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MintedKeyResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_KEY_NOT_ROTATABLE, ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_KEY_NOT_ROTATABLE","ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}}}},"/v1/account/keys/{key_id}":{"delete":{"tags":["account"],"summary":"Revoke Account Key","operationId":"revoke_account_key","security":[{"AccountSession":[]}],"parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Acknowledgement"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}}}},"/v1/account/limits":{"put":{"tags":["account"],"summary":"Put Account Limits","operationId":"put_account_limits","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_CAP_ABOVE_CEILING, ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_CAP_ABOVE_CEILING","ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]}},"/v1/account/topup":{"post":{"tags":["account"],"summary":"Topup Account","operationId":"topup_account","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopupRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopupResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"TOPUP_ABOVE_MAXIMUM, TOPUP_AMOUNT_INVALID, TOPUP_BELOW_MINIMUM, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["TOPUP_ABOVE_MAXIMUM","TOPUP_AMOUNT_INVALID","TOPUP_BELOW_MINIMUM","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE, TOPUP_NOT_CONFIGURED, TOPUP_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE","TOPUP_NOT_CONFIGURED","TOPUP_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]}},"/v1/account/plan":{"post":{"tags":["account"],"summary":"Start Account Plan","description":"Start a monthly plan (build EUR 49 or growth EUR 199 per month, NET plus VAT where applicable): answers a Stripe Checkout URL. Each paid monthly invoice credits its net amount to the balance; the plan's rpm and discount apply from the first paid invoice. 409 PLAN_ALREADY_ACTIVE while a plan is billing — switch it with POST /v1/account/plan/switch instead.","operationId":"start_account_plan","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanStartRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanCheckoutResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH, PLAN_ALREADY_ACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH","PLAN_ALREADY_ACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"PLAN_INVALID, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["PLAN_INVALID","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"BILLING_UNAVAILABLE, RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BILLING_UNAVAILABLE","RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]}},"/v1/account/plan/switch":{"post":{"tags":["account"],"summary":"Switch Account Plan","description":"Switch the monthly plan. Upgrade (build → growth) applies now: the prorated difference is invoiced and charged at once, credited to the balance like every paid plan invoice, and growth applies once it is paid. Downgrade (growth → build) applies at the next renewal: the paid period keeps growth. A switch also undoes a pending cancellation. 409 SUBSCRIPTION_NOT_ACTIVE while the first payment is pending or an invoice is unpaid.","operationId":"switch_account_plan","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanSwitchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanChangeResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"PLAN_NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["PLAN_NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH, PLAN_NOT_CANCELLING, PLAN_UNCHANGED, SUBSCRIPTION_NOT_ACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH","PLAN_NOT_CANCELLING","PLAN_UNCHANGED","SUBSCRIPTION_NOT_ACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"BILLING_UNAVAILABLE, RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BILLING_UNAVAILABLE","RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]}},"/v1/account/plan/cancel":{"post":{"tags":["account"],"summary":"Cancel Account Plan","description":"Cancel the monthly plan at the end of the paid period. Nothing credited is taken back; the balance stays and never expires. Undo with POST /v1/account/plan/resume before the period ends.","operationId":"cancel_account_plan","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanChangeResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"PLAN_NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["PLAN_NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH, PLAN_NOT_CANCELLING, PLAN_UNCHANGED, SUBSCRIPTION_NOT_ACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH","PLAN_NOT_CANCELLING","PLAN_UNCHANGED","SUBSCRIPTION_NOT_ACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"BILLING_UNAVAILABLE, RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BILLING_UNAVAILABLE","RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]}},"/v1/account/plan/resume":{"post":{"tags":["account"],"summary":"Resume Account Plan","description":"Undo a pending cancellation of the monthly plan.","operationId":"resume_account_plan","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanChangeResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"PLAN_NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["PLAN_NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH, PLAN_NOT_CANCELLING, PLAN_UNCHANGED, SUBSCRIPTION_NOT_ACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH","PLAN_NOT_CANCELLING","PLAN_UNCHANGED","SUBSCRIPTION_NOT_ACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"BILLING_UNAVAILABLE, RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BILLING_UNAVAILABLE","RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]}},"/v1/account/onboarding":{"get":{"tags":["account"],"summary":"Get Onboarding","description":"Where the agent setup stands. Every tick is derived from the setup key's own usage trail on this API (a 2xx with the key, an MCP initialize, a first data call) and never from a client's report.","operationId":"get_onboarding","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]},"post":{"tags":["account"],"summary":"Start Onboarding","description":"Start an agent setup: mints a normal data:read key named 'Agent setup <date>' (365 days, listed, rotatable and revocable like any key) and returns it ONCE for the copied setup prompt. A re-issue revokes the previous setup key only if it was never used. 409 ONBOARDING_COMPLETED once a setup succeeded, unless `again` is true. At most 5 per hour.","operationId":"start_onboarding","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MintOnboardingRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MintedOnboardingResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED, ACCOUNT_SUSPENDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED","ACCOUNT_SUSPENDED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH, ONBOARDING_COMPLETED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH","ONBOARDING_COMPLETED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]}},"/v1/account/onboarding/skip":{"post":{"tags":["account"],"summary":"Skip Onboarding","description":"'Set up later': a routing hint, not a lock — a skipped setup that later sees usage still progresses.","operationId":"skip_onboarding","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkipOnboardingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkipOnboardingResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]}},"/v1/account/playground/calls":{"post":{"tags":["account"],"summary":"Playground Call","description":"Run ONE allowlisted operation from the console without an API key in the browser: the platform mints a key for this call only (minutes long, never listed), dispatches the operation in-process and revokes the key. Metered exactly like a keyed call (free allowances first; Bavarian parcels need paid credit). The operation's own answer — status, contract headers and body — is returned under `upstream`.","operationId":"playground_call","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaygroundCallRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaygroundCallResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED, ACCOUNT_SUSPENDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED","ACCOUNT_SUSPENDED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"MAX_COST_REQUIRED, OPERATION_NOT_IN_PLAYGROUND, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["MAX_COST_REQUIRED","OPERATION_NOT_IN_PLAYGROUND","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, PLAYGROUND_RATE_LIMITED, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","PLAYGROUND_RATE_LIMITED","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"PLAYGROUND_DISABLED, RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["PLAYGROUND_DISABLED","RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]}},"/v1/account/usage/summary":{"get":{"tags":["account"],"summary":"Get Usage Summary","description":"The current Europe/Berlin month: balance, spend, free allowances used and spend per operation.","operationId":"get_usage_summary","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageSummaryResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID, API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID","API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SESSION_REQUIRED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SESSION_REQUIRED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]},{"APIKeyHeader":[]}]}},"/v1/account/invoices":{"get":{"tags":["account"],"summary":"Get Invoices","description":"The account's Stripe invoices (top-ups and plan periods), newest first. No URL: a PDF is minted on click with POST /v1/account/invoices/{invoice_id}/download.","operationId":"get_invoices","security":[{"AccountSession":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicesResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"BILLING_PROVIDER_UNAVAILABLE, RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BILLING_PROVIDER_UNAVAILABLE","RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}}}},"/v1/account/invoices/{invoice_id}/download":{"post":{"tags":["account"],"summary":"Download Invoice","description":"Mint the invoice's PDF link NOW (it expires): open it at once, never store it. An invoice of another customer answers 404.","operationId":"download_invoice","security":[{"AccountSession":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","pattern":"^(in|ch)_[A-Za-z0-9]{8,64}$","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceDownloadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceDownloadResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"BILLING_PROVIDER_UNAVAILABLE, RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BILLING_PROVIDER_UNAVAILABLE","RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}}}},"/v1/account/billing-portal":{"post":{"tags":["account"],"summary":"Open Billing Portal","description":"Open the Stripe Customer Portal (payment methods, billing address, VAT ID, invoices, cancelling the plan at period end). 409 BILLING_CUSTOMER_MISSING before the first payment.","operationId":"open_billing_portal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortalRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortalResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH, BILLING_CUSTOMER_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH","BILLING_CUSTOMER_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"BILLING_PORTAL_UNAVAILABLE, BILLING_PROVIDER_UNAVAILABLE, RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BILLING_PORTAL_UNAVAILABLE","BILLING_PROVIDER_UNAVAILABLE","RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]}},"/v1/account/organization":{"put":{"tags":["account"],"summary":"Put Organization","description":"Edit the organisation name and VAT ID (partial: an absent field keeps its value; vat_id null removes it). With a Stripe customer, its name and tax id follow (Stripe re-checks the VAT ID with VIES).","operationId":"put_organization","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR, VAT_ID_UNUSABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR","VAT_ID_UNUSABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"BILLING_PROVIDER_UNAVAILABLE, RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BILLING_PROVIDER_UNAVAILABLE","RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]}},"/v1/account/close":{"post":{"tags":["account"],"summary":"Close Account","description":"Close the account (typed confirmation = the organisation name): a live plan ends with its paid period, every key and session is revoked, contact data is anonymised. Bookings, terms receipts and invoices are kept by law; remaining PAID balance is refunded on request, never automatically.","operationId":"close_account","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"ACCOUNT_SESSION_INVALID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_SESSION_INVALID"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_NOT_CLOSABLE, ACCOUNT_SESSION_REQUIRED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_NOT_CLOSABLE","ACCOUNT_SESSION_REQUIRED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"409":{"description":"ACCOUNT_MISMATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_MISMATCH"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"CLOSE_CONFIRMATION_MISMATCH, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CLOSE_CONFIRMATION_MISMATCH","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"BILLING_PROVIDER_UNAVAILABLE, RATE_LIMITER_UNAVAILABLE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BILLING_PROVIDER_UNAVAILABLE","RATE_LIMITER_UNAVAILABLE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"AccountSession":[]}]}},"/v1/jobs":{"post":{"tags":["jobs"],"summary":"Queue up to 500 profile or area-check subjects","description":"Admission is free. Each item uses the single-item price and is charged only when ok. max_cost_micros is a per-item ceiling. Request rate caps apply to admission once; queued items wait through backpressure. Profile subjects use coordinates; area-check subjects use coordinates or geometry. Address geocoding is not available in jobs. Results are private to the API key that created the job.","operationId":"create_job","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProfileJobRequest"},{"$ref":"#/components/schemas/AreaCheckJobRequest"}],"title":"Body","discriminator":{"propertyName":"kind","mapping":{"profile_batch":"#/components/schemas/ProfileJobRequest","area_check_batch":"#/components/schemas/AreaCheckJobRequest"}}}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"GEOMETRY_TOO_LARGE, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["GEOMETRY_TOO_LARGE","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/jobs/{job_id}":{"get":{"tags":["jobs"],"summary":"Get Job","operationId":"get_job","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}}}},"/v1/jobs/{job_id}/artifacts/{format}":{"get":{"tags":["jobs"],"summary":"Stream the completed job's CSV or GeoJSON, with provenance and attribution","operationId":"job_artifact","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"format","in":"path","required":true,"schema":{"enum":["csv","geojson"],"type":"string","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"text/csv":{"schema":{"type":"string"}},"application/geo+json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_FOUND"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"422":{"description":"NOT_LICENSABLE, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_LICENSABLE","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"429":{"description":"NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}}}}},"/v1/features/query":{"post":{"tags":["features"],"summary":"Typed rows or aggregates of reviewed shared datasets (protected areas, water/flood, soils, heritage, planning, Gemeinden)","description":"Filters, a spatial operand, a projection and count/sum/avg aggregates over the reviewed shared datasets (describe them through the data MCP's describe tool or GET /v1/catalog/datasets). Rows are offered only for datasets with a real source identity; the others answer aggregates only. A rows page holds at most 50 rows and costs EUR 0.10; a zero-row page and a re-fetch of the same page of the same query and source generation are free. An aggregate costs EUR 0.02 per answered call, also when it has zero groups or zero counts. Both share one free allowance of 100 calls per Europe/Berlin calendar month (GET /v1/prices). Every delivered row counts towards the daily row ceiling, a free re-fetch included. A continuation is the same layer, filters, spatial operand, projection, order and page size over one source generation; changing any of them, or a source refresh, starts a new paid continuation. Page 2 onwards needs the previous answer's source_token. Counts describe acquired records, not proof of absence outside the source coverage. Requires an Idempotency-Key. Invalid input is free.","operationId":"feature_query","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]{8,128}$","description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one.","title":"Idempotency-Key"},"description":"Required on every billable operation: 8-128 characters of [A-Za-z0-9_.:-], unique per request. For 24 hours after the request finished, repeating the identical request with the same key returns the stored answer and is not charged again, and reusing the key for a different request is refused (IDEMPOTENCY_CONFLICT). After that the key is free again: a request sent with it runs, and is charged, as a new one."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureQueryBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureQueryResponse"}}},"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-Cost-Micros":{"description":"What this call cost, in micro-euros (the same as meta.cost_micros).","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":true},"X-Balance-Micros":{"description":"The account's prepaid balance after this call, in micro-euros (absent on a replay).","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Cache-Control":{"description":"Never to be kept by a shared cache: the answer is one caller's and is re-checked against the rights at every request.","schema":{"type":"string","enum":["no-store"]},"required":true}}},"400":{"description":"REQUEST_REJECTED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["REQUEST_REJECTED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"401":{"description":"API_KEY_INVALID, API_KEY_MISSING","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["API_KEY_INVALID","API_KEY_MISSING"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"402":{"description":"INSUFFICIENT_CREDIT, MAX_COST_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INSUFFICIENT_CREDIT","MAX_COST_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"403":{"description":"ACCOUNT_PAUSED, ACCOUNT_SUSPENDED, API_KEY_SCOPE_INVALID, TENANT_INACTIVE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["ACCOUNT_PAUSED","ACCOUNT_SUSPENDED","API_KEY_SCOPE_INVALID","TENANT_INACTIVE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"404":{"description":"NO_DATA","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NO_DATA"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"409":{"description":"IDEMPOTENCY_CONFLICT, IDEMPOTENCY_IN_FLIGHT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["IDEMPOTENCY_CONFLICT","IDEMPOTENCY_IN_FLIGHT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"413":{"description":"BODY_TOO_LARGE","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["BODY_TOO_LARGE"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"422":{"description":"NOT_LICENSABLE, OPERATION_NOT_PRICED, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["NOT_LICENSABLE","OPERATION_NOT_PRICED","VALIDATION_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}}}},"429":{"description":"CONCURRENCY_LIMIT, DAILY_LIMIT, MONTHLY_LIMIT, NETWORK_RATE_LIMIT, RATE_LIMIT_EXCEEDED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_LIMIT","DAILY_LIMIT","MONTHLY_LIMIT","NETWORK_RATE_LIMIT","RATE_LIMIT_EXCEEDED"],"headers":{"X-Request-Id":{"description":"This request's id, on every answer of the service; absent on NETWORK_RATE_LIMIT, which the edge answers.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"}},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Idempotent-Replayed":{"description":"Present on a stored answer (or a stored refusal) returned for a repeated request (the repeat itself costs nothing).","schema":{"type":"string","enum":["true"]}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"500":{"description":"INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["INTERNAL_ERROR"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}},"503":{"description":"CONCURRENCY_UNAVAILABLE, OPERATION_WITHDRAWN, RATE_LIMITER_UNAVAILABLE, SERVICE_PAUSED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["CONCURRENCY_UNAVAILABLE","OPERATION_WITHDRAWN","RATE_LIMITER_UNAVAILABLE","SERVICE_PAUSED"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}},"Retry-After":{"description":"Seconds to wait before resending (only on a refusal that says when to come back).","schema":{"type":"integer","minimum":1,"maximum":90000}}}},"504":{"description":"OPERATION_TIMEOUT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}},"x-error-codes":["OPERATION_TIMEOUT"],"headers":{"X-Request-Id":{"description":"This request's id (the same as meta.request_id on a success). An inbound X-Request-Id of this shape is echoed.","schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"required":true},"X-RateLimit-Limit":{"description":"The ceiling of the window closest to its limit.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Remaining":{"description":"What is left of that window.","schema":{"type":"integer","minimum":0}},"X-RateLimit-Reset":{"description":"When that window resets (Unix time, seconds).","schema":{"type":"integer","minimum":0}}}}},"x-billable":"idempotency_key","x-max-rows-per-page":50}}},"components":{"schemas":{"AcceptedRequest":{"properties":{"disposition":{"type":"string","const":"accepted","title":"Disposition","default":"accepted"},"meta":{"$ref":"#/components/schemas/ResponseMeta"},"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"request":{"$ref":"#/components/schemas/FieldRequestInput"}},"additionalProperties":false,"type":"object","required":["meta","id","created_at","request"],"title":"AcceptedRequest"},"AccessLinkRequest":{"properties":{"email":{"type":"string","maxLength":320,"format":"email","title":"Email"},"language":{"anyOf":[{"type":"string","enum":["de","en"]},{"type":"null"}],"title":"Language"}},"additionalProperties":false,"type":"object","required":["email"],"title":"AccessLinkRequest"},"AccountOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"balance_micros":{"type":"integer","title":"Balance Micros"},"status":{"type":"string","title":"Status"},"plan":{"type":"string","title":"Plan"},"paused":{"type":"boolean","title":"Paused"},"monthly_cap_micros":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Monthly Cap Micros"},"customer_monthly_cap_micros":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Monthly Cap Micros"},"operator_monthly_ceiling_micros":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Operator Monthly Ceiling Micros"},"daily_cap_micros":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Daily Cap Micros"},"month_spend_micros":{"type":"integer","title":"Month Spend Micros"},"plan_subscription":{"$ref":"#/components/schemas/PlanSubscriptionOut"},"tax_id":{"anyOf":[{"$ref":"#/components/schemas/TaxIdOut"},{"type":"null"}],"description":"Answered by GET /v1/account only. `unverified`: VIES could not confirm the number — check it."}},"type":"object","required":["id","balance_micros","status","plan","paused","monthly_cap_micros","customer_monthly_cap_micros","operator_monthly_ceiling_micros","daily_cap_micros","month_spend_micros","plan_subscription"],"title":"AccountOut"},"AccountResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"account":{"$ref":"#/components/schemas/AccountOut"}},"additionalProperties":false,"type":"object","required":["meta","account"],"title":"AccountResponse"},"Acknowledgement":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"accepted":{"type":"boolean","title":"Accepted","default":true}},"additionalProperties":false,"type":"object","required":["meta"],"title":"Acknowledgement"},"AddressLocator":{"properties":{"kind":{"type":"string","const":"address","title":"Kind"},"q":{"anyOf":[{"type":"string","maxLength":1000,"minLength":1},{"items":{"type":"string","maxLength":1000,"minLength":1},"type":"array","maxItems":100}],"title":"Q","description":"One German address or place name, in the body only; no batch or coordinates.","examples":["Unter den Linden 1, Berlin"]}},"additionalProperties":false,"type":"object","required":["kind","q"],"title":"AddressLocator"},"AgentClientOut":{"properties":{"client":{"type":"string","enum":["claude-code","codex","cursor","other"],"title":"Client"},"first_seen_at":{"type":"string","format":"date-time","title":"First Seen At"}},"additionalProperties":false,"type":"object","required":["client","first_seen_at"],"title":"AgentClientOut"},"AggregateMetric":{"properties":{"fn":{"type":"string","enum":["count","sum","avg","min","max"],"title":"Fn"},"field":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Field"}},"additionalProperties":false,"type":"object","required":["fn"],"title":"AggregateMetric"},"AmbiguousLocatorBody":{"properties":{"detail":{"type":"string","maxLength":1000,"minLength":1,"title":"Detail","description":"What went wrong, for a human."},"code":{"type":"string","const":"LOCATOR_AMBIGUOUS","title":"Code","default":"LOCATOR_AMBIGUOUS"},"retryable":{"type":"boolean","const":false,"title":"Retryable","default":false},"ambiguous":{"type":"boolean","const":true,"title":"Ambiguous","default":true},"candidates":{"items":{"$ref":"#/components/schemas/GeocodeCandidate"},"type":"array","maxItems":5,"minItems":2,"title":"Candidates"},"attribution":{"items":{"$ref":"#/components/schemas/AttributionEntry"},"type":"array","title":"Attribution"}},"additionalProperties":false,"type":"object","required":["detail","candidates","attribution"],"title":"AmbiguousLocatorBody"},"AreaCheckJobRequest":{"properties":{"max_cost_micros":{"anyOf":[{"type":"integer","maximum":10000000000.0,"minimum":0.0},{"type":"null"}],"title":"Max Cost Micros","description":"Optional ceiling in micro-euros (1 EUR = 1000000) for what this call may cost. If its price would be higher, nothing runs and nothing is charged (MAX_COST_EXCEEDED). 0 accepts only free units."},"kind":{"type":"string","const":"area_check_batch","title":"Kind"},"subjects":{"items":{"oneOf":[{"$ref":"#/components/schemas/PointSubject"},{"$ref":"#/components/schemas/ParcelSubject"},{"$ref":"#/components/schemas/GeometrySubject"}]},"type":"array","maxItems":500,"minItems":1,"title":"Subjects"},"technology":{"type":"string","enum":["pv","bess","wind"],"title":"Technology","default":"pv"}},"additionalProperties":false,"type":"object","required":["kind","subjects"],"title":"AreaCheckJobRequest"},"AreaCheckRequest":{"properties":{"max_cost_micros":{"anyOf":[{"type":"integer","maximum":10000000000.0,"minimum":0.0},{"type":"null"}],"title":"Max Cost Micros","description":"Optional ceiling in micro-euros (1 EUR = 1000000) for what this call may cost. If its price would be higher, nothing runs and nothing is charged (MAX_COST_EXCEEDED). 0 accepts only free units."},"subject":{"oneOf":[{"$ref":"#/components/schemas/PointSubject"},{"$ref":"#/components/schemas/ParcelSubject"},{"$ref":"#/components/schemas/GeometrySubject"},{"$ref":"#/components/schemas/AddressLocator"},{"$ref":"#/components/schemas/FskLocator"}],"title":"Subject","description":"What to evaluate. kind 'point' (the default when kind is left out) evaluates the coordinate itself; rules that need an area answer not_applicable (needs_area). kind 'parcel' evaluates the Flurstück containing the coordinate; kind 'geometry' a polygon you send. The answer's evaluated_subject states which one was evaluated.","examples":[{"kind":"point","latitude":52.517,"longitude":13.3889},{"kind":"address","q":"Unter den Linden 1, Berlin"},{"fsk":"160101000100001","kind":"fsk"}]},"technology":{"type":"string","enum":["pv","bess","wind"],"title":"Technology","description":"Which rule-set to run: ground-mounted PV (default), battery storage or wind.","default":"pv"}},"additionalProperties":false,"type":"object","required":["subject"],"title":"AreaCheckRequest"},"AreaCheckResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"technology":{"type":"string","enum":["pv","bess","wind"],"title":"Technology"},"evaluated_subject":{"$ref":"#/components/schemas/EvaluatedSubjectOut"},"territories":{"items":{"type":"string"},"type":"array","maxItems":16,"title":"Territories","description":"The Länder (ISO 3166-2) the subject lies in."},"location":{"anyOf":[{"$ref":"#/components/schemas/LocationOut"},{"type":"null"}],"description":"Additive (dapi-cm): where the evaluated point lies — ISO 3166-1 country, ISO 3166-2 subdivision (the German Land; null outside Germany) and what the API holds there (coverage). null when the point lies in no German Land and in no single other European country (the sea, outside Europe), and on answers stored before this field existed. For a parcel or polygon subject: the point on it the check evaluated."},"summary":{"$ref":"#/components/schemas/AreaCheckSummaryOut"},"rules":{"items":{"$ref":"#/components/schemas/RuleAnswer"},"type":"array","maxItems":500,"title":"Rules"},"not_applicable":{"items":{"$ref":"#/components/schemas/RuleNotAnswered"},"type":"array","maxItems":500,"title":"Not Applicable"},"not_covered":{"items":{"$ref":"#/components/schemas/RuleNotAnswered"},"type":"array","maxItems":500,"title":"Not Covered"},"failed":{"items":{"$ref":"#/components/schemas/RuleNotAnswered"},"type":"array","maxItems":500,"title":"Failed"},"degraded":{"type":"boolean","title":"Degraded","description":"True when some rule could not be answered right now (see failed)."}},"additionalProperties":false,"type":"object","required":["meta","technology","evaluated_subject","territories","summary","rules","not_applicable","not_covered","failed","degraded"],"title":"AreaCheckResponse"},"AreaCheckSummaryOut":{"properties":{"overall_status":{"type":"string","enum":["excluded","partially_excluded","restricted","no_coverage","partial_coverage","positive","clear"],"title":"Overall Status"},"has_exclusions":{"type":"boolean","title":"Has Exclusions"},"has_restrictions":{"type":"boolean","title":"Has Restrictions"},"has_positives":{"type":"boolean","title":"Has Positives"},"total_checks":{"type":"integer","minimum":0.0,"title":"Total Checks"},"exclusion_count":{"type":"integer","minimum":0.0,"title":"Exclusion Count"},"restriction_count":{"type":"integer","minimum":0.0,"title":"Restriction Count"},"positive_count":{"type":"integer","minimum":0.0,"title":"Positive Count"},"privileged_count":{"type":"integer","minimum":0.0,"title":"Privileged Count"},"eeg_count":{"type":"integer","minimum":0.0,"title":"Eeg Count"},"positive_signals":{"items":{"type":"string"},"type":"array","maxItems":50,"title":"Positive Signals"},"not_evaluated_count":{"type":"integer","minimum":0.0,"title":"Not Evaluated Count"},"not_applicable_count":{"type":"integer","minimum":0.0,"title":"Not Applicable Count"},"subject_area_ha":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Subject Area Ha"},"residual_red_ha":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Residual Red Ha"},"residual_red_yellow_ha":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Residual Red Yellow Ha"}},"additionalProperties":false,"type":"object","required":["overall_status","has_exclusions","has_restrictions","has_positives","total_checks","exclusion_count","restriction_count","positive_count","privileged_count","eeg_count","positive_signals","not_evaluated_count","not_applicable_count"],"title":"AreaCheckSummaryOut"},"AreaSpec":{"properties":{"dataset":{"type":"string","enum":["gemeinden","landkreise"],"title":"Dataset"},"ags":{"items":{"type":"string","pattern":"^[0-9]{5,8}$"},"type":"array","maxItems":20,"minItems":1,"title":"Ags"}},"additionalProperties":false,"type":"object","required":["dataset","ags"],"title":"AreaSpec"},"AreaTiers":{"properties":{"large_threshold_ha":{"type":"number","title":"Large Threshold Ha"},"large_multiplier":{"type":"integer","title":"Large Multiplier"},"max_ha":{"type":"number","title":"Max Ha"}},"additionalProperties":false,"type":"object","required":["large_threshold_ha","large_multiplier","max_ha"],"title":"AreaTiers"},"AttemptOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"skipped_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Skipped At"},"key":{"anyOf":[{"$ref":"#/components/schemas/OnboardingKeyOut"},{"type":"null"}],"description":"null once the key was deleted."},"key_verified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Key Verified At"},"mcp_connected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Mcp Connected At"},"first_call_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"First Call At"},"first_call":{"anyOf":[{"$ref":"#/components/schemas/FirstCallOut"},{"type":"null"}]},"agent_seen_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Agent Seen At"},"agent_clients":{"items":{"$ref":"#/components/schemas/AgentClientOut"},"type":"array","title":"Agent Clients"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"completed_via":{"anyOf":[{"type":"string","enum":["mcp","rest"]},{"type":"null"}],"title":"Completed Via"}},"additionalProperties":false,"type":"object","required":["id","created_at","skipped_at","key","key_verified_at","mcp_connected_at","first_call_at","first_call","agent_seen_at","agent_clients","completed_at","completed_via"],"title":"AttemptOut"},"AttributeStep":{"properties":{"label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Label"},"op":{"type":"string","const":"attribute","title":"Op","default":"attribute"},"column":{"type":"string","maxLength":64,"minLength":1,"title":"Column"},"operator":{"type":"string","enum":["lt","lte","gt","gte","eq","ne","between","in","not_in"],"title":"Operator"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"integer"},{"type":"boolean"},{"items":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"integer"},{"type":"boolean"}]},"type":"array"}],"title":"Value"},"value_max":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"integer"},{"type":"boolean"},{"type":"null"}],"title":"Value Max"}},"additionalProperties":false,"type":"object","required":["column","operator","value"],"title":"AttributeStep"},"AttributionEntry":{"properties":{"source_id":{"type":"string","maxLength":128,"minLength":1,"title":"Source Id","description":"Id of the source in GET /v1/sources."},"licence_id":{"type":"string","maxLength":64,"minLength":1,"title":"Licence Id","description":"Licence identifier, e.g. dl-de/by-2-0."},"text":{"type":"string","maxLength":500,"minLength":1,"title":"Text","description":"The attribution statement the licence requires."},"publisher":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Publisher"},"source_url":{"anyOf":[{"type":"string","maxLength":2048,"pattern":"^https?://"},{"type":"null"}],"title":"Source Url"},"notice":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Notice","description":"A licence notice, e.g. ODbL's."}},"additionalProperties":false,"type":"object","required":["source_id","licence_id","text"],"title":"AttributionEntry"},"Basis":{"type":"string","enum":["official_register","plan_in_force","plan_draft","operator_publication_nonbinding","osm_community","model","llm_extracted_draft"],"title":"Basis"},"BatchItemError":{"properties":{"index":{"type":"integer","maximum":24.0,"minimum":0.0,"title":"Index"},"status":{"type":"string","const":"error","title":"Status","default":"error"},"error":{"$ref":"#/components/schemas/ErrorBody"}},"additionalProperties":false,"type":"object","required":["index","error"],"title":"BatchItemError"},"BatchItemOk":{"properties":{"index":{"type":"integer","maximum":24.0,"minimum":0.0,"title":"Index"},"status":{"type":"string","const":"ok","title":"Status","default":"ok"},"subject":{"$ref":"#/components/schemas/SubjectOut"},"location":{"anyOf":[{"$ref":"#/components/schemas/LocationOut"},{"type":"null"}],"description":"Additive (dapi-cm): where the evaluated point lies — ISO 3166-1 country, ISO 3166-2 subdivision (the German Land; null outside Germany) and what the API holds there (coverage). null when the point lies in no German Land and in no single other European country (the sea, outside Europe), and on answers stored before this field existed."},"envelope_version":{"type":"string","enum":["dapi-1","dapi-2"],"title":"Envelope Version"},"fields":{"patternProperties":{"^[a-z][a-z0-9_]{0,63}$":{"$ref":"#/components/schemas/Envelope"}},"propertyNames":{"maxLength":64},"type":"object","title":"Fields"},"not_covered":{"items":{"$ref":"#/components/schemas/NotCoveredOut"},"type":"array","title":"Not Covered"},"field_evidence":{"anyOf":[{"patternProperties":{"^[a-z][a-z0-9_]{0,63}$":{"$ref":"#/components/schemas/FieldEvidenceOut"}},"type":"object"},{"type":"null"}],"title":"Field Evidence","description":"Optional, additive (dd-12): for answered administrative statistics (INKAR, municipality directory, tax rates, rent ordinances), the region and observation each value was joined on. Omitted when no answered field carries such evidence; it never changes an envelope."},"degraded":{"type":"boolean","title":"Degraded","description":"Present and true when at least one requested field could not be answered right now: its envelope is failed with its reason and retryable flag (timeout: the call's time budget ran out before that field's lookup, retryable). Every other field is complete; ask again for the failed ones. Omitted otherwise.","default":false}},"additionalProperties":false,"type":"object","required":["index","subject","envelope_version","fields","not_covered"],"title":"BatchItemOk"},"BeyondGermany":{"properties":{"dataset_id":{"type":"string","title":"Dataset Id"},"operations":{"items":{"type":"string"},"type":"array","title":"Operations","description":"The operations that answer it beyond Germany."},"territories":{"items":{"type":"string"},"type":"array","title":"Territories","description":"Its non-German coverage codes (EU = the member states)."}},"additionalProperties":false,"type":"object","required":["dataset_id","operations","territories"],"title":"BeyondGermany"},"BillingPortalRequest":{"properties":{"language":{"type":"string","enum":["de","en"],"title":"Language","default":"de"}},"additionalProperties":false,"type":"object","title":"BillingPortalRequest"},"BillingPortalResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"url":{"type":"string","title":"Url","description":"The Stripe Customer Portal session; redirect to it at once."}},"additionalProperties":false,"type":"object","required":["meta","url"],"title":"BillingPortalResponse"},"CatalogCategory":{"properties":{"id":{"type":"string","maxLength":128,"title":"Id"},"label_de":{"type":"string","maxLength":200,"title":"Label De"},"label_en":{"type":"string","maxLength":200,"title":"Label En"},"order":{"type":"integer","title":"Order"},"dataset_count":{"type":"integer","title":"Dataset Count"}},"additionalProperties":false,"type":"object","required":["id","label_de","label_en","order","dataset_count"],"title":"CatalogCategory"},"CatalogDataset":{"properties":{"dataset_id":{"type":"string","maxLength":128,"title":"Dataset Id"},"label_de":{"type":"string","maxLength":200,"title":"Label De"},"label_en":{"type":"string","maxLength":200,"title":"Label En"},"aliases":{"items":{"type":"string","maxLength":200},"type":"array","title":"Aliases"},"category_path":{"items":{"type":"string","maxLength":128},"type":"array","title":"Category Path"},"path":{"items":{"$ref":"#/components/schemas/CategoryCrumb"},"type":"array","title":"Path","description":"The category breadcrumb with its DE/EN labels, root first."},"data_kind":{"$ref":"#/components/schemas/DataKind"},"capabilities":{"items":{"type":"string","enum":["profile","distances"]},"type":"array","title":"Capabilities"},"field_ids":{"items":{"type":"string","maxLength":128},"type":"array","title":"Field Ids"},"distance_layer_ids":{"items":{"type":"string","maxLength":128},"type":"array","title":"Distance Layer Ids"},"territories":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Territories"},"source_ids":{"items":{"type":"string","maxLength":128},"type":"array","title":"Source Ids"},"detail_url":{"type":"string","maxLength":200,"title":"Detail Url"}},"additionalProperties":false,"type":"object","required":["dataset_id","label_de","label_en","aliases","category_path","path","data_kind","capabilities","field_ids","distance_layer_ids","territories","source_ids","detail_url"],"title":"CatalogDataset"},"CatalogDistanceLayer":{"properties":{"distance_layer_id":{"type":"string","title":"Distance Layer Id","description":"The id POST /v1/distances accepts."},"field":{"type":"string","title":"Field","description":"The answer's field name (straight-line metres to the nearest feature)."},"category":{"type":"string","title":"Category"},"basis":{"type":"string","title":"Basis"},"returns":{"items":{"type":"string","enum":["distance","class","name"]},"type":"array","title":"Returns","description":"What an answer carries in every listed Land (class and name only where the licence releases them)."},"derived_only":{"type":"boolean","title":"Derived Only","description":"Its source releases computed values only: an answer carries distance and class, never a name."},"territories":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Territories"},"source_ids":{"items":{"type":"string"},"type":"array","title":"Source Ids"},"layer_ids":{"items":{"type":"string"},"type":"array","title":"Layer Ids","description":"The datasets it measures against."}},"additionalProperties":false,"type":"object","required":["distance_layer_id","field","category","basis","returns","derived_only","territories","source_ids","layer_ids"],"title":"CatalogDistanceLayer"},"CatalogDocument":{"properties":{"catalog_version":{"type":"string","title":"Catalog Version"},"envelope_version":{"type":"string","title":"Envelope Version"},"pricing_version":{"type":"string","title":"Pricing Version"},"territories":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Territories"},"operations":{"items":{"$ref":"#/components/schemas/CatalogOperation"},"type":"array","title":"Operations"},"field_count":{"type":"integer","title":"Field Count"},"source_count":{"type":"integer","title":"Source Count"},"categories":{"items":{"$ref":"#/components/schemas/CountEntry"},"type":"array","title":"Categories"},"presets":{"items":{"$ref":"#/components/schemas/CountEntry"},"type":"array","title":"Presets"},"layers":{"items":{"$ref":"#/components/schemas/CatalogLayer"},"type":"array","title":"Layers"},"distance_layers":{"items":{"$ref":"#/components/schemas/CatalogDistanceLayer"},"type":"array","title":"Distance Layers"},"subjects":{"$ref":"#/components/schemas/Subjects"},"countries":{"items":{"$ref":"#/components/schemas/CountryCoverageOut"},"type":"array","title":"Countries","description":"Additive (dapi-cm): coverage per country (ISO 3166-1 alpha-2). DE first, with its 16 Länder as subdivisions (the per-Land detail is territories/categories/layers); then every other country where something is answered today — only the EU-wide datasets (coverage eu_wide_only). A location in any other European country is detected (location.country in every location answer) and answered not_covered with reason country_not_covered."},"links":{"$ref":"#/components/schemas/Links"}},"additionalProperties":false,"type":"object","required":["catalog_version","envelope_version","pricing_version","territories","operations","field_count","source_count","categories","presets","layers","distance_layers","subjects","links"],"title":"CatalogDocument"},"CatalogField":{"properties":{"field_id":{"type":"string","maxLength":64,"title":"Field Id","description":"The field's name in requests and answers."},"layer_id":{"type":"string","maxLength":64,"title":"Layer Id","description":"The dataset it is read from (GET /v1/catalog/layers/{layer_id})."},"category":{"$ref":"#/components/schemas/FieldCategory"},"value_type":{"$ref":"#/components/schemas/FieldType"},"value_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Value Schema","description":"Exact JSON Schema where a field has structured values or nullable array entries."},"unit":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Unit","description":"Unit of the value (ASCII), null for unitless values."},"multi":{"type":"boolean","title":"Multi","description":"True when the value is a list (several features at the point, a series)."},"output_form":{"type":"string","maxLength":64,"title":"Output Form","description":"The form the result leaves in: value, class, boolean, distance, or a reviewed row collection."},"support":{"type":"string","maxLength":64,"title":"Support","description":"What the value describes spatially (envelope `support`)."},"basis":{"type":"string","maxLength":64,"title":"Basis","description":"The legal weight of the value (envelope `basis`)."},"resolution_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Resolution M","description":"Spatial resolution in metres where the data has one."},"subject_kinds":{"items":{"type":"string","enum":["point","parcel"]},"type":"array","title":"Subject Kinds","description":"Subjects it answers on: a point, a Flurstück (parcel), or both."},"presets":{"items":{"$ref":"#/components/schemas/Preset"},"type":"array","title":"Presets","description":"The presets of POST /v1/profile that include it."},"description":{"$ref":"#/components/schemas/Description"},"territories":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Territories","description":"The Länder it is answerable in now (ISO 3166-2)."},"source_ids":{"items":{"type":"string","maxLength":128},"type":"array","title":"Source Ids","description":"The sources a value is read from there (GET /v1/sources)."},"licence_ids":{"items":{"type":"string","maxLength":128},"type":"array","title":"Licence Ids","description":"The licences of those sources."},"vintages":{"items":{"type":"string","maxLength":128},"type":"array","title":"Vintages","description":"The publishers' release dates of the loaded copies (ISO dates)."},"refresh_cycle":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Refresh Cycle","description":"How often ENLAPA reloads its slowest source; null if unknown."},"price_class":{"$ref":"#/components/schemas/PriceClass","description":"materialised, or pvgis (a live PVGIS fetch adds a surcharge)."},"price_operations":{"items":{"type":"string","maxLength":128},"type":"array","title":"Price Operations","description":"The units of GET /v1/prices one location of it is charged under."}},"additionalProperties":false,"type":"object","required":["field_id","layer_id","category","value_type","unit","multi","output_form","support","basis","resolution_m","subject_kinds","presets","description","territories","source_ids","licence_ids","vintages","refresh_cycle","price_class","price_operations"],"title":"CatalogField"},"CatalogFieldsDocument":{"properties":{"catalog_version":{"type":"string","maxLength":64,"title":"Catalog Version"},"filters":{"$ref":"#/components/schemas/FieldFilters"},"field_count":{"type":"integer","title":"Field Count"},"fields":{"items":{"$ref":"#/components/schemas/CatalogField"},"type":"array","title":"Fields"},"planned_fields":{"anyOf":[{"items":{"$ref":"#/components/schemas/PlannedField"},"type":"array"},{"type":"null"}],"title":"Planned Fields"},"readiness":{"anyOf":[{"items":{"$ref":"#/components/schemas/FieldReadiness"},"type":"array"},{"type":"null"}],"title":"Readiness"},"readiness_digest":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Readiness Digest","description":"Fingerprint of the readiness inputs (load records, sync stamps, physical schema)."},"unscoped_source_ids":{"anyOf":[{"items":{"type":"string","maxLength":128},"type":"array"},{"type":"null"}],"title":"Unscoped Source Ids","description":"Listed sources whose loaded copy never recorded a load scope (legacy, not a verified copy)."}},"additionalProperties":false,"type":"object","required":["catalog_version","filters","field_count","fields"],"title":"CatalogFieldsDocument"},"CatalogLayer":{"properties":{"layer_id":{"type":"string","title":"Layer Id"},"categories":{"items":{"type":"string"},"type":"array","title":"Categories"},"field_count":{"type":"integer","title":"Field Count"},"field_ids":{"items":{"type":"string"},"type":"array","title":"Field Ids"},"distance_layer_ids":{"items":{"type":"string"},"type":"array","title":"Distance Layer Ids"},"territories":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Territories"},"source_ids":{"items":{"type":"string"},"type":"array","title":"Source Ids"}},"additionalProperties":false,"type":"object","required":["layer_id","categories","field_count","field_ids","distance_layer_ids","territories","source_ids"],"title":"CatalogLayer"},"CatalogLayerDetail":{"properties":{"layer_id":{"type":"string","title":"Layer Id"},"categories":{"items":{"type":"string"},"type":"array","title":"Categories"},"field_count":{"type":"integer","title":"Field Count"},"field_ids":{"items":{"type":"string"},"type":"array","title":"Field Ids"},"distance_layer_ids":{"items":{"type":"string"},"type":"array","title":"Distance Layer Ids"},"territories":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Territories"},"source_ids":{"items":{"type":"string"},"type":"array","title":"Source Ids"},"fields":{"items":{"$ref":"#/components/schemas/CatalogField"},"type":"array","title":"Fields"},"distance_layers":{"items":{"$ref":"#/components/schemas/CatalogDistanceLayer"},"type":"array","title":"Distance Layers"},"sources":{"items":{"$ref":"#/components/schemas/CatalogSource"},"type":"array","title":"Sources"}},"additionalProperties":false,"type":"object","required":["layer_id","categories","field_count","field_ids","distance_layer_ids","territories","source_ids","fields","distance_layers","sources"],"title":"CatalogLayerDetail"},"CatalogLayerDocument":{"properties":{"catalog_version":{"type":"string","title":"Catalog Version"},"layer":{"$ref":"#/components/schemas/CatalogLayerDetail"}},"additionalProperties":false,"type":"object","required":["catalog_version","layer"],"title":"CatalogLayerDocument"},"CatalogOperation":{"properties":{"operation":{"type":"string","title":"Operation"},"routes":{"items":{"type":"string"},"type":"array","title":"Routes"},"status":{"type":"string","enum":["live","planned","withdrawn"],"title":"Status","description":"planned = declared for v1, not served yet; withdrawn = served, but currently refused for every account with 503 OPERATION_WITHDRAWN (the rest of the API keeps answering)."},"keyless":{"type":"boolean","title":"Keyless"},"subject_kinds":{"items":{"type":"string"},"type":"array","title":"Subject Kinds"},"price_operations":{"items":{"type":"string"},"type":"array","title":"Price Operations"}},"additionalProperties":false,"type":"object","required":["operation","routes","status","keyless","subject_kinds","price_operations"],"title":"CatalogOperation"},"CatalogSource":{"properties":{"source_id":{"type":"string","title":"Source Id"},"name":{"type":"string","title":"Name"},"publisher":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publisher"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"licence":{"$ref":"#/components/schemas/Licence"},"api_exposure":{"type":"string","title":"Api Exposure","description":"allowed, allowed_with_attribution or derived_only."},"output_forms":{"items":{"type":"string"},"type":"array","title":"Output Forms","description":"The forms a value of it may leave in."},"attribution":{"type":"string","title":"Attribution","description":"The credit every answer from it carries."},"notice":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notice","description":"A licence notice every answer from it carries as well."},"vintage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vintage","description":"The publisher's release date of the loaded copy (ISO date)."},"fetched_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fetched At","description":"When ENLAPA last pulled it; null for a live source."},"refresh_cycle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Cycle","description":"How often ENLAPA reloads it (live = per request)."},"territories":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Territories","description":"The Länder it backs a listed item in."},"layer_ids":{"items":{"type":"string"},"type":"array","title":"Layer Ids"}},"additionalProperties":false,"type":"object","required":["source_id","name","publisher","source_url","licence","api_exposure","output_forms","attribution","notice","vintage","fetched_at","refresh_cycle","territories","layer_ids"],"title":"CatalogSource"},"CategoryCrumb":{"properties":{"id":{"type":"string","maxLength":128,"title":"Id"},"label_de":{"type":"string","maxLength":200,"title":"Label De"},"label_en":{"type":"string","maxLength":200,"title":"Label En"}},"additionalProperties":false,"type":"object","required":["id","label_de","label_en"],"title":"CategoryCrumb"},"CloseRequest":{"properties":{"confirm_company":{"type":"string","maxLength":255,"minLength":1,"title":"Confirm Company","description":"The organisation name, typed exactly."},"reason":{"anyOf":[{"type":"string","enum":["too_expensive","missing_data","not_needed","switched_provider","other"]},{"type":"null"}],"title":"Reason","description":"Optional; analytics only."},"language":{"type":"string","enum":["de","en"],"title":"Language","description":"Language of the refund note.","default":"de"}},"additionalProperties":false,"type":"object","required":["confirm_company"],"title":"CloseRequest"},"CloseResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"accepted":{"type":"boolean","title":"Accepted","default":true},"closed_at":{"type":"string","format":"date-time","title":"Closed At"},"refund_note":{"type":"string","title":"Refund Note"}},"additionalProperties":false,"type":"object","required":["meta","closed_at","refund_note"],"title":"CloseResponse"},"CognitoAccountChoice":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"outcome":{"type":"string","const":"select_account","title":"Outcome","default":"select_account"},"accounts":{"items":{"$ref":"#/components/schemas/ConsoleAccountOut"},"type":"array","title":"Accounts"}},"additionalProperties":false,"type":"object","required":["meta","accounts"],"title":"CognitoAccountChoice"},"CognitoLoginResponse":{"oneOf":[{"$ref":"#/components/schemas/CognitoSessionResponse"},{"$ref":"#/components/schemas/CognitoAccountChoice"}],"title":"CognitoLoginResponse","discriminator":{"propertyName":"outcome","mapping":{"select_account":"#/components/schemas/CognitoAccountChoice","session":"#/components/schemas/CognitoSessionResponse"}}},"CognitoSessionRequest":{"properties":{"id_token":{"type":"string","maxLength":8192,"minLength":1,"title":"Id Token","description":"The Cognito ID token of the Data API console client (code flow + PKCE). Sent once; never stored."},"account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Account Id","description":"Which account to open when this sign-in owns several (see `select_account`)."},"session_transport":{"type":"string","enum":["bearer","cookie"],"title":"Session Transport","default":"bearer"}},"additionalProperties":false,"type":"object","required":["id_token"],"title":"CognitoSessionRequest"},"CognitoSessionResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"session_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Token","description":"The session token (Bearer). null when the session was set as the console cookie (D2)."},"token_type":{"type":"string","const":"Bearer","title":"Token Type","default":"Bearer"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"absolute_expires_at":{"type":"string","format":"date-time","title":"Absolute Expires At"},"outcome":{"type":"string","const":"session","title":"Outcome","default":"session"},"account_id":{"type":"string","format":"uuid","title":"Account Id"},"accounts":{"items":{"$ref":"#/components/schemas/ConsoleAccountOut"},"type":"array","title":"Accounts"}},"additionalProperties":false,"type":"object","required":["meta","session_token","expires_at","absolute_expires_at","account_id","accounts"],"title":"CognitoSessionResponse"},"CognitoSignupRequest":{"properties":{"id_token":{"type":"string","maxLength":8192,"minLength":1,"title":"Id Token"},"company":{"type":"string","maxLength":255,"minLength":1,"title":"Company"},"vat_id":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}[A-Za-z0-9]{2,30}$"},{"type":"null"}],"title":"Vat Id"},"terms_version":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._-]{0,39}$","title":"Terms Version"},"terms_sha256":{"type":"string","pattern":"^[0-9a-fA-F]{64}$","title":"Terms Sha256"},"captcha_token":{"anyOf":[{"type":"string","maxLength":4096,"minLength":1},{"type":"null"}],"title":"Captcha Token"},"language":{"type":"string","enum":["de","en"],"title":"Language","default":"de"},"business_declaration":{"anyOf":[{"type":"boolean","const":true},{"type":"null"}],"title":"Business Declaration","description":"The declaration 'I act as a business (§ 14 BGB)', stored with its time on the terms receipt."},"mint_key":{"type":"boolean","title":"Mint Key","description":"false = no first API key (the console mints an agent-setup key on onboarding).","default":true},"session_transport":{"type":"string","enum":["bearer","cookie"],"title":"Session Transport","default":"bearer"}},"additionalProperties":false,"type":"object","required":["id_token","company","terms_version","terms_sha256"],"title":"CognitoSignupRequest"},"CognitoSignupResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"session_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Token","description":"The session token (Bearer). null when the session was set as the console cookie (D2)."},"token_type":{"type":"string","const":"Bearer","title":"Token Type","default":"Bearer"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"absolute_expires_at":{"type":"string","format":"date-time","title":"Absolute Expires At"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"account_id":{"type":"string","format":"uuid","title":"Account Id"},"created":{"type":"boolean","title":"Created","default":true},"api_key":{"anyOf":[{"$ref":"#/components/schemas/SignupKey"},{"type":"null"}],"description":"The first key, once; null with mint_key false or created false."}},"additionalProperties":false,"type":"object","required":["meta","session_token","expires_at","absolute_expires_at","tenant_id","account_id","api_key"],"title":"CognitoSignupResponse"},"ComputationProvenance":{"properties":{"method":{"type":"string","const":"inverse_geodesic","title":"Method"},"ellipsoid":{"type":"string","const":"WGS84","title":"Ellipsoid"},"semi_major_axis_m":{"type":"number","exclusiveMinimum":0.0,"title":"Semi Major Axis M"},"inverse_flattening":{"type":"number","exclusiveMinimum":0.0,"title":"Inverse Flattening"},"crs":{"type":"string","const":"EPSG:4326","title":"Crs"},"coordinate_order":{"type":"string","const":"longitude_latitude","title":"Coordinate Order"}},"additionalProperties":false,"type":"object","required":["method","ellipsoid","semi_major_axis_m","inverse_flattening","crs","coordinate_order"],"title":"ComputationProvenance"},"ConsoleAccountOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"additionalProperties":false,"type":"object","required":["id","name","created_at"],"title":"ConsoleAccountOut"},"Coordinate":{"properties":{"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude"}},"additionalProperties":false,"type":"object","required":["longitude","latitude"],"title":"Coordinate"},"CountEntry":{"properties":{"name":{"type":"string","title":"Name"},"field_count":{"type":"integer","title":"Field Count"}},"additionalProperties":false,"type":"object","required":["name","field_count"],"title":"CountEntry"},"CountWithinStep":{"properties":{"label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Label"},"op":{"type":"string","const":"count_within","title":"Op","default":"count_within"},"dataset":{"type":"string","maxLength":64,"minLength":1,"title":"Dataset"},"radius_m":{"type":"number","maximum":50000.0,"exclusiveMinimum":0.0,"title":"Radius M"},"operator":{"type":"string","enum":["lt","lte","gt","gte","eq","ne","between"],"title":"Operator"},"value":{"type":"number","title":"Value"},"value_max":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value Max"},"feature_filter":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Feature Filter"}},"additionalProperties":false,"type":"object","required":["dataset","radius_m","operator","value"],"title":"CountWithinStep"},"CountryCoverageOut":{"properties":{"country":{"type":"string","pattern":"^[A-Z]{2}$","title":"Country","description":"ISO 3166-1 alpha-2 country code."},"coverage":{"type":"string","enum":["germany","eu_wide_only"],"title":"Coverage","description":"germany: the v1 data, per Land. eu_wide_only: only the EU-wide datasets listed here."},"boundary":{"type":"string","enum":["official","approximate"],"title":"Boundary","description":"How a location is assigned to this country: official Länder (DE) or Natural Earth borders."},"subdivisions":{"items":{"type":"string"},"type":"array","title":"Subdivisions","description":"ISO 3166-2 subdivisions resolved in locations (DE: the 16 Länder)."},"operations":{"items":{"type":"string"},"type":"array","title":"Operations","description":"The operations that answer locations in this country."},"field_count":{"type":"integer","minimum":0.0,"title":"Field Count","description":"Profile fields answerable in this country."},"fields":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Fields","description":"The profile fields answerable here (outside Germany; null for DE — see categories.by_territory — and in the public document)."},"datasets":{"anyOf":[{"items":{"$ref":"#/components/schemas/CountryDataset"},"type":"array"},{"type":"null"}],"title":"Datasets","description":"The datasets answered here and by which operations (outside Germany; null for DE — see layers)."}},"additionalProperties":false,"type":"object","required":["country","coverage","boundary","subdivisions","operations","field_count","fields","datasets"],"title":"CountryCoverageOut"},"CountryDataset":{"properties":{"dataset_id":{"type":"string","title":"Dataset Id"},"operations":{"items":{"type":"string"},"type":"array","title":"Operations"}},"additionalProperties":false,"type":"object","required":["dataset_id","operations"],"title":"CountryDataset"},"CoverageCategory":{"properties":{"category":{"$ref":"#/components/schemas/FieldCategory"},"field_count":{"type":"integer","title":"Field Count","description":"Fields of the category answerable in at least one Land."},"by_territory":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Territory","description":"Land → fields of the category answerable there."}},"additionalProperties":false,"type":"object","required":["category","field_count","by_territory"],"title":"CoverageCategory"},"CoverageDistanceLayer":{"properties":{"distance_layer_id":{"type":"string","title":"Distance Layer Id"},"territories":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Territories"}},"additionalProperties":false,"type":"object","required":["distance_layer_id","territories"],"title":"CoverageDistanceLayer"},"CoverageDocument":{"properties":{"catalog_version":{"type":"string","title":"Catalog Version"},"territories":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Territories"},"categories":{"items":{"$ref":"#/components/schemas/CoverageCategory"},"type":"array","title":"Categories"},"layers":{"items":{"$ref":"#/components/schemas/CoverageLayer"},"type":"array","title":"Layers"},"distance_layers":{"items":{"$ref":"#/components/schemas/CoverageDistanceLayer"},"type":"array","title":"Distance Layers"},"subjects":{"$ref":"#/components/schemas/Subjects"},"not_covered":{"items":{"$ref":"#/components/schemas/NotCovered"},"type":"array","title":"Not Covered","description":"Categories with no answerable field anywhere."},"countries":{"items":{"$ref":"#/components/schemas/CountryCoverageOut"},"type":"array","title":"Countries","description":"Additive (dapi-cm): coverage per country (ISO 3166-1 alpha-2). DE first, with its 16 Länder as subdivisions (the per-Land detail is territories/categories/layers); then every other country where something is answered today — only the EU-wide datasets (coverage eu_wide_only). A location in any other European country is detected (location.country in every location answer) and answered not_covered with reason country_not_covered."},"beyond_germany":{"items":{"$ref":"#/components/schemas/BeyondGermany"},"type":"array","title":"Beyond Germany","description":"Deprecated alias of countries (dapi-cm): the datasets the feature query also answers outside Germany. Use countries, which also lists the profile fields answered there.","deprecated":true}},"additionalProperties":false,"type":"object","required":["catalog_version","territories","categories","layers","distance_layers","subjects","not_covered","beyond_germany"],"title":"CoverageDocument"},"CoverageLayer":{"properties":{"layer_id":{"type":"string","title":"Layer Id"},"territories":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Territories"}},"additionalProperties":false,"type":"object","required":["layer_id","territories"],"title":"CoverageLayer"},"CreateKeyRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name","default":"Data API"},"expires_in_days":{"type":"integer","maximum":365.0,"minimum":1.0,"title":"Expires In Days","default":365}},"additionalProperties":false,"type":"object","title":"CreateKeyRequest"},"DataKind":{"type":"string","enum":["features","area","line","point","numeric_grid","raster","table","live"],"title":"DataKind"},"DatasetCatalogDocument":{"properties":{"catalog_version":{"type":"string","maxLength":64,"title":"Catalog Version"},"filters":{"$ref":"#/components/schemas/DatasetFilters"},"categories":{"items":{"$ref":"#/components/schemas/CatalogCategory"},"type":"array","title":"Categories"},"datasets":{"items":{"$ref":"#/components/schemas/CatalogDataset"},"type":"array","title":"Datasets"},"total":{"type":"integer","title":"Total"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"},"unavailable":{"anyOf":[{"items":{"$ref":"#/components/schemas/UnavailableDataset"},"type":"array"},{"type":"null"}],"title":"Unavailable"}},"additionalProperties":false,"type":"object","required":["catalog_version","filters","categories","datasets","total","next_offset"],"title":"DatasetCatalogDocument"},"DatasetFilters":{"properties":{"q":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Q"},"category":{"anyOf":[{"type":"string","enum":["administrative","terrain","environment","planning","transport","energy","buildings","statistics","municipal"]},{"type":"null"}],"title":"Category"},"territory":{"anyOf":[{"type":"string","enum":["DE","DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},{"type":"null"}],"title":"Territory"},"kind":{"anyOf":[{"$ref":"#/components/schemas/DataKind"},{"type":"null"}]},"capability":{"anyOf":[{"type":"string","enum":["profile","distances"]},{"type":"null"}],"title":"Capability"},"include":{"anyOf":[{"type":"string","const":"unavailable"},{"type":"null"}],"title":"Include"},"limit":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Limit","default":50},"offset":{"type":"integer","maximum":10000.0,"minimum":0.0,"title":"Offset","default":0}},"additionalProperties":false,"type":"object","title":"DatasetFilters"},"Dedupe":{"properties":{"key":{"type":"string","title":"Key"},"scope":{"type":"string","title":"Scope"},"period":{"type":"string","title":"Period"},"time_zone":{"type":"string","title":"Time Zone"}},"additionalProperties":false,"type":"object","required":["key","scope","period","time_zone"],"title":"Dedupe"},"Derivation":{"properties":{"method":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","title":"Method"},"inputs":{"items":{"type":"string","pattern":"^[a-z0-9][a-z0-9_.-]{0,127}$"},"type":"array","maxItems":32,"minItems":1,"title":"Inputs"}},"additionalProperties":false,"type":"object","required":["method","inputs"],"title":"Derivation"},"Description":{"properties":{"de":{"type":"string","maxLength":10000,"title":"De","description":"German description."},"en":{"type":"string","maxLength":10000,"title":"En","description":"English description."}},"additionalProperties":false,"type":"object","required":["de","en"],"title":"Description"},"DistanceLayerAnswer":{"properties":{"layer_id":{"type":"string","maxLength":64,"title":"Layer Id","description":"The layer, as requested."},"field":{"type":"string","maxLength":64,"title":"Field","description":"The value's field name: distance_<layer_id>_m."},"distance_m":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Distance M","description":"Geodesic metres (WGS84) to the nearest feature; 0.0 inside a polygon. Set exactly when envelope.status is 'ok'. A straight line: not a route length, not a travel time."},"feature_class":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Feature Class","description":"The nearest feature's class, when released."},"feature_name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Feature Name","description":"The nearest feature's label, when released."},"feature_name_attribute":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Feature Name Attribute","description":"What feature_name is (e.g. name or road_number); set exactly when it is."},"derived_only":{"type":"boolean","title":"Derived Only","description":"True for a source released as derived values only (OSM, ODbL): distance and class, never a name, a geometry or a row."},"territories":{"items":{"type":"string"},"type":"array","maxItems":16,"title":"Territories","description":"The Länder (ISO 3166-2) the value speaks about; empty when it is not answered."},"envelope":{"$ref":"#/components/schemas/Envelope"}},"additionalProperties":false,"type":"object","required":["layer_id","field","distance_m","feature_class","feature_name","feature_name_attribute","derived_only","territories","envelope"],"title":"DistanceLayerAnswer"},"DistanceMatrixRequest":{"properties":{"origins":{"items":{"prefixItems":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"number","maximum":90.0,"minimum":-90.0}],"type":"array","maxItems":2,"minItems":2},"type":"array","maxItems":100,"minItems":1,"title":"Origins","description":"Origins as WGS84 [longitude, latitude]; at most 2,500 origins × destinations pairs."},"destinations":{"items":{"prefixItems":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"number","maximum":90.0,"minimum":-90.0}],"type":"array","maxItems":2,"minItems":2},"type":"array","maxItems":100,"minItems":1,"title":"Destinations","description":"Destinations as WGS84 [longitude, latitude], in column order."},"max_cost_micros":{"anyOf":[{"type":"integer","maximum":10000000000.0,"minimum":0.0},{"type":"null"}],"title":"Max Cost Micros","description":"Optional ceiling in micro-euros (1 EUR = 1000000) for what this call may cost. If its price would be higher, nothing runs and nothing is charged (MAX_COST_EXCEEDED). 0 accepts only free units."}},"additionalProperties":false,"type":"object","required":["origins","destinations"],"title":"DistanceMatrixRequest"},"DistanceMatrixResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"origins":{"items":{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2},"type":"array","maxItems":100,"minItems":1,"title":"Origins"},"destinations":{"items":{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2},"type":"array","maxItems":100,"minItems":1,"title":"Destinations"},"envelope_version":{"type":"string","enum":["dapi-1","dapi-2"],"title":"Envelope Version"},"matrix":{"items":{"items":{"$ref":"#/components/schemas/MatrixCell"},"type":"array","maxItems":100,"minItems":1},"type":"array","maxItems":100,"minItems":1,"title":"Matrix","description":"matrix[i][j] measures origins[i] to destinations[j], including duplicate points."},"provenance":{"$ref":"#/components/schemas/ComputationProvenance","description":"Computation provenance shared by every matrix cell."},"not_answered":{"items":{"$ref":"#/components/schemas/NotAnsweredItem"},"type":"array","maxItems":16,"title":"Not Answered"}},"additionalProperties":false,"type":"object","required":["meta","origins","destinations","envelope_version","matrix","provenance","not_answered"],"title":"DistanceMatrixResponse"},"DistanceStep":{"properties":{"label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Label"},"op":{"type":"string","const":"distance","title":"Op","default":"distance"},"dataset":{"type":"string","maxLength":64,"minLength":1,"title":"Dataset"},"operator":{"type":"string","enum":["lt","lte","gt","gte","eq","ne","between"],"title":"Operator"},"value":{"type":"number","title":"Value"},"value_max":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value Max"},"unit":{"type":"string","enum":["m","km"],"title":"Unit","default":"m"},"feature_filter":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Feature Filter"},"measure":{"type":"boolean","title":"Measure","default":false}},"additionalProperties":false,"type":"object","required":["dataset","operator","value"],"title":"DistanceStep"},"DistanceSubject":{"properties":{"located_by":{"type":"string","enum":["point","address","fsk","geometry"],"title":"Located By"},"derived_point":{"$ref":"#/components/schemas/GeocodePoint"},"point_derivation":{"type":"string","enum":["coordinate","geocode","point_on_surface"],"title":"Point Derivation"},"match_class":{"anyOf":[{"$ref":"#/components/schemas/MatchClass"},{"type":"null"}]},"ambiguous":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ambiguous"},"fsk":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Fsk"},"kind":{"type":"string","const":"point","title":"Kind","default":"point"}},"additionalProperties":false,"type":"object","required":["located_by","derived_point","point_derivation"],"title":"DistanceSubject"},"DistancesRequest":{"oneOf":[{"properties":{"point":{"type":"array"}},"required":["point"]},{"properties":{"subject":{"type":"object"}},"required":["subject"]}],"properties":{"max_cost_micros":{"anyOf":[{"type":"integer","maximum":10000000000.0,"minimum":0.0},{"type":"null"}],"title":"Max Cost Micros","description":"Optional ceiling in micro-euros (1 EUR = 1000000) for what this call may cost. If its price would be higher, nothing runs and nothing is charged (MAX_COST_EXCEEDED). 0 accepts only free units."},"subject":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/PointLocator"},{"$ref":"#/components/schemas/AddressLocator"},{"$ref":"#/components/schemas/FskLocator"}],"discriminator":{"propertyName":"kind","mapping":{"address":"#/components/schemas/AddressLocator","fsk":"#/components/schemas/FskLocator","point":"#/components/schemas/PointLocator"}}},{"type":"null"}],"title":"Subject","description":"One point, address or FSK; give subject or point, never both.","examples":[{"kind":"point","latitude":52.517,"longitude":13.3889},{"kind":"address","q":"Unter den Linden 1, Berlin"},{"fsk":"160101000100001","kind":"fsk"}]},"point":{"anyOf":[{"prefixItems":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"number","maximum":90.0,"minimum":-90.0}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Point","description":"The location, WGS84 (EPSG:4326), longitude first: [longitude, latitude].","examples":[[11.576,48.137]]},"layers":{"anyOf":[{"items":{"type":"string","enum":["highway","road","local_road","farm_track","railway","railway_station","airport","water","settlement","forest","power_line","substation","gas_pipeline","heat_pipeline","data_center","telecom_exchange","protected_area"]},"type":"array","maxItems":17,"minItems":1},{"type":"null"}],"title":"Layers","description":"The layers to measure to, each at most once; omitted = every layer, in catalog order. protected_area is the nearest of Naturschutzgebiet, FFH, SPA, Nationalpark and LSG (its class says which)."},"max_distance_m":{"type":"integer","maximum":50000.0,"minimum":1.0,"title":"Max Distance M","description":"The search radius in metres. A layer with nothing within it answers status 'absent' (the source covers the whole circle and has nothing that close), never a larger number.","default":50000}},"additionalProperties":false,"type":"object","title":"DistancesRequest"},"DistancesResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"point":{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2,"title":"Point","description":"The location measured from, as sent: [longitude, latitude]."},"territory":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"Territory","description":"The Land (ISO 3166-2) the point lies in; null outside Germany."},"location":{"anyOf":[{"$ref":"#/components/schemas/LocationOut"},{"type":"null"}],"description":"Additive (dapi-cm): where the evaluated point lies — ISO 3166-1 country, ISO 3166-2 subdivision (the German Land; null outside Germany) and what the API holds there (coverage). null when the point lies in no German Land and in no single other European country (the sea, outside Europe), and on answers stored before this field existed."},"evaluated_subject":{"$ref":"#/components/schemas/DistanceSubject"},"search_radius_m":{"type":"integer","maximum":50000.0,"minimum":1.0,"title":"Search Radius M"},"envelope_version":{"type":"string","enum":["dapi-1","dapi-2"],"title":"Envelope Version"},"layers":{"items":{"$ref":"#/components/schemas/DistanceLayerAnswer"},"type":"array","maxItems":17,"title":"Layers"},"not_answered":{"items":{"$ref":"#/components/schemas/NotAnsweredItem"},"type":"array","maxItems":16,"title":"Not Answered"}},"additionalProperties":false,"type":"object","required":["meta","point","territory","evaluated_subject","search_radius_m","envelope_version","layers","not_answered"],"title":"DistancesResponse"},"Envelope":{"properties":{"value":{"$ref":"#/components/schemas/JsonValue"},"unit":{"anyOf":[{"type":"string","maxLength":32,"minLength":1},{"type":"null"}],"title":"Unit"},"status":{"$ref":"#/components/schemas/ValueStatus"},"source":{"anyOf":[{"$ref":"#/components/schemas/SourceRef"},{"type":"null"}]},"licence":{"anyOf":[{"$ref":"#/components/schemas/LicenceRef"},{"type":"null"}]},"attribution":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Attribution"},"basis":{"anyOf":[{"$ref":"#/components/schemas/Basis"},{"type":"null"}]},"vintage":{"anyOf":[{"type":"string","pattern":"^[0-9]{4}(-[0-9]{2}(-[0-9]{2})?)?$"},{"type":"null"}],"title":"Vintage"},"fetched_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fetched At"},"refresh_cycle":{"anyOf":[{"$ref":"#/components/schemas/RefreshCycle"},{"type":"null"}]},"support":{"anyOf":[{"$ref":"#/components/schemas/Support"},{"type":"null"}]},"resolution_m":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Resolution M"},"derivation":{"anyOf":[{"$ref":"#/components/schemas/Derivation"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$"},{"type":"null"}],"title":"Reason"},"retryable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Retryable"}},"additionalProperties":false,"type":"object","required":["value","unit","status","source","licence","attribution","basis","vintage","fetched_at","refresh_cycle","support","resolution_m","derivation","reason","retryable"],"title":"Envelope"},"ErrorBody":{"properties":{"detail":{"type":"string","maxLength":1000,"minLength":1,"title":"Detail","description":"What went wrong, for a human."},"code":{"type":"string","maxLength":64,"pattern":"^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)+$","title":"Code","description":"Machine-readable error code; GET /v1/openapi.json lists every code with its HTTP status."},"retryable":{"type":"boolean","title":"Retryable","description":"True only when the identical request, sent again without any change (after Retry-After when given), can succeed shortly because the cause is known to be transient."}},"additionalProperties":false,"type":"object","required":["detail","code","retryable"],"title":"ErrorBody"},"EvaluatedSubjectOut":{"properties":{"located_by":{"type":"string","enum":["point","address","fsk","geometry"],"title":"Located By"},"derived_point":{"$ref":"#/components/schemas/GeocodePoint"},"point_derivation":{"type":"string","enum":["coordinate","geocode","point_on_surface"],"title":"Point Derivation"},"match_class":{"anyOf":[{"$ref":"#/components/schemas/MatchClass"},{"type":"null"}]},"ambiguous":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ambiguous"},"fsk":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fsk","description":"The Flurstückskennzeichen of a parcel subject, else null."},"kind":{"type":"string","enum":["point","parcel","geometry"],"title":"Kind"},"area_ha":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Area Ha","description":"The area of a parcel or polygon subject in hectares; null for a point."},"derived_from":{"type":"string","enum":["coordinate","parcel_id","geometry"],"title":"Derived From"},"point_mode":{"type":"boolean","title":"Point Mode","description":"True when a point was evaluated as a point (area rules not applicable)."}},"additionalProperties":false,"type":"object","required":["located_by","derived_point","point_derivation","fsk","kind","area_ha","derived_from","point_mode"],"title":"EvaluatedSubjectOut"},"ExchangeRequest":{"properties":{"token":{"type":"string","maxLength":256,"minLength":1,"title":"Token"},"session_transport":{"type":"string","enum":["bearer","cookie"],"title":"Session Transport","default":"bearer"}},"additionalProperties":false,"type":"object","required":["token"],"title":"ExchangeRequest"},"ExistingRequest":{"properties":{"disposition":{"type":"string","const":"exists","title":"Disposition","default":"exists"},"field":{"type":"string","maxLength":128,"title":"Field"},"operation":{"type":"string","const":"POST /v1/profile","title":"Operation","default":"POST /v1/profile"},"meta":{"$ref":"#/components/schemas/ResponseMeta"},"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"request":{"$ref":"#/components/schemas/FieldRequestInput"}},"additionalProperties":false,"type":"object","required":["field","meta","id","created_at","request"],"title":"ExistingRequest"},"FeatureQueryBody":{"properties":{"max_cost_micros":{"anyOf":[{"type":"integer","maximum":10000000000.0,"minimum":0.0},{"type":"null"}],"title":"Max Cost Micros","description":"Optional ceiling in micro-euros (1 EUR = 1000000) for what this call may cost. If its price would be higher, nothing runs and nothing is charged (MAX_COST_EXCEEDED). 0 accepts only free units."},"spec":{"$ref":"#/components/schemas/SharedFeatureQueryRequest"}},"additionalProperties":false,"type":"object","required":["spec"],"title":"FeatureQueryBody"},"FeatureQueryResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"query":{"additionalProperties":true,"type":"object","title":"Query","description":"The validated query this answer answers (replays are rechecked on it)."},"layer_id":{"type":"string","maxLength":64,"title":"Layer Id"},"kind":{"type":"string","enum":["rows","aggregate"],"title":"Kind"},"items":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":50},{"type":"null"}],"title":"Items"},"page":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Page"},"page_size":{"anyOf":[{"type":"integer","maximum":50.0,"minimum":1.0},{"type":"null"}],"title":"Page Size"},"total_items":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Items"},"total_pages":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Pages"},"groups":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":50},{"type":"null"}],"title":"Groups"},"group_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Group Count"},"truncated":{"type":"boolean","title":"Truncated"},"matched_operand_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Matched Operand Count"},"degraded":{"type":"boolean","title":"Degraded","default":false},"warnings":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","title":"Warnings"},"source_versions":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Source Versions"},"attribution":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Attribution"},"source_token":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Source Token","description":"Pass it with page > 1 of the same query."},"coverage":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Coverage"},"semantics":{"type":"string","maxLength":500,"title":"Semantics"}},"additionalProperties":false,"type":"object","required":["meta","query","layer_id","kind","truncated","source_versions","attribution","source_token","coverage","semantics"],"title":"FeatureQueryResponse"},"FieldCategory":{"type":"string","enum":["admin_parcel","elevation","land_cover","soil","protected_areas","flood","water_protection","planning","infrastructure","energy","grid_context","council_decisions","municipal","wind","hazards","demographics","land_value","noise","air_quality","radon","pois","telecom","climate","contamination"],"title":"FieldCategory"},"FieldEvidenceOut":{"properties":{"level":{"type":"string","enum":["gemeinde","kreis"],"title":"Level","description":"gemeinde (8-digit AGS) or kreis (5-digit key)."},"region_key":{"type":"string","pattern":"^[0-9]{5}([0-9]{3})?$","title":"Region Key","description":"The official key the value was joined on; never a neighbouring or newer region."},"ref_period":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Ref Period","description":"The observation's own reference period as published (null: no observation)."},"edition":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Edition","description":"The publisher's edition of the observation."},"gebietsstand":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Gebietsstand","description":"Territorial status date of the observation."}},"additionalProperties":false,"type":"object","required":["level","region_key"],"title":"FieldEvidenceOut"},"FieldFilters":{"properties":{"category":{"anyOf":[{"$ref":"#/components/schemas/FieldCategory"},{"type":"null"}]},"territory":{"anyOf":[{"type":"string","enum":["DE","DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},{"type":"null"}],"title":"Territory"},"preset":{"anyOf":[{"$ref":"#/components/schemas/Preset"},{"type":"null"}]},"include":{"anyOf":[{"type":"string","enum":["planned","readiness"]},{"type":"null"}],"title":"Include"}},"additionalProperties":false,"type":"object","required":["category","territory","preset"],"title":"FieldFilters"},"FieldReadiness":{"properties":{"field_id":{"type":"string","maxLength":64,"title":"Field Id"},"status":{"type":"string","enum":["available","partial","unavailable"],"title":"Status","description":"Over all sixteen Länder: answerable in every one, in some, or in none."},"by_territory":{"additionalProperties":{"$ref":"#/components/schemas/ReadinessReason"},"propertyNames":{"enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"object","title":"By Territory","description":"Land → the first gate the field fails there (only the Länder where it is not answerable)."}},"additionalProperties":false,"type":"object","required":["field_id","status","by_territory"],"title":"FieldReadiness"},"FieldRequestInput":{"properties":{"description":{"type":"string","maxLength":2000,"minLength":1,"title":"Description"},"example_locations":{"items":{"anyOf":[{"prefixItems":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"number","maximum":90.0,"minimum":-90.0}],"type":"array","maxItems":2,"minItems":2},{"type":"string","maxLength":40,"minLength":10}]},"type":"array","maxItems":20,"title":"Example Locations"},"use_case":{"type":"string","maxLength":1000,"title":"Use Case","default":""}},"additionalProperties":false,"type":"object","required":["description"],"title":"FieldRequestInput"},"FieldRequestResponse":{"oneOf":[{"$ref":"#/components/schemas/ExistingRequest"},{"$ref":"#/components/schemas/PlannedRequest"},{"$ref":"#/components/schemas/UnlicensableRequest"},{"$ref":"#/components/schemas/AcceptedRequest"}],"title":"FieldRequestResponse","discriminator":{"propertyName":"disposition","mapping":{"accepted":"#/components/schemas/AcceptedRequest","exists":"#/components/schemas/ExistingRequest","not_licensable":"#/components/schemas/UnlicensableRequest","planned":"#/components/schemas/PlannedRequest"}}},"FieldType":{"type":"string","enum":["boolean","integer","number","string","date","code","object"],"title":"FieldType"},"FirstCallOut":{"properties":{"operation":{"type":"string","title":"Operation"},"transport":{"type":"string","enum":["rest","mcp","console"],"title":"Transport"},"status":{"type":"integer","title":"Status"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"cost_micros":{"type":"integer","minimum":0.0,"title":"Cost Micros","description":"0 when the call ran on a free monthly allowance."},"at":{"type":"string","format":"date-time","title":"At"}},"additionalProperties":false,"type":"object","required":["operation","transport","status","request_id","cost_micros","at"],"title":"FirstCallOut"},"FreeAllowance":{"properties":{"pool":{"type":"string","title":"Pool"},"units":{"type":"integer","title":"Units"},"period":{"type":"string","title":"Period"},"time_zone":{"type":"string","title":"Time Zone"}},"additionalProperties":false,"type":"object","required":["pool","units","period","time_zone"],"title":"FreeAllowance"},"FreePoolOut":{"properties":{"pool":{"type":"string","title":"Pool"},"unit":{"type":"string","title":"Unit"},"used":{"type":"integer","minimum":0.0,"title":"Used"},"allowance":{"type":"integer","minimum":0.0,"title":"Allowance"}},"additionalProperties":false,"type":"object","required":["pool","unit","used","allowance"],"title":"FreePoolOut"},"FskLocator":{"properties":{"kind":{"type":"string","const":"fsk","title":"Kind"},"fsk":{"type":"string","maxLength":40,"minLength":10,"title":"Fsk","description":"ALKIS Flurstückskennzeichen; separators tolerated.","examples":["160101000100001"]}},"additionalProperties":false,"type":"object","required":["kind","fsk"],"title":"FskLocator"},"GeocodeAddress":{"properties":{"house_number":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"House Number"},"road":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Road"},"suburb":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Suburb"},"postcode":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Postcode"},"locality":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Locality","description":"City, town, village or municipality."},"county":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"County"},"state":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"State"},"country_code":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}$"},{"type":"null"}],"title":"Country Code"}},"additionalProperties":false,"type":"object","title":"GeocodeAddress"},"GeocodeCandidate":{"properties":{"point":{"$ref":"#/components/schemas/GeocodePoint"},"match_class":{"anyOf":[{"$ref":"#/components/schemas/MatchClass"},{"type":"null"}],"description":"What was matched: house_number, street, locality or region; null when none of them is true of the match (a named building or amenity without a house number) or the geocoder stated no rank."},"display_name":{"anyOf":[{"type":"string","maxLength":1000,"minLength":1},{"type":"null"}],"title":"Display Name"},"address":{"anyOf":[{"$ref":"#/components/schemas/GeocodeAddress"},{"type":"null"}],"description":"null when not stated, or withheld (see withheld)."},"importance":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Importance","description":"The geocoder's relevance score."},"location":{"anyOf":[{"$ref":"#/components/schemas/LocationOut"},{"type":"null"}],"description":"Additive (dapi-cm): the country and German Land the candidate point lies in, resolved by the API's own boundaries (the same rule as every location answer), not by the geocoder. Omitted when not determined."}},"additionalProperties":false,"type":"object","required":["point","match_class","display_name","address","importance"],"title":"GeocodeCandidate"},"GeocodePoint":{"properties":{"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude"}},"additionalProperties":false,"type":"object","required":["longitude","latitude"],"title":"GeocodePoint"},"GeocodeRequest":{"properties":{"max_cost_micros":{"anyOf":[{"type":"integer","maximum":10000000000.0,"minimum":0.0},{"type":"null"}],"title":"Max Cost Micros","description":"Optional ceiling in micro-euros (1 EUR = 1000000) for what this call may cost. If its price would be higher, nothing runs and nothing is charged (MAX_COST_EXCEEDED). 0 accepts only free units."},"q":{"anyOf":[{"type":"string","maxLength":1000,"minLength":1},{"items":{"type":"string","maxLength":1000,"minLength":1},"type":"array","maxItems":100}],"title":"Q","description":"One postal address or place name in Germany (at most 500 characters once whitespace is collapsed). Not a list and not several addresses in one string (GEOCODE_BATCH_REFUSED), not a coordinate (GEOCODE_NOT_AN_ADDRESS)."}},"additionalProperties":false,"type":"object","required":["q"],"title":"GeocodeRequest"},"GeocodeResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"results":{"items":{"$ref":"#/components/schemas/GeocodeCandidate"},"type":"array","maxItems":5,"title":"Results"},"ambiguous":{"type":"boolean","title":"Ambiguous","description":"True when another candidate lies in another Gemeinde than the first with a close importance."},"withheld":{"items":{"type":"string","enum":["address","display_name","importance"]},"type":"array","maxItems":3,"title":"Withheld","description":"Parts the source's licence decision does not release here: null in every candidate."},"source":{"$ref":"#/components/schemas/SourceRef"},"licence":{"$ref":"#/components/schemas/LicenceRef"},"basis":{"$ref":"#/components/schemas/Basis"},"fetched_at":{"type":"string","format":"date-time","title":"Fetched At","description":"When the answer came from the geocoder (a cached copy: its fetch)."},"refresh_cycle":{"$ref":"#/components/schemas/RefreshCycle"},"cached":{"type":"boolean","title":"Cached","description":"True when the answer was served from the geocoder cache (at most 30 days old)."}},"additionalProperties":false,"type":"object","required":["meta","results","ambiguous","withheld","source","licence","basis","fetched_at","refresh_cycle","cached"],"title":"GeocodeResponse"},"GeometrySubject":{"properties":{"kind":{"type":"string","const":"geometry","title":"Kind"},"geometry":{"oneOf":[{"$ref":"#/components/schemas/PolygonGeometry"},{"$ref":"#/components/schemas/MultiPolygonGeometry"}],"title":"Geometry","description":"GeoJSON Polygon or MultiPolygon (WGS84, [longitude, latitude]); at most 5000 vertices in total (x-max-vertices), closed rings, a valid area. The largest area accepted is the price catalog's area_tiers.max_ha (GET /v1/prices, x-max-area-ha); above it the request is refused with GEOMETRY_TOO_LARGE.","discriminator":{"propertyName":"type","mapping":{"MultiPolygon":"#/components/schemas/MultiPolygonGeometry","Polygon":"#/components/schemas/PolygonGeometry"}},"x-max-area-ha":500,"x-max-vertices":5000}},"additionalProperties":false,"type":"object","required":["kind","geometry"],"title":"GeometrySubject"},"InvoiceDownloadRequest":{"properties":{},"additionalProperties":false,"type":"object","title":"InvoiceDownloadRequest"},"InvoiceDownloadResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"url":{"type":"string","title":"Url","description":"Short-lived; open it at once, never store it."},"kind":{"type":"string","enum":["pdf","hosted"],"title":"Kind"}},"additionalProperties":false,"type":"object","required":["meta","url","kind"],"title":"InvoiceDownloadResponse"},"InvoiceItem":{"properties":{"id":{"type":"string","pattern":"^(in|ch)_[A-Za-z0-9]{8,64}$","title":"Id"},"kind":{"type":"string","enum":["invoice","receipt"],"title":"Kind"},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Number"},"status":{"type":"string","title":"Status"},"purpose":{"type":"string","enum":["topup","plan","other"],"title":"Purpose"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"total_micros":{"type":"integer","title":"Total Micros"},"net_micros":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Net Micros"},"tax_micros":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tax Micros"},"currency":{"type":"string","pattern":"^[A-Z]{3}$","title":"Currency"}},"additionalProperties":false,"type":"object","required":["id","kind","number","status","purpose","created_at","total_micros","net_micros","tax_micros","currency"],"title":"InvoiceItem"},"InvoicesResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"items":{"items":{"$ref":"#/components/schemas/InvoiceItem"},"type":"array","title":"Items"},"pagination":{"$ref":"#/components/schemas/Pagination"}},"additionalProperties":false,"type":"object","required":["meta","items","pagination"],"title":"InvoicesResponse"},"JobResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"id":{"type":"string","format":"uuid","title":"Id"},"kind":{"type":"string","enum":["profile_batch","area_check_batch"],"title":"Kind"},"status":{"type":"string","enum":["queued","running","succeeded","partial","failed"],"title":"Status"},"progress":{"$ref":"#/components/schemas/Progress"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"finished_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Finished At"}},"additionalProperties":false,"type":"object","required":["meta","id","kind","status","progress","created_at","started_at","updated_at","finished_at"],"title":"JobResponse"},"JsonValue":{},"KeyItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"key_prefix":{"type":"string","title":"Key Prefix"},"scopes":{"items":{"type":"string","const":"data:read"},"type":"array","title":"Scopes"},"rate_limit_rpm":{"type":"integer","title":"Rate Limit Rpm"},"is_active":{"type":"boolean","title":"Is Active"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"usage_count":{"type":"integer","title":"Usage Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"is_onboarding":{"type":"boolean","title":"Is Onboarding","description":"The key of an agent setup (listed as 'Agent setup …').","default":false}},"type":"object","required":["id","name","key_prefix","scopes","rate_limit_rpm","is_active","expires_at","last_used_at","usage_count","created_at"],"title":"KeyItem"},"KeysResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"items":{"items":{"$ref":"#/components/schemas/KeyItem"},"type":"array","title":"Items"},"pagination":{"$ref":"#/components/schemas/Pagination"}},"additionalProperties":false,"type":"object","required":["meta","items","pagination"],"title":"KeysResponse"},"Licence":{"properties":{"id":{"type":"string","title":"Id"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"Where the licence text lives; null for a bilateral licence."}},"additionalProperties":false,"type":"object","required":["id","url"],"title":"Licence"},"LicenceCount":{"properties":{"licence_id":{"type":"string","title":"Licence Id"},"source_count":{"type":"integer","title":"Source Count"}},"additionalProperties":false,"type":"object","required":["licence_id","source_count"],"title":"LicenceCount"},"LicenceId":{"type":"string","enum":["dl-de/by-2-0","dl-de/zero-2-0","CC-BY-4.0","CC-BY-SA-4.0","ODbL-1.0","GeoNutzV","LDBV-licensed","operator-terms","JRC-reuse","unstated"],"title":"LicenceId"},"LicenceRef":{"properties":{"id":{"$ref":"#/components/schemas/LicenceId"},"url":{"anyOf":[{"type":"string","maxLength":2048,"pattern":"^https?://[^\\s]+$"},{"type":"null"}],"title":"Url"}},"additionalProperties":false,"type":"object","required":["id","url"],"title":"LicenceRef"},"LimitsRequest":{"properties":{"monthly_cap_micros":{"anyOf":[{"type":"integer","maximum":9007199254740991.0,"minimum":0.0},{"type":"null"}],"title":"Monthly Cap Micros"},"paused":{"type":"boolean","title":"Paused","default":false}},"additionalProperties":false,"type":"object","title":"LimitsRequest"},"Links":{"properties":{"datasets":{"type":"string","title":"Datasets"},"fields":{"type":"string","title":"Fields"},"layer":{"type":"string","title":"Layer"},"coverage":{"type":"string","title":"Coverage"},"sources":{"type":"string","title":"Sources"},"prices":{"type":"string","title":"Prices"}},"additionalProperties":false,"type":"object","required":["datasets","fields","layer","coverage","sources","prices"],"title":"Links"},"LocationOut":{"properties":{"country":{"type":"string","pattern":"^[A-Z]{2}$","title":"Country","description":"ISO 3166-1 alpha-2 country code, e.g. DE, AT, FR."},"subdivision":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}-[A-Z0-9]{1,3}$"},{"type":"null"}],"title":"Subdivision","description":"ISO 3166-2 subdivision: the German Land (e.g. DE-BY); null outside Germany."},"boundary":{"type":"string","enum":["official","approximate"],"title":"Boundary","description":"official: the official German Länder (BKG). approximate: Natural Earth 1:10 m country borders — within about 1 km of a border the country can differ."},"coverage":{"type":"string","enum":["germany","eu_wide_only","none"],"title":"Coverage","description":"What the API holds for this country: germany (the v1 data, per Land — GET /v1/coverage), eu_wide_only (only the EU-wide datasets such as Natura 2000 and PVGIS; everything else is not_covered with reason country_not_covered), none (a detected country no dataset covers)."}},"additionalProperties":false,"type":"object","required":["country","subdivision","boundary","coverage"],"title":"LocationOut"},"LookupParcel":{"properties":{"territory":{"type":"string","title":"Territory","description":"The Land of the parcel row (ISO 3166-2, e.g. DE-TH)."},"matched_by":{"type":"string","enum":["coordinate","fsk"],"title":"Matched By"},"bavarian_unit":{"type":"boolean","title":"Bavarian Unit","description":"True when the answer is the Bavarian parcel unit (priced on its own, GET /v1/prices)."}},"additionalProperties":false,"type":"object","required":["territory","matched_by","bavarian_unit"],"title":"LookupParcel"},"MatchClass":{"type":"string","enum":["house_number","street","locality","region"],"title":"MatchClass"},"MatrixCell":{"properties":{"distance_m":{"type":"number","minimum":0.0,"title":"Distance M","description":"Straight-line geodesic metres on WGS84."},"distance_km":{"type":"number","minimum":0.0,"title":"Distance Km","description":"The same distance in kilometres."}},"additionalProperties":false,"type":"object","required":["distance_m","distance_km"],"title":"MatrixCell"},"MintOnboardingRequest":{"properties":{"again":{"type":"boolean","title":"Again","description":"Mint a key for another agent although an earlier setup is already complete.","default":false}},"additionalProperties":false,"type":"object","title":"MintOnboardingRequest"},"MintedKeyResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"key":{"$ref":"#/components/schemas/KeyItem"},"raw_key":{"type":"string","title":"Raw Key"},"rotated_from_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Rotated From Id"},"previous_key_expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Previous Key Expires At"}},"additionalProperties":false,"type":"object","required":["meta","key","raw_key"],"title":"MintedKeyResponse"},"MintedOnboardingResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"state":{"type":"string","const":"waiting","title":"State","default":"waiting"},"attempt":{"$ref":"#/components/schemas/AttemptOut"},"key":{"$ref":"#/components/schemas/KeyItem"},"raw_key":{"type":"string","title":"Raw Key"}},"additionalProperties":false,"type":"object","required":["meta","attempt","key","raw_key"],"title":"MintedOnboardingResponse"},"MultiPolygonGeometry":{"properties":{"type":{"type":"string","const":"MultiPolygon","title":"Type"},"coordinates":{"items":{"items":{"items":{"prefixItems":[{"type":"number","maximum":180.0,"minimum":-180.0,"description":"WGS84 longitude (x)."},{"type":"number","maximum":90.0,"minimum":-90.0,"description":"WGS84 latitude (y)."}],"type":"array","maxItems":2,"minItems":2},"type":"array","maxItems":5000,"minItems":4},"type":"array","maxItems":100,"minItems":1},"type":"array","maxItems":50,"minItems":1,"title":"Coordinates"}},"additionalProperties":false,"type":"object","required":["type","coordinates"],"title":"MultiPolygonGeometry"},"NoMatchLocatorBody":{"properties":{"detail":{"type":"string","maxLength":1000,"minLength":1,"title":"Detail","description":"What went wrong, for a human."},"code":{"type":"string","const":"LOCATOR_NO_MATCH","title":"Code","default":"LOCATOR_NO_MATCH"},"retryable":{"type":"boolean","const":false,"title":"Retryable","default":false}},"additionalProperties":false,"type":"object","required":["detail"],"title":"NoMatchLocatorBody"},"NotAnsweredItem":{"properties":{"topic":{"type":"string","maxLength":64,"title":"Topic"},"reason":{"type":"string","maxLength":64,"title":"Reason"},"detail":{"type":"string","maxLength":500,"title":"Detail"}},"additionalProperties":false,"type":"object","required":["topic","reason","detail"],"title":"NotAnsweredItem"},"NotCovered":{"properties":{"category":{"$ref":"#/components/schemas/FieldCategory"},"reason":{"type":"string","const":"no_source","title":"Reason"}},"additionalProperties":false,"type":"object","required":["category","reason"],"title":"NotCovered"},"NotCoveredOut":{"properties":{"field":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","title":"Field"},"reason":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","title":"Reason","description":"Why: outside_coverage (no source for this Land or past Germany's border), not_licensable, stale, freshness_unknown, needs_area (point mode), no_source, not_offered (no reader for this field yet), country_not_covered (the point lies outside Germany and only the EU-wide datasets answer there)."}},"additionalProperties":false,"type":"object","required":["field","reason"],"title":"NotCoveredOut"},"NotCoveredTerritory":{"properties":{"territory":{"type":"string","title":"Territory"},"reason":{"type":"string","title":"Reason"}},"additionalProperties":false,"type":"object","required":["territory","reason"],"title":"NotCoveredTerritory"},"NullsPlacement":{"type":"string","enum":["first","last"],"title":"NullsPlacement"},"OnUnknown":{"type":"string","enum":["keep_flagged","drop"],"title":"OnUnknown"},"OnboardingKeyOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"key_prefix":{"type":"string","title":"Key Prefix"},"is_active":{"type":"boolean","title":"Is Active"}},"additionalProperties":false,"type":"object","required":["id","name","key_prefix","is_active"],"title":"OnboardingKeyOut"},"OnboardingResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"state":{"type":"string","enum":["not_started","legacy","waiting","key_verified","mcp_connected","completed","skipped"],"title":"State"},"attempt":{"anyOf":[{"$ref":"#/components/schemas/AttemptOut"},{"type":"null"}]},"setup":{"$ref":"#/components/schemas/SetupOut"},"poll_after_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Poll After Ms","description":"Poll again after this many milliseconds; null = stop polling."}},"additionalProperties":false,"type":"object","required":["meta","state","attempt","setup","poll_after_ms"],"title":"OnboardingResponse"},"OperationResponse":{"anyOf":[{"$ref":"#/components/schemas/ProfileResponse"},{"$ref":"#/components/schemas/ProfileBatchResponse"},{"$ref":"#/components/schemas/AreaCheckResponse"},{"$ref":"#/components/schemas/DistancesResponse"},{"$ref":"#/components/schemas/DistanceMatrixResponse"},{"$ref":"#/components/schemas/GeocodeResponse"},{"$ref":"#/components/schemas/ParcelLookupResponse"},{"$ref":"#/components/schemas/ParcelSearchResponse"},{"$ref":"#/components/schemas/ParcelSearchPageResponse"},{"$ref":"#/components/schemas/FeatureQueryResponse"}],"title":"OperationResponse"},"OperationSpendOut":{"properties":{"operation":{"type":"string","title":"Operation"},"calls":{"type":"integer","minimum":0.0,"title":"Calls"},"units":{"type":"integer","minimum":0.0,"title":"Units"},"cost_micros":{"type":"integer","minimum":0.0,"title":"Cost Micros"}},"additionalProperties":false,"type":"object","required":["operation","calls","units","cost_micros"],"title":"OperationSpendOut"},"OrderBy":{"properties":{"field":{"type":"string","maxLength":64,"title":"Field"},"dir":{"type":"string","enum":["asc","desc"],"title":"Dir","default":"asc"}},"additionalProperties":false,"type":"object","required":["field"],"title":"OrderBy"},"OrganizationOut":{"properties":{"name":{"type":"string","title":"Name"},"vat_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vat Id"}},"additionalProperties":false,"type":"object","required":["name","vat_id"],"title":"OrganizationOut"},"OrganizationRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"vat_id":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}[A-Za-z0-9]{2,30}$"},{"type":"null"}],"title":"Vat Id"}},"additionalProperties":false,"type":"object","title":"OrganizationRequest"},"OutputSpec":{"properties":{"sort":{"items":{"$ref":"#/components/schemas/SortSpec"},"type":"array","maxItems":4,"title":"Sort","default":[]},"limit":{"type":"integer","maximum":5000.0,"minimum":1.0,"title":"Limit","default":200}},"additionalProperties":false,"type":"object","title":"OutputSpec"},"PageRunInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"population":{"type":"string","title":"Population"},"step_datasets":{"items":{"type":"string"},"type":"array","title":"Step Datasets"},"member_count":{"type":"integer","title":"Member Count"},"truncated":{"type":"boolean","title":"Truncated"},"pages":{"type":"integer","title":"Pages"},"page_size":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Page Size"},"columns":{"items":{"$ref":"#/components/schemas/SearchColumn"},"type":"array","title":"Columns"}},"additionalProperties":false,"type":"object","required":["id","population","step_datasets","member_count","truncated","pages","page_size","columns"],"title":"PageRunInfo"},"Pagination":{"properties":{"page":{"type":"integer","minimum":1.0,"title":"Page"},"page_size":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Page Size","description":"Rows per page, at most 50."},"total_items":{"type":"integer","minimum":0.0,"title":"Total Items"},"total_pages":{"type":"integer","minimum":1.0,"title":"Total Pages"}},"additionalProperties":false,"type":"object","required":["page","page_size","total_items","total_pages"],"title":"Pagination"},"ParcelLookupRequest":{"oneOf":[{"properties":{"coordinate":{"type":"object"}},"required":["coordinate"]},{"properties":{"fsk":{"type":"string"}},"required":["fsk"]}],"properties":{"max_cost_micros":{"anyOf":[{"type":"integer","maximum":10000000000.0,"minimum":0.0},{"type":"null"}],"title":"Max Cost Micros","description":"Optional ceiling in micro-euros (1 EUR = 1000000) for what this call may cost. If its price would be higher, nothing runs and nothing is charged (MAX_COST_EXCEEDED). 0 accepts only free units."},"coordinate":{"anyOf":[{"$ref":"#/components/schemas/Coordinate"},{"type":"null"}],"description":"The Flurstück under this point. Give exactly one of coordinate and fsk."},"fsk":{"anyOf":[{"type":"string","maxLength":40,"minLength":10},{"type":"null"}],"title":"Fsk","description":"ALKIS Flurstückskennzeichen (14–20 significant characters, separators tolerated). Give exactly one of coordinate and fsk."},"include_geometry":{"type":"boolean","title":"Include Geometry","description":"Answer the Flurstück's geometry (GeoJSON, WGS84).","default":true}},"additionalProperties":false,"type":"object","title":"ParcelLookupRequest"},"ParcelLookupResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"parcel":{"$ref":"#/components/schemas/LookupParcel"},"envelope_version":{"type":"string","enum":["dapi-1","dapi-2"],"title":"Envelope Version"},"fields":{"patternProperties":{"^[a-z][a-z0-9_]{0,63}$":{"$ref":"#/components/schemas/Envelope"}},"type":"object","title":"Fields"}},"additionalProperties":false,"type":"object","required":["meta","parcel","envelope_version","fields"],"title":"ParcelLookupResponse"},"ParcelSearchPageResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"run":{"$ref":"#/components/schemas/PageRunInfo"},"items":{"items":{"$ref":"#/components/schemas/SearchRow"},"type":"array","maxItems":50,"title":"Items"},"withheld_rows":{"type":"integer","minimum":0.0,"title":"Withheld Rows"},"pagination":{"$ref":"#/components/schemas/Pagination"}},"additionalProperties":false,"type":"object","required":["meta","run","items","withheld_rows","pagination"],"title":"ParcelSearchPageResponse"},"ParcelSearchRequest":{"properties":{"max_cost_micros":{"anyOf":[{"type":"integer","maximum":10000000000.0,"minimum":0.0},{"type":"null"}],"title":"Max Cost Micros","description":"Optional ceiling in micro-euros (1 EUR = 1000000) for what this call may cost. If its price would be higher, nothing runs and nothing is charged (MAX_COST_EXCEEDED). 0 accepts only free units."},"spec":{"$ref":"#/components/schemas/SearchSpec"},"include_bavaria":{"type":"boolean","title":"Include Bavaria","description":"Include Bavarian parcels (the population 'parcels' only). Each Bavarian parcel on a page is the Bavarian parcel unit (once per account and parcel per calendar year), so a new run reserves that unit for every row its first page could hold. While the unit is not available Bavaria is not searched at all (run.not_covered names it).","default":false}},"additionalProperties":false,"type":"object","required":["spec"],"title":"ParcelSearchRequest"},"ParcelSearchResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"run":{"$ref":"#/components/schemas/SearchRunInfo"},"items":{"items":{"$ref":"#/components/schemas/SearchRow"},"type":"array","maxItems":50,"title":"Items","description":"Page 1 of the run."},"withheld_rows":{"type":"integer","minimum":0.0,"title":"Withheld Rows"},"pagination":{"$ref":"#/components/schemas/Pagination"}},"additionalProperties":false,"type":"object","required":["meta","run","items","withheld_rows","pagination"],"title":"ParcelSearchResponse"},"ParcelSearchRunCancelResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"run":{"$ref":"#/components/schemas/QueuedRunStatus"},"cancelled":{"type":"boolean","title":"Cancelled","description":"False when the run had already finished (it is left unchanged)."}},"additionalProperties":false,"type":"object","required":["meta","run","cancelled"],"title":"ParcelSearchRunCancelResponse"},"ParcelSearchRunResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"run":{"$ref":"#/components/schemas/QueuedRunStatus"},"not_covered":{"items":{"$ref":"#/components/schemas/NotCoveredTerritory"},"type":"array","title":"Not Covered"}},"additionalProperties":false,"type":"object","required":["meta","run"],"title":"ParcelSearchRunResponse"},"ParcelSubject":{"properties":{"kind":{"type":"string","const":"parcel","title":"Kind"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"WGS84 longitude (x)."},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"WGS84 latitude (y)."}},"additionalProperties":false,"type":"object","required":["kind","longitude","latitude"],"title":"ParcelSubject"},"PeriodOut":{"properties":{"start":{"type":"string","format":"date","title":"Start"},"end":{"type":"string","format":"date","title":"End"},"timezone":{"type":"string","const":"Europe/Berlin","title":"Timezone","default":"Europe/Berlin"}},"additionalProperties":false,"type":"object","required":["start","end"],"title":"PeriodOut"},"PlanChangeOut":{"properties":{"outcome":{"type":"string","enum":["upgraded","downgrade_scheduled","downgrade_undone","cancel_scheduled","resumed"],"title":"Outcome"},"plan":{"type":"string","title":"Plan","description":"The plan the subscription now renews as."},"subscription_status":{"type":"string","title":"Subscription Status"},"cancel_at_period_end":{"type":"boolean","title":"Cancel At Period End"},"current_period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Current Period End"}},"type":"object","required":["outcome","plan","subscription_status","cancel_at_period_end","current_period_end"],"title":"PlanChangeOut"},"PlanChangeResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"change":{"$ref":"#/components/schemas/PlanChangeOut"}},"additionalProperties":false,"type":"object","required":["meta","change"],"title":"PlanChangeResponse"},"PlanCheckoutResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"checkout_url":{"type":"string","title":"Checkout Url"}},"additionalProperties":false,"type":"object","required":["meta","checkout_url"],"title":"PlanCheckoutResponse"},"PlanPrice":{"properties":{"plan":{"type":"string","title":"Plan"},"monthly_micros":{"type":"integer","title":"Monthly Micros"},"allowance_micros":{"type":"integer","title":"Allowance Micros"},"rpm":{"type":"integer","title":"Rpm"},"discount_percent":{"type":"integer","title":"Discount Percent"}},"additionalProperties":false,"type":"object","required":["plan","monthly_micros","allowance_micros","rpm","discount_percent"],"title":"PlanPrice"},"PlanStartRequest":{"properties":{"plan":{"type":"string","enum":["build","growth"],"title":"Plan"},"language":{"type":"string","enum":["de","en"],"title":"Language","default":"de"}},"additionalProperties":false,"type":"object","required":["plan"],"title":"PlanStartRequest"},"PlanSubscriptionOut":{"properties":{"plan":{"type":"string","enum":["beta","build","growth"],"title":"Plan","description":"The entitlement in force (rpm and discount)."},"plan_status":{"type":"string","enum":["none","active","past_due","incomplete","cancel_pending"],"title":"Plan Status"},"renews_as":{"anyOf":[{"type":"string","enum":["build","growth"]},{"type":"null"}],"title":"Renews As","description":"The plan the next invoice bills; differs from `plan` after a downgrade (it applies at renewal)."},"paid_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Paid Until","description":"The end of the paid period the entitlement lasts until."},"next_renewal_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Renewal At","description":"The next renewal; null while a cancellation is pending."},"cancel_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Cancel At","description":"When a pending cancellation ends the plan; null otherwise."},"monthly_price_net_micros":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Monthly Price Net Micros"},"rpm":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm"},"discount_percent":{"type":"integer","title":"Discount Percent"}},"type":"object","required":["plan","plan_status","renews_as","paid_until","next_renewal_at","cancel_at","monthly_price_net_micros","rpm","discount_percent"],"title":"PlanSubscriptionOut"},"PlanSwitchRequest":{"properties":{"plan":{"type":"string","enum":["build","growth"],"title":"Plan"}},"additionalProperties":false,"type":"object","required":["plan"],"title":"PlanSwitchRequest"},"PlannedField":{"properties":{"field_id":{"type":"string","maxLength":64,"title":"Field Id"},"layer_id":{"type":"string","maxLength":64,"title":"Layer Id"},"category":{"$ref":"#/components/schemas/FieldCategory"},"value_type":{"$ref":"#/components/schemas/FieldType"},"unit":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Unit"},"subject_kinds":{"items":{"type":"string","enum":["point","parcel"]},"type":"array","title":"Subject Kinds"},"description":{"$ref":"#/components/schemas/Description"},"status":{"type":"string","const":"planned","title":"Status"},"reason":{"type":"string","const":"reader_missing","title":"Reason"}},"additionalProperties":false,"type":"object","required":["field_id","layer_id","category","value_type","unit","subject_kinds","description","status","reason"],"title":"PlannedField"},"PlannedRequest":{"properties":{"disposition":{"type":"string","const":"planned","title":"Disposition","default":"planned"},"story_id":{"type":"string","maxLength":64,"title":"Story Id"},"meta":{"$ref":"#/components/schemas/ResponseMeta"},"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"request":{"$ref":"#/components/schemas/FieldRequestInput"}},"additionalProperties":false,"type":"object","required":["story_id","meta","id","created_at","request"],"title":"PlannedRequest"},"PlaygroundCallRequest":{"properties":{"operation":{"type":"string","enum":["profile","profile_batch","distances","distance_matrix","area_check","parcel_lookup","parcel_search","feature_query","geocode","field_request"],"title":"Operation"},"body":{"additionalProperties":true,"type":"object","title":"Body","description":"The operation's JSON request body, as a keyed caller would send it."},"idempotency_key":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{8,128}$","title":"Idempotency Key"},"template_id":{"anyOf":[{"type":"string","pattern":"^[a-z0-9-]{1,64}$"},{"type":"null"}],"title":"Template Id"}},"additionalProperties":false,"type":"object","required":["operation","body","idempotency_key"],"title":"PlaygroundCallRequest"},"PlaygroundCallResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"upstream":{"$ref":"#/components/schemas/UpstreamOut"},"curl":{"type":"string","title":"Curl","description":"The same call for a terminal; the key is always $ENLAPA_API_KEY."}},"additionalProperties":false,"type":"object","required":["meta","upstream","curl"],"title":"PlaygroundCallResponse"},"PointLocator":{"properties":{"kind":{"type":"string","const":"point","title":"Kind","default":"point"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude"}},"additionalProperties":false,"type":"object","required":["longitude","latitude"],"title":"PointLocator"},"PointSubject":{"properties":{"kind":{"type":"string","const":"point","title":"Kind","default":"point"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"WGS84 longitude (x)."},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"WGS84 latitude (y)."}},"additionalProperties":false,"type":"object","required":["longitude","latitude"],"title":"PointSubject"},"PolygonGeometry":{"properties":{"type":{"type":"string","const":"Polygon","title":"Type"},"coordinates":{"items":{"items":{"prefixItems":[{"type":"number","maximum":180.0,"minimum":-180.0,"description":"WGS84 longitude (x)."},{"type":"number","maximum":90.0,"minimum":-90.0,"description":"WGS84 latitude (y)."}],"type":"array","maxItems":2,"minItems":2},"type":"array","maxItems":5000,"minItems":4},"type":"array","maxItems":100,"minItems":1,"title":"Coordinates"}},"additionalProperties":false,"type":"object","required":["type","coordinates"],"title":"PolygonGeometry"},"PopulationSpec":{"properties":{"dataset":{"type":"string","maxLength":64,"minLength":1,"title":"Dataset"},"base_filter":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Base Filter"},"bbox":{"anyOf":[{"prefixItems":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"number","maximum":90.0,"minimum":-90.0}],"type":"array","maxItems":4,"minItems":4},{"type":"null"}],"title":"Bbox"},"area":{"anyOf":[{"$ref":"#/components/schemas/AreaSpec"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["dataset"],"title":"PopulationSpec"},"Preset":{"type":"string","enum":["general","environment","water_flood","planning_law","infrastructure","due_diligence","residential","commercial_logistics","data_center","pv_freiflaeche","agri_pv","bess"],"title":"Preset"},"PriceClass":{"type":"string","enum":["materialised","pvgis"],"title":"PriceClass"},"PriceListDocument":{"properties":{"pricing_version":{"type":"string","title":"Pricing Version"},"draft":{"type":"boolean","title":"Draft"},"currency":{"type":"string","title":"Currency"},"amounts":{"type":"string","title":"Amounts"},"micros_per_currency_unit":{"type":"integer","title":"Micros Per Currency Unit"},"min_topup_micros":{"type":"integer","title":"Min Topup Micros"},"min_topup_eur":{"type":"string","title":"Min Topup Eur"},"credits_expire":{"type":"boolean","title":"Credits Expire"},"plans":{"items":{"$ref":"#/components/schemas/PlanPrice"},"type":"array","title":"Plans"},"operations":{"items":{"$ref":"#/components/schemas/PricedOperation"},"type":"array","title":"Operations"}},"additionalProperties":false,"type":"object","required":["pricing_version","draft","currency","amounts","micros_per_currency_unit","min_topup_micros","min_topup_eur","credits_expire","plans","operations"],"title":"PriceListDocument"},"PricedOperation":{"properties":{"operation":{"type":"string","title":"Operation"},"unit":{"type":"string","title":"Unit"},"unit_price_micros":{"type":"integer","title":"Unit Price Micros"},"unit_price_eur":{"type":"string","title":"Unit Price Eur"},"description":{"type":"string","title":"Description"},"free_allowance":{"anyOf":[{"$ref":"#/components/schemas/FreeAllowance"},{"type":"null"}]},"dedupe":{"anyOf":[{"$ref":"#/components/schemas/Dedupe"},{"type":"null"}]},"area_tiers":{"anyOf":[{"$ref":"#/components/schemas/AreaTiers"},{"type":"null"}]},"max_rows_per_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Rows Per Page"},"pass_through":{"type":"boolean","title":"Pass Through","description":"The unit passes on an external cost ENLAPA pays per unit (e.g. the Bavarian parcel): it is paid from topped-up credit only, never from the welcome credit and never to a billing-exempt account (402 PAID_CREDIT_REQUIRED otherwise)."}},"additionalProperties":false,"type":"object","required":["operation","unit","unit_price_micros","unit_price_eur","description","free_allowance","dedupe","area_tiers","max_rows_per_page","pass_through"],"title":"PricedOperation"},"ProfileBatchRequest":{"anyOf":[{"properties":{"preset":{"type":"string"}},"required":["preset"]},{"properties":{"fields":{"type":"array"}},"required":["fields"]}],"properties":{"max_cost_micros":{"anyOf":[{"type":"integer","maximum":10000000000.0,"minimum":0.0},{"type":"null"}],"title":"Max Cost Micros","description":"Optional ceiling in micro-euros (1 EUR = 1000000) for what this call may cost. If its price would be higher, nothing runs and nothing is charged (MAX_COST_EXCEEDED). 0 accepts only free units."},"preset":{"anyOf":[{"$ref":"#/components/schemas/Preset"},{"type":"null"}],"description":"A view over the field catalog (GET /v1/catalog/fields lists each field's presets). Give a preset, a field list or both."},"fields":{"anyOf":[{"items":{"type":"string","maxLength":64,"pattern":"^[a-z][a-z0-9_]{0,63}$"},"type":"array","maxItems":1000,"minItems":1,"uniqueItems":true},{"type":"null"}],"title":"Fields","description":"Field ids of the catalog (GET /v1/catalog/fields); each at most once. Give a preset, a field list or both."},"subjects":{"items":{"anyOf":[{"$ref":"#/components/schemas/SubjectIn"},{"$ref":"#/components/schemas/FskLocator"}]},"type":"array","maxItems":25,"minItems":1,"title":"Subjects","description":"Coordinates (point or parcel) or FSK subjects. Address subjects are refused."}},"additionalProperties":false,"type":"object","required":["subjects"],"title":"ProfileBatchRequest"},"ProfileBatchResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"envelope_version":{"type":"string","enum":["dapi-1","dapi-2"],"title":"Envelope Version","default":"dapi-2"},"data":{"items":{"anyOf":[{"$ref":"#/components/schemas/BatchItemOk"},{"$ref":"#/components/schemas/BatchItemError"}]},"type":"array","maxItems":25,"minItems":1,"title":"Data"}},"additionalProperties":false,"type":"object","required":["meta","data"],"title":"ProfileBatchResponse"},"ProfileJobRequest":{"anyOf":[{"properties":{"preset":{"type":"string"}},"required":["preset"]},{"properties":{"fields":{"type":"array"}},"required":["fields"]}],"properties":{"max_cost_micros":{"anyOf":[{"type":"integer","maximum":10000000000.0,"minimum":0.0},{"type":"null"}],"title":"Max Cost Micros","description":"Optional ceiling in micro-euros (1 EUR = 1000000) for what this call may cost. If its price would be higher, nothing runs and nothing is charged (MAX_COST_EXCEEDED). 0 accepts only free units."},"kind":{"type":"string","const":"profile_batch","title":"Kind"},"subjects":{"items":{"$ref":"#/components/schemas/SubjectIn"},"type":"array","maxItems":500,"minItems":1,"title":"Subjects"},"preset":{"anyOf":[{"$ref":"#/components/schemas/Preset"},{"type":"null"}]},"fields":{"anyOf":[{"items":{"type":"string","maxLength":64,"pattern":"^[a-z][a-z0-9_]{0,63}$"},"type":"array","maxItems":1000,"minItems":1,"uniqueItems":true},{"type":"null"}],"title":"Fields"}},"additionalProperties":false,"type":"object","required":["kind","subjects"],"title":"ProfileJobRequest"},"ProfileRequest":{"anyOf":[{"properties":{"preset":{"type":"string"}},"required":["preset"]},{"properties":{"fields":{"type":"array"}},"required":["fields"]}],"properties":{"max_cost_micros":{"anyOf":[{"type":"integer","maximum":10000000000.0,"minimum":0.0},{"type":"null"}],"title":"Max Cost Micros","description":"Optional ceiling in micro-euros (1 EUR = 1000000) for what this call may cost. If its price would be higher, nothing runs and nothing is charged (MAX_COST_EXCEEDED). 0 accepts only free units."},"subject":{"oneOf":[{"$ref":"#/components/schemas/SubjectIn"},{"$ref":"#/components/schemas/AddressLocator"},{"$ref":"#/components/schemas/FskLocator"}],"title":"Subject","examples":[{"kind":"point","latitude":52.517,"longitude":13.3889},{"kind":"address","q":"Unter den Linden 1, Berlin"},{"fsk":"160101000100001","kind":"fsk"}]},"preset":{"anyOf":[{"$ref":"#/components/schemas/Preset"},{"type":"null"}],"description":"A view over the field catalog (GET /v1/catalog/fields lists each field's presets). Give a preset, a field list or both."},"fields":{"anyOf":[{"items":{"type":"string","maxLength":64,"pattern":"^[a-z][a-z0-9_]{0,63}$"},"type":"array","maxItems":1000,"minItems":1,"uniqueItems":true},{"type":"null"}],"title":"Fields","description":"Field ids of the catalog (GET /v1/catalog/fields); each at most once. Give a preset, a field list or both."}},"additionalProperties":false,"type":"object","required":["subject"],"title":"ProfileRequest"},"ProfileResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"subject":{"$ref":"#/components/schemas/SubjectOut"},"location":{"anyOf":[{"$ref":"#/components/schemas/LocationOut"},{"type":"null"}],"description":"Additive (dapi-cm): where the evaluated point lies — ISO 3166-1 country, ISO 3166-2 subdivision (the German Land; null outside Germany) and what the API holds there (coverage). null when the point lies in no German Land and in no single other European country (the sea, outside Europe), and on answers stored before this field existed."},"envelope_version":{"type":"string","enum":["dapi-1","dapi-2"],"title":"Envelope Version"},"fields":{"patternProperties":{"^[a-z][a-z0-9_]{0,63}$":{"$ref":"#/components/schemas/Envelope"}},"type":"object","title":"Fields","description":"Field id → its provenance envelope: ok (a value), absent (covered, nothing here) or failed."},"not_covered":{"items":{"$ref":"#/components/schemas/NotCoveredOut"},"type":"array","title":"Not Covered"},"field_evidence":{"anyOf":[{"patternProperties":{"^[a-z][a-z0-9_]{0,63}$":{"$ref":"#/components/schemas/FieldEvidenceOut"}},"type":"object"},{"type":"null"}],"title":"Field Evidence","description":"Optional, additive (dd-12): for answered administrative statistics (INKAR, municipality directory, tax rates, rent ordinances), the region and observation each value was joined on. Omitted when no answered field carries such evidence; it never changes an envelope."},"degraded":{"type":"boolean","title":"Degraded","description":"Present and true when at least one requested field could not be answered right now: its envelope is failed with its reason and retryable flag (timeout: the call's time budget ran out before that field's lookup, retryable). Every other field is complete; ask again for the failed ones. Omitted otherwise.","default":false}},"additionalProperties":false,"type":"object","required":["meta","subject","envelope_version","fields","not_covered"],"title":"ProfileResponse"},"Progress":{"properties":{"total":{"type":"integer","maximum":500.0,"minimum":1.0,"title":"Total"},"done":{"type":"integer","maximum":500.0,"minimum":0.0,"title":"Done"},"ok":{"type":"integer","maximum":500.0,"minimum":0.0,"title":"Ok"},"error":{"type":"integer","maximum":500.0,"minimum":0.0,"title":"Error"}},"additionalProperties":false,"type":"object","required":["total","done","ok","error"],"title":"Progress"},"PublicCatalogDocument":{"properties":{"access":{"type":"string","const":"public","title":"Access"},"notice":{"type":"string","title":"Notice"},"catalog_version":{"type":"string","title":"Catalog Version"},"envelope_version":{"type":"string","title":"Envelope Version"},"pricing_version":{"type":"string","title":"Pricing Version"},"territories":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Territories"},"operations":{"items":{"$ref":"#/components/schemas/CatalogOperation"},"type":"array","title":"Operations"},"field_count":{"type":"integer","title":"Field Count"},"source_count":{"type":"integer","title":"Source Count"},"categories":{"items":{"$ref":"#/components/schemas/CountEntry"},"type":"array","title":"Categories"},"presets":{"items":{"$ref":"#/components/schemas/CountEntry"},"type":"array","title":"Presets"},"layer_count":{"type":"integer","title":"Layer Count","description":"How many datasets the catalogue lists; their names: GET /v1/catalog/datasets."},"distance_layers":{"items":{"$ref":"#/components/schemas/PublicDistanceLayer"},"type":"array","title":"Distance Layers"},"subjects":{"$ref":"#/components/schemas/Subjects"},"countries":{"items":{"$ref":"#/components/schemas/CountryCoverageOut"},"type":"array","title":"Countries","description":"Additive (dapi-cm): coverage per country (ISO 3166-1 alpha-2). DE first, with its 16 Länder as subdivisions (the per-Land detail is territories/categories/layers); then every other country where something is answered today — only the EU-wide datasets (coverage eu_wide_only). A location in any other European country is detected (location.country in every location answer) and answered not_covered with reason country_not_covered."},"links":{"$ref":"#/components/schemas/Links"}},"additionalProperties":false,"type":"object","required":["access","notice","catalog_version","envelope_version","pricing_version","territories","operations","field_count","source_count","categories","presets","layer_count","distance_layers","subjects","links"],"title":"PublicCatalogDocument"},"PublicCoverageDocument":{"properties":{"access":{"type":"string","const":"public","title":"Access"},"notice":{"type":"string","title":"Notice"},"catalog_version":{"type":"string","title":"Catalog Version"},"territories":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Territories"},"categories":{"items":{"$ref":"#/components/schemas/CoverageCategory"},"type":"array","title":"Categories"},"subjects":{"$ref":"#/components/schemas/Subjects"},"not_covered":{"items":{"$ref":"#/components/schemas/NotCovered"},"type":"array","title":"Not Covered"},"countries":{"items":{"$ref":"#/components/schemas/CountryCoverageOut"},"type":"array","title":"Countries","description":"Additive (dapi-cm): coverage per country (ISO 3166-1 alpha-2). DE first, with its 16 Länder as subdivisions (the per-Land detail is territories/categories/layers); then every other country where something is answered today — only the EU-wide datasets (coverage eu_wide_only). A location in any other European country is detected (location.country in every location answer) and answered not_covered with reason country_not_covered."},"beyond_germany":{"items":{"$ref":"#/components/schemas/BeyondGermany"},"type":"array","title":"Beyond Germany","description":"Deprecated alias of countries.","deprecated":true}},"additionalProperties":false,"type":"object","required":["access","notice","catalog_version","territories","categories","subjects","not_covered","beyond_germany"],"title":"PublicCoverageDocument"},"PublicDataset":{"properties":{"dataset_id":{"type":"string","title":"Dataset Id"},"label_de":{"type":"string","title":"Label De"},"label_en":{"type":"string","title":"Label En"},"category_path":{"items":{"type":"string"},"type":"array","title":"Category Path"},"path":{"items":{"$ref":"#/components/schemas/CategoryCrumb"},"type":"array","title":"Path"}},"additionalProperties":false,"type":"object","required":["dataset_id","label_de","label_en","category_path","path"],"title":"PublicDataset"},"PublicDatasetFilters":{"properties":{"category":{"anyOf":[{"type":"string","enum":["administrative","terrain","environment","planning","transport","energy","buildings","statistics","municipal"]},{"type":"null"}],"title":"Category"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"additionalProperties":false,"type":"object","required":["category","limit","offset"],"title":"PublicDatasetFilters"},"PublicDatasetsDocument":{"properties":{"access":{"type":"string","const":"public","title":"Access"},"notice":{"type":"string","title":"Notice"},"catalog_version":{"type":"string","title":"Catalog Version"},"filters":{"$ref":"#/components/schemas/PublicDatasetFilters"},"categories":{"items":{"$ref":"#/components/schemas/CatalogCategory"},"type":"array","title":"Categories"},"datasets":{"items":{"$ref":"#/components/schemas/PublicDataset"},"type":"array","title":"Datasets"},"total":{"type":"integer","title":"Total"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"}},"additionalProperties":false,"type":"object","required":["access","notice","catalog_version","filters","categories","datasets","total","next_offset"],"title":"PublicDatasetsDocument"},"PublicDistanceLayer":{"properties":{"distance_layer_id":{"type":"string","title":"Distance Layer Id"},"category":{"type":"string","title":"Category"}},"additionalProperties":false,"type":"object","required":["distance_layer_id","category"],"title":"PublicDistanceLayer"},"PublicFieldsDocument":{"properties":{"access":{"type":"string","const":"public","title":"Access"},"notice":{"type":"string","title":"Notice"},"catalog_version":{"type":"string","title":"Catalog Version"},"field_count":{"type":"integer","title":"Field Count"}},"additionalProperties":false,"type":"object","required":["access","notice","catalog_version","field_count"],"title":"PublicFieldsDocument"},"PublicSourcesDocument":{"properties":{"access":{"type":"string","const":"public","title":"Access"},"notice":{"type":"string","title":"Notice"},"catalog_version":{"type":"string","title":"Catalog Version"},"source_count":{"type":"integer","title":"Source Count"},"licences":{"items":{"$ref":"#/components/schemas/LicenceCount"},"type":"array","title":"Licences"}},"additionalProperties":false,"type":"object","required":["access","notice","catalog_version","source_count","licences"],"title":"PublicSourcesDocument"},"QueuedRunStatus":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"],"title":"Status"},"mode":{"type":"string","enum":["interactive","batch"],"title":"Mode"},"population":{"type":"string","title":"Population"},"reused":{"type":"boolean","title":"Reused","description":"True when an identical run of this account answered instead of a new one."},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Completed At"},"attempts":{"type":"integer","minimum":0.0,"title":"Attempts"},"max_attempts":{"type":"integer","minimum":0.0,"title":"Max Attempts"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code"},"total_members":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Members"},"final_members":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Final Members"},"member_count":{"type":"integer","minimum":0.0,"title":"Member Count"},"truncated":{"type":"boolean","title":"Truncated"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"},"page_size":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Page Size"},"completeness":{"$ref":"#/components/schemas/RunCompleteness"},"servable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Servable","description":"Succeeded runs only: whether its counts and pages may leave now (rights and loaded copy)."},"refusal":{"anyOf":[{"$ref":"#/components/schemas/RunRefusal"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["id","status","mode","population","reused","created_at","started_at","completed_at","attempts","max_attempts","error_code","total_members","final_members","member_count","truncated","pages","page_size","completeness","servable","refusal"],"title":"QueuedRunStatus"},"ReadinessReason":{"type":"string","enum":["reader_missing","no_source","relation_missing","not_loaded","partial_scope","stale","rights_denied","needs_area"],"title":"ReadinessReason"},"RefreshCycle":{"type":"string","enum":["live","hourly","daily","weekly","monthly","quarterly","semiannual","annual"],"title":"RefreshCycle"},"RelatedStep":{"properties":{"label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Label"},"op":{"type":"string","const":"related","title":"Op","default":"related"},"relation":{"type":"string","maxLength":64,"minLength":1,"title":"Relation"},"column":{"type":"string","maxLength":64,"minLength":1,"title":"Column"},"operator":{"type":"string","enum":["lt","lte","gt","gte","eq","ne","between"],"title":"Operator"},"value":{"type":"number","title":"Value"},"value_max":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value Max"}},"additionalProperties":false,"type":"object","required":["relation","column","operator","value"],"title":"RelatedStep"},"ResponseMeta":{"properties":{"request_id":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$","title":"Request Id","description":"Same as X-Request-Id: 1-128 characters of [A-Za-z0-9_.:-], so it needs no folding as a header."},"pricing_version":{"type":"string","pattern":"^[a-z0-9][a-z0-9.-]{0,63}$","title":"Pricing Version","description":"The price list this call was charged under (GET /v1/prices)."},"cost_micros":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Cost Micros","description":"What this call cost, in micro-euros (same as X-Cost-Micros)."},"attribution":{"items":{"$ref":"#/components/schemas/AttributionEntry"},"type":"array","maxItems":500,"title":"Attribution","description":"Every source that contributed, credited as required."}},"additionalProperties":false,"type":"object","required":["request_id","pricing_version","cost_micros"],"title":"ResponseMeta"},"RotateKeyRequest":{"properties":{"expires_in_days":{"type":"integer","maximum":365.0,"minimum":1.0,"title":"Expires In Days","default":365},"grace_days":{"type":"integer","maximum":30.0,"minimum":0.0,"title":"Grace Days","default":7}},"additionalProperties":false,"type":"object","title":"RotateKeyRequest"},"RuleAnswer":{"properties":{"rule_id":{"type":"string","maxLength":64,"title":"Rule Id"},"rule":{"type":"string","maxLength":255,"title":"Rule","description":"The rule's name."},"data_source_name":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Data Source Name","description":"The source of the rule (GET /v1/sources)."},"result_class":{"type":"string","maxLength":50,"title":"Result Class","description":"exclusion, restriction, positive, privileged, neutral, ..."},"criteria_block":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Criteria Block"},"is_inside":{"type":"boolean","title":"Is Inside","description":"The rule's condition holds for the subject (it lies in the zone, or its value meets the limit)."},"measured_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Measured Value","description":"The rule's measured value (a distance, an attribute), or null."},"unit":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Unit"},"summary_class":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Summary Class"}},"additionalProperties":false,"type":"object","required":["rule_id","rule","data_source_name","result_class","criteria_block","is_inside","measured_value","unit","summary_class"],"title":"RuleAnswer"},"RuleNotAnswered":{"properties":{"rule_id":{"type":"string","maxLength":64,"title":"Rule Id"},"rule":{"type":"string","maxLength":255,"title":"Rule"},"data_source_name":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Data Source Name"},"reason":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","title":"Reason","description":"needs_area (point mode), not_licensable, outside_coverage, no_source, stale, freshness_unknown or internal_error."}},"additionalProperties":false,"type":"object","required":["rule_id","rule","data_source_name","reason"],"title":"RuleNotAnswered"},"RulesetStep":{"properties":{"label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Label"},"op":{"type":"string","const":"ruleset","title":"Op","default":"ruleset"},"config_id":{"type":"string","format":"uuid","title":"Config Id"},"max_severity":{"type":"integer","maximum":0.0,"minimum":-2.0,"title":"Max Severity","default":-2}},"additionalProperties":false,"type":"object","required":["config_id"],"title":"RulesetStep"},"RunCompleteness":{"properties":{"complete":{"type":"boolean","title":"Complete"},"reason":{"anyOf":[{"type":"string","enum":["not_finished","result_limit","persistence_cap","result_budget"]},{"type":"null"}],"title":"Reason"},"refinement_required":{"type":"boolean","title":"Refinement Required"},"matched":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Matched"},"persisted":{"type":"integer","minimum":0.0,"title":"Persisted"},"result_limit":{"type":"integer","minimum":1.0,"title":"Result Limit"},"max_persisted":{"type":"integer","minimum":1.0,"title":"Max Persisted"},"partitioned_continuation":{"type":"boolean","title":"Partitioned Continuation"}},"additionalProperties":false,"type":"object","required":["complete","reason","refinement_required","matched","persisted","result_limit","max_persisted","partitioned_continuation"],"title":"RunCompleteness"},"RunRefusal":{"properties":{"code":{"type":"string","title":"Code"},"detail":{"type":"string","title":"Detail"}},"additionalProperties":false,"type":"object","required":["code","detail"],"title":"RunRefusal"},"SearchColumn":{"properties":{"name":{"type":"string","title":"Name"},"type":{"type":"string","enum":["id","text","number","date","bool"],"title":"Type"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"additionalProperties":false,"type":"object","required":["name","type","unit"],"title":"SearchColumn"},"SearchCriterion":{"properties":{"field":{"type":"string","maxLength":256,"title":"Field"},"type":{"type":"string","enum":["text","number","date","bool","spatial"],"title":"Type"},"ops":{"items":{"type":"string","maxLength":256},"type":"array","title":"Ops"},"unit":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Unit"},"enum_values":{"anyOf":[{"items":{"type":"string","maxLength":256},"type":"array"},{"type":"null"}],"title":"Enum Values"},"bounds":{"additionalProperties":{"type":"number"},"propertyNames":{"maxLength":256},"type":"object","title":"Bounds"},"description":{"type":"string","maxLength":4000,"title":"Description"},"kind":{"type":"string","enum":["attribute","population_filter","feature_filter","spatial","distance","count_within","related","bbox","area"],"title":"Kind"},"population":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Population"},"dataset":{"type":"string","maxLength":256,"title":"Dataset"},"relation":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Relation"},"parameters":{"additionalProperties":true,"propertyNames":{"maxLength":256},"type":"object","title":"Parameters"}},"additionalProperties":false,"type":"object","required":["field","type","ops","description","kind","dataset"],"title":"SearchCriterion"},"SearchFieldsDocument":{"properties":{"fields":{"items":{"$ref":"#/components/schemas/SearchCriterion"},"type":"array","title":"Fields"},"semantics":{"additionalProperties":true,"type":"object","title":"Semantics"}},"additionalProperties":false,"type":"object","required":["fields"],"title":"SearchFieldsDocument"},"SearchRow":{"properties":{"position":{"type":"integer","minimum":0.0,"title":"Position"},"status":{"type":"string","enum":["ok","not_covered"],"title":"Status"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"territory":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Territory"},"member_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Member Id"},"row":{"anyOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"null"}]},"step_flags":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Step Flags"},"measures":{"anyOf":[{"additionalProperties":{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"null"}]},"type":"object"},"type":"object"},{"type":"null"}],"title":"Measures"}},"additionalProperties":false,"type":"object","required":["position","status","reason","territory","member_id","row","step_flags"],"title":"SearchRow"},"SearchRunInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"population":{"type":"string","title":"Population"},"step_datasets":{"items":{"type":"string"},"type":"array","title":"Step Datasets"},"total_members":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Members"},"final_members":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Final Members"},"member_count":{"type":"integer","title":"Member Count"},"truncated":{"type":"boolean","title":"Truncated"},"pages":{"type":"integer","title":"Pages"},"page_size":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Page Size"},"cached":{"type":"boolean","title":"Cached"},"columns":{"items":{"$ref":"#/components/schemas/SearchColumn"},"type":"array","title":"Columns"},"funnel":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Funnel"},"steps":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Steps"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"},"not_covered":{"items":{"$ref":"#/components/schemas/NotCoveredTerritory"},"type":"array","title":"Not Covered"}},"additionalProperties":false,"type":"object","required":["id","population","step_datasets","total_members","final_members","member_count","truncated","pages","page_size","cached","columns","funnel","steps","warnings","not_covered"],"title":"SearchRunInfo"},"SearchSpec":{"properties":{"population":{"$ref":"#/components/schemas/PopulationSpec"},"steps":{"items":{"oneOf":[{"$ref":"#/components/schemas/AttributeStep"},{"$ref":"#/components/schemas/SpatialStep"},{"$ref":"#/components/schemas/DistanceStep"},{"$ref":"#/components/schemas/CountWithinStep"},{"$ref":"#/components/schemas/RelatedStep"},{"$ref":"#/components/schemas/RulesetStep"}],"discriminator":{"propertyName":"op","mapping":{"attribute":"#/components/schemas/AttributeStep","count_within":"#/components/schemas/CountWithinStep","distance":"#/components/schemas/DistanceStep","related":"#/components/schemas/RelatedStep","ruleset":"#/components/schemas/RulesetStep","spatial":"#/components/schemas/SpatialStep"}}},"type":"array","maxItems":12,"title":"Steps","default":[]},"on_unknown":{"$ref":"#/components/schemas/OnUnknown","default":"keep_flagged"},"output":{"$ref":"#/components/schemas/OutputSpec","default":{"sort":[],"limit":200}}},"additionalProperties":false,"type":"object","required":["population"],"title":"SearchSpec"},"SessionDetailOut":{"properties":{"transport":{"type":"string","enum":["bearer","cookie"],"title":"Transport"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"absolute_expires_at":{"type":"string","format":"date-time","title":"Absolute Expires At"}},"additionalProperties":false,"type":"object","required":["transport","expires_at","absolute_expires_at"],"title":"SessionDetailOut"},"SessionInfoResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"account_id":{"type":"string","format":"uuid","title":"Account Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"The account's verified contact address (null once the account is closed)."},"email_verified":{"type":"boolean","title":"Email Verified"},"sign_in_method":{"type":"string","enum":["password","google","link"],"title":"Sign In Method"},"organization":{"$ref":"#/components/schemas/OrganizationOut"},"accounts":{"items":{"$ref":"#/components/schemas/ConsoleAccountOut"},"type":"array","title":"Accounts","description":"The accounts of this sign-in (one for a link session)."},"session":{"$ref":"#/components/schemas/SessionDetailOut"},"account_guard_header":{"type":"string","const":"X-Enlapa-Account","title":"Account Guard Header","description":"Send this header with the account id on console calls: another account's session answers 409.","default":"X-Enlapa-Account"}},"additionalProperties":false,"type":"object","required":["meta","account_id","email","email_verified","sign_in_method","organization","accounts","session"],"title":"SessionInfoResponse"},"SessionResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"session_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Token","description":"The session token (Bearer). null when the session was set as the console cookie (D2)."},"token_type":{"type":"string","const":"Bearer","title":"Token Type","default":"Bearer"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"absolute_expires_at":{"type":"string","format":"date-time","title":"Absolute Expires At"}},"additionalProperties":false,"type":"object","required":["meta","session_token","expires_at","absolute_expires_at"],"title":"SessionResponse"},"SetupOut":{"properties":{"mcp_url":{"type":"string","title":"Mcp Url"},"server_name":{"type":"string","title":"Server Name"},"script_version":{"type":"string","title":"Script Version"},"script_sha256":{"type":"string","pattern":"^[0-9a-f]{64}$","title":"Script Sha256"},"sample_point":{"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array","maxItems":2,"minItems":2,"title":"Sample Point","description":"[longitude, latitude] of the check without an address."}},"additionalProperties":false,"type":"object","required":["mcp_url","server_name","script_version","script_sha256","sample_point"],"title":"SetupOut"},"ShareOf":{"type":"string","enum":["calculated_area","official_area"],"title":"ShareOf"},"SharedAggregate":{"properties":{"group_by":{"items":{"type":"string","maxLength":64},"type":"array","maxItems":3,"minItems":1,"title":"Group By"},"metrics":{"items":{"$ref":"#/components/schemas/AggregateMetric"},"type":"array","maxItems":5,"minItems":1,"title":"Metrics"},"limit":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Limit","default":50}},"additionalProperties":false,"type":"object","required":["group_by"],"title":"SharedAggregate"},"SharedFeatureQueryRequest":{"properties":{"layer_id":{"type":"string","maxLength":64,"title":"Layer Id"},"where":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Where"},"spatial":{"anyOf":[{"$ref":"#/components/schemas/SpatialFilter"},{"type":"null"}]},"fields":{"anyOf":[{"items":{"type":"string","maxLength":64},"type":"array","maxItems":64},{"type":"null"}],"title":"Fields"},"order_by":{"anyOf":[{"$ref":"#/components/schemas/OrderBy"},{"type":"null"}]},"page":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"Page","default":1},"page_size":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Page Size","default":20},"aggregate":{"anyOf":[{"$ref":"#/components/schemas/SharedAggregate"},{"type":"null"}]},"source_token":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"title":"Source Token","description":"Required after page one; use the previous source_token."}},"additionalProperties":false,"type":"object","required":["layer_id"],"title":"SharedFeatureQueryRequest"},"SignupAccepted":{"properties":{"envelope_version":{"type":"string","const":"dapi-2","title":"Envelope Version","default":"dapi-2"},"message":{"type":"string","title":"Message","default":"If signup is available for this address, a verification email has been sent."}},"additionalProperties":false,"type":"object","title":"SignupAccepted"},"SignupKey":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"raw_key":{"type":"string","title":"Raw Key","description":"Save this key now. It is returned only once and cannot be recovered."},"key_prefix":{"type":"string","title":"Key Prefix"},"scopes":{"items":{"type":"string","const":"data:read"},"type":"array","title":"Scopes"},"rate_limit_rpm":{"type":"integer","title":"Rate Limit Rpm"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"additionalProperties":false,"type":"object","required":["id","raw_key","key_prefix","scopes","rate_limit_rpm","expires_at"],"title":"SignupKey"},"SignupRequest":{"properties":{"company":{"type":"string","maxLength":255,"minLength":1,"title":"Company"},"email":{"type":"string","maxLength":254,"format":"email","title":"Email"},"vat_id":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}[A-Za-z0-9]{2,30}$"},{"type":"null"}],"title":"Vat Id"},"terms_version":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._-]{0,39}$","title":"Terms Version"},"terms_sha256":{"type":"string","pattern":"^[0-9a-fA-F]{64}$","title":"Terms Sha256"},"captcha_token":{"anyOf":[{"type":"string","maxLength":4096,"minLength":1},{"type":"null"}],"title":"Captcha Token"},"language":{"type":"string","enum":["de","en"],"title":"Language","default":"de"}},"additionalProperties":false,"type":"object","required":["company","email","terms_version","terms_sha256"],"title":"SignupRequest"},"SignupVerified":{"properties":{"envelope_version":{"type":"string","const":"dapi-2","title":"Envelope Version","default":"dapi-2"},"tenant_id":{"type":"string","format":"uuid","title":"Tenant Id"},"account_id":{"type":"string","format":"uuid","title":"Account Id"},"api_key":{"$ref":"#/components/schemas/SignupKey"}},"additionalProperties":false,"type":"object","required":["tenant_id","account_id","api_key"],"title":"SignupVerified"},"SkipOnboardingRequest":{"properties":{},"additionalProperties":false,"type":"object","title":"SkipOnboardingRequest"},"SkipOnboardingResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"state":{"type":"string","enum":["not_started","legacy","waiting","key_verified","mcp_connected","completed","skipped"],"title":"State"},"attempt":{"anyOf":[{"$ref":"#/components/schemas/AttemptOut"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["meta","state","attempt"],"title":"SkipOnboardingResponse"},"SortDirection":{"type":"string","enum":["asc","desc"],"title":"SortDirection"},"SortSpec":{"properties":{"column":{"type":"string","maxLength":64,"minLength":1,"title":"Column"},"direction":{"$ref":"#/components/schemas/SortDirection","default":"asc"},"nulls":{"$ref":"#/components/schemas/NullsPlacement","default":"last"}},"additionalProperties":false,"type":"object","required":["column"],"title":"SortSpec"},"SourceRef":{"properties":{"id":{"type":"string","pattern":"^[a-z0-9][a-z0-9_.-]{0,127}$","title":"Id"},"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"publisher":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Publisher"},"url":{"anyOf":[{"type":"string","maxLength":2048,"pattern":"^https?://[^\\s]+$"},{"type":"null"}],"title":"Url"}},"additionalProperties":false,"type":"object","required":["id","name","publisher","url"],"title":"SourceRef"},"SourcesDocument":{"properties":{"catalog_version":{"type":"string","title":"Catalog Version"},"source_count":{"type":"integer","title":"Source Count"},"sources":{"items":{"$ref":"#/components/schemas/CatalogSource"},"type":"array","title":"Sources"}},"additionalProperties":false,"type":"object","required":["catalog_version","source_count","sources"],"title":"SourcesDocument"},"SpatialFilter":{"properties":{"rel":{"type":"string","enum":["dwithin","intersects","within","contains"],"title":"Rel"},"distance_m":{"anyOf":[{"type":"integer","maximum":50000.0,"minimum":1.0},{"type":"null"}],"title":"Distance M"},"of":{"$ref":"#/components/schemas/SpatialOperand"}},"additionalProperties":false,"type":"object","required":["rel","of"],"title":"SpatialFilter"},"SpatialOperand":{"properties":{"geometry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometry"},"site_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Site Id"},"layer_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Layer Id"},"where":{"anyOf":[{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object"},{"type":"null"}],"title":"Where"},"point":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Point"}},"additionalProperties":false,"type":"object","title":"SpatialOperand"},"SpatialStep":{"properties":{"label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Label"},"op":{"type":"string","const":"spatial","title":"Op","default":"spatial"},"relation":{"type":"string","enum":["intersects","within","outside"],"title":"Relation"},"dataset":{"type":"string","maxLength":64,"minLength":1,"title":"Dataset"},"buffer_m":{"type":"number","maximum":50000.0,"minimum":0.0,"title":"Buffer M","default":0.0},"feature_filter":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Feature Filter"},"measure":{"type":"boolean","title":"Measure","default":false},"share_of":{"$ref":"#/components/schemas/ShareOf","default":"calculated_area"}},"additionalProperties":false,"type":"object","required":["relation","dataset"],"title":"SpatialStep"},"SubjectIn":{"properties":{"kind":{"type":"string","enum":["point","parcel"],"title":"Kind","description":"point (default): every field describes the coordinate. parcel: the Flurstück under the coordinate is resolved from the cadastre as well, and the fields that need an area (its identifier and official area, its perimeter, the buildings on it) describe that Flurstück; every other field still describes the point. A Bavarian Flurstück is not released through the API yet (NOT_LICENSABLE).","default":"point"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"WGS84 longitude (x)."},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"WGS84 latitude (y)."}},"additionalProperties":false,"type":"object","required":["longitude","latitude"],"title":"SubjectIn"},"SubjectOut":{"properties":{"located_by":{"type":"string","enum":["point","address","fsk","geometry"],"title":"Located By"},"derived_point":{"$ref":"#/components/schemas/GeocodePoint"},"point_derivation":{"type":"string","enum":["coordinate","geocode","point_on_surface"],"title":"Point Derivation"},"match_class":{"anyOf":[{"$ref":"#/components/schemas/MatchClass"},{"type":"null"}]},"ambiguous":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ambiguous"},"fsk":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Fsk"},"kind":{"type":"string","enum":["point","parcel"],"title":"Kind"},"longitude":{"type":"number","title":"Longitude"},"latitude":{"type":"number","title":"Latitude"},"territory":{"type":"string","pattern":"^[A-Z]{2}(-[A-Z0-9]{1,3})?$","title":"Territory","description":"ISO 3166-2 code of the German Land the point lies in; outside Germany (dapi-cm) the ISO 3166-1 code of the country it lies in (see location)."}},"additionalProperties":false,"type":"object","required":["located_by","derived_point","point_derivation","kind","longitude","latitude","territory"],"title":"SubjectOut"},"Subjects":{"properties":{"point":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Point","description":"Länder a point subject is accepted in."},"parcel":{"items":{"type":"string","enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"array","title":"Parcel","description":"Länder a Flurstück subject is accepted in."}},"additionalProperties":false,"type":"object","required":["point","parcel"],"title":"Subjects"},"Support":{"type":"string","enum":["point_sample","parcel_overlap","nearest_feature","aggregate"],"title":"Support"},"TaxIdOut":{"properties":{"type":{"type":"string","title":"Type"},"value":{"type":"string","title":"Value"},"status":{"anyOf":[{"type":"string","enum":["pending","verified","unverified","unavailable"]},{"type":"string"}],"title":"Status"},"checked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Checked At"}},"type":"object","required":["type","value","status"],"title":"TaxIdOut"},"TopupRequest":{"properties":{"amount_micros":{"type":"integer","maximum":9007199254740991.0,"exclusiveMinimum":0.0,"title":"Amount Micros"},"language":{"type":"string","enum":["de","en"],"title":"Language","default":"de"}},"additionalProperties":false,"type":"object","required":["amount_micros"],"title":"TopupRequest"},"TopupResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"checkout_url":{"type":"string","title":"Checkout Url"}},"additionalProperties":false,"type":"object","required":["meta","checkout_url"],"title":"TopupResponse"},"TransactionItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"kind":{"type":"string","title":"Kind"},"amount_micros":{"type":"integer","title":"Amount Micros"},"operation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Operation"},"units":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Units"},"pricing_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pricing Version"},"reservation_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Reservation Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","kind","amount_micros","operation","units","pricing_version","reservation_id","created_at"],"title":"TransactionItem"},"TransactionsResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"items":{"items":{"$ref":"#/components/schemas/TransactionItem"},"type":"array","title":"Items"},"pagination":{"$ref":"#/components/schemas/Pagination"}},"additionalProperties":false,"type":"object","required":["meta","items","pagination"],"title":"TransactionsResponse"},"UnavailableDataset":{"properties":{"dataset_id":{"type":"string","maxLength":128,"title":"Dataset Id"},"label_de":{"type":"string","maxLength":200,"title":"Label De"},"label_en":{"type":"string","maxLength":200,"title":"Label En"},"category_path":{"items":{"type":"string","maxLength":128},"type":"array","title":"Category Path"},"path":{"items":{"$ref":"#/components/schemas/CategoryCrumb"},"type":"array","title":"Path"},"data_kind":{"$ref":"#/components/schemas/DataKind"},"capabilities":{"items":{"type":"string","enum":["profile","distances"]},"type":"array","title":"Capabilities","description":"The operations it is declared for (not offered now)."},"planned":{"type":"boolean","title":"Planned","description":"No reader is implemented for any of its declared fields yet."},"by_territory":{"additionalProperties":{"items":{"$ref":"#/components/schemas/ReadinessReason"},"type":"array"},"propertyNames":{"enum":["DE-BB","DE-BE","DE-BW","DE-BY","DE-HB","DE-HE","DE-HH","DE-MV","DE-NI","DE-NW","DE-RP","DE-SH","DE-SL","DE-SN","DE-ST","DE-TH"]},"type":"object","title":"By Territory","description":"Land → the distinct reasons its declared items are not answerable there, in gate order."}},"additionalProperties":false,"type":"object","required":["dataset_id","label_de","label_en","category_path","path","data_kind","capabilities","planned","by_territory"],"title":"UnavailableDataset"},"UnlicensableRequest":{"properties":{"disposition":{"type":"string","const":"not_licensable","title":"Disposition","default":"not_licensable"},"legal_reason":{"type":"string","maxLength":1000,"title":"Legal Reason"},"meta":{"$ref":"#/components/schemas/ResponseMeta"},"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"request":{"$ref":"#/components/schemas/FieldRequestInput"}},"additionalProperties":false,"type":"object","required":["legal_reason","meta","id","created_at","request"],"title":"UnlicensableRequest"},"UpstreamOut":{"properties":{"status":{"type":"integer","title":"Status"},"method":{"type":"string","const":"POST","title":"Method"},"path":{"type":"string","title":"Path"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers"},"body":{"title":"Body"}},"additionalProperties":false,"type":"object","required":["status","method","path","headers","body"],"title":"UpstreamOut"},"UsageItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"api_key_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Api Key Id","description":"The key that authenticated the request; null for a console playground call (its key is internal)."},"endpoint":{"type":"string","title":"Endpoint"},"method":{"type":"string","title":"Method"},"response_status":{"type":"integer","title":"Response Status"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"duration_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration Ms"},"operation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Operation"},"units":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Units"},"outcome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Outcome"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"transport":{"anyOf":[{"type":"string","enum":["rest","mcp","console"]},{"type":"null"}],"title":"Transport","description":"REST, the data MCP, or the console playground; null on rows written before dac."},"cost_micros":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cost Micros","description":"What the request was charged (settled ledger entries); null when it cost nothing."},"key_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Name","description":"The key's name; 'Konsole'/'Console' for the playground."}},"type":"object","required":["id","api_key_id","endpoint","method","response_status","request_id","duration_ms","operation","units","outcome","created_at"],"title":"UsageItem"},"UsageResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"items":{"items":{"$ref":"#/components/schemas/UsageItem"},"type":"array","title":"Items"},"pagination":{"$ref":"#/components/schemas/Pagination"}},"additionalProperties":false,"type":"object","required":["meta","items","pagination"],"title":"UsageResponse"},"UsageSummaryResponse":{"properties":{"meta":{"$ref":"#/components/schemas/ResponseMeta"},"period":{"$ref":"#/components/schemas/PeriodOut"},"balance_micros":{"type":"integer","title":"Balance Micros"},"reserved_micros":{"type":"integer","minimum":0.0,"title":"Reserved Micros"},"month_spend_micros":{"type":"integer","minimum":0.0,"title":"Month Spend Micros"},"monthly_cap_micros":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Monthly Cap Micros"},"paused":{"type":"boolean","title":"Paused"},"free_pools":{"items":{"$ref":"#/components/schemas/FreePoolOut"},"type":"array","title":"Free Pools"},"by_operation":{"items":{"$ref":"#/components/schemas/OperationSpendOut"},"type":"array","title":"By Operation"}},"additionalProperties":false,"type":"object","required":["meta","period","balance_micros","reserved_micros","month_spend_micros","monthly_cap_micros","paused","free_pools","by_operation"],"title":"UsageSummaryResponse"},"ValueStatus":{"type":"string","enum":["ok","absent","not_covered","failed"],"title":"ValueStatus"},"VerifySignupRequest":{"properties":{"token":{"type":"string","pattern":"^[A-Za-z0-9_-]{43}$","title":"Token"}},"additionalProperties":false,"type":"object","required":["token"],"title":"VerifySignupRequest"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key","description":"The account's data API key. Keys belong on a server, never in a browser."},"AccountSession":{"type":"http","description":"An account access-link session token.","scheme":"bearer"}}},"x-error-codes":[{"code":"ACCOUNT_CAP_ABOVE_CEILING","http_status":403,"retryable":false,"meaning":"The requested monthly spending cap exceeds the operator ceiling.","remedy":"Choose a cap at or below the operator ceiling, or contact support."},{"code":"ACCOUNT_KEY_NOT_ROTATABLE","http_status":409,"retryable":false,"meaning":"The key is revoked, expired or has an invalid product scope.","remedy":"Create a new data:read key through the account session."},{"code":"ACCOUNT_MISMATCH","http_status":409,"retryable":false,"meaning":"This request was made for another account than the one this session is signed in to (the account guard header names another account).","remedy":"Reload the console: another tab switched the account. Nothing was changed."},{"code":"ACCOUNT_NOT_CLOSABLE","http_status":403,"retryable":false,"meaning":"This account cannot be closed from the console.","remedy":"Contact support."},{"code":"ACCOUNT_NOT_FOUND","http_status":404,"retryable":false,"meaning":"No Data API account belongs to this sign-in.","remedy":"Sign up with POST /v1/signup/cognito, or use the access link sent to the account's contact address."},{"code":"ACCOUNT_PAUSED","http_status":403,"retryable":false,"meaning":"The customer has paused data requests for this account.","remedy":"Resume requests through the account limits operation using an account session."},{"code":"ACCOUNT_SESSION_INVALID","http_status":401,"retryable":false,"meaning":"The account session or access link is missing, expired, used or revoked.","remedy":"Request a new account access link and exchange it for a session."},{"code":"ACCOUNT_SESSION_REQUIRED","http_status":403,"retryable":false,"meaning":"This operation requires an account session.","remedy":"Use the session from the e-mailed account access link; an API key cannot manage the account."},{"code":"ACCOUNT_SUSPENDED","http_status":403,"retryable":false,"meaning":"The API account is suspended (for example after a refund or a payment dispute left its balance negative, or by an administrator). No operation answers until it is reactivated.","remedy":"Contact support; resending the request does not help."},{"code":"API_KEY_INVALID","http_status":401,"retryable":false,"meaning":"The X-API-Key presented is unknown, expired or revoked.","remedy":"Check that the whole key was sent; a revoked or expired key has to be replaced by a new one."},{"code":"API_KEY_MISSING","http_status":401,"retryable":false,"meaning":"No X-API-Key header was sent.","remedy":"Send the account's API key in the X-API-Key header. Keys belong on a server, never in a browser."},{"code":"API_KEY_SCOPE_INVALID","http_status":403,"retryable":false,"meaning":"The key is valid but was not issued for the data API (it does not carry exactly the data:read scope), for example a DataHub or a personal MCP key.","remedy":"Send the account's data API key; a key issued for another product does not open this API."},{"code":"BILLING_CUSTOMER_MISSING","http_status":409,"retryable":false,"meaning":"This account has no billing record yet (no top-up and no plan so far).","remedy":"Top up the balance or start a plan first; the billing portal opens after the first payment."},{"code":"BILLING_PORTAL_UNAVAILABLE","http_status":503,"retryable":true,"meaning":"The billing portal is not available right now.","remedy":"Top-ups, invoices and the plan are in the console; try the portal again later."},{"code":"BILLING_PROVIDER_UNAVAILABLE","http_status":503,"retryable":true,"meaning":"The payment provider did not answer. Nothing was changed.","remedy":"Try again in a moment."},{"code":"BILLING_UNAVAILABLE","http_status":503,"retryable":true,"meaning":"The payment provider is temporarily unavailable, or the account's billing record needs support.","remedy":"Try again later; contact support if it persists."},{"code":"BODY_TOO_LARGE","http_status":413,"retryable":false,"meaning":"The request body is larger than the service accepts (its Content-Length is above the limit). Nothing ran and nothing was charged.","remedy":"Send a smaller body: a simpler geometry or fewer items per request."},{"code":"BUSINESS_DECLARATION_REQUIRED","http_status":422,"retryable":false,"meaning":"Signing up requires the declaration that you act as a business (§ 14 BGB).","remedy":"Confirm the business declaration and send the request again."},{"code":"CATALOG_LOGIN_REQUIRED","http_status":401,"retryable":false,"meaning":"This part of the catalogue (a filter, a search or a dataset's detail) is served after login only.","remedy":"Send an API key (X-API-Key) from a server, or call it from the console with the account session (Authorization: Bearer). Without a credential the catalogue lists dataset names, categories and counts."},{"code":"CLOSE_CONFIRMATION_MISMATCH","http_status":422,"retryable":false,"meaning":"The confirmation does not match the organisation name.","remedy":"Type the organisation name exactly as the console shows it."},{"code":"COGNITO_EMAIL_UNVERIFIED","http_status":403,"retryable":false,"meaning":"The e-mail address of this sign-in is not verified.","remedy":"Verify the e-mail address in the sign-in dialog, then sign in again."},{"code":"COGNITO_LOGIN_UNAVAILABLE","http_status":503,"retryable":true,"meaning":"Signing in with the console sign-in is not available right now.","remedy":"Use the e-mailed account access link, or try again after Retry-After."},{"code":"COGNITO_TOKEN_INVALID","http_status":401,"retryable":false,"meaning":"The sign-in token is invalid, expired, already used or not issued for the Data API console.","remedy":"Sign in again and send the fresh ID token once."},{"code":"CONCURRENCY_LIMIT","http_status":429,"retryable":true,"meaning":"Too many operations of this kind are already running, for this account or across the service. Nothing ran.","remedy":"Send the request again after Retry-After, and run fewer of these operations in parallel."},{"code":"CONCURRENCY_UNAVAILABLE","http_status":503,"retryable":true,"meaning":"The service cannot count the operations running right now, so the request is refused rather than run without that limit. Nothing ran.","remedy":"Send the request again after Retry-After; nothing about the request itself is wrong."},{"code":"DAILY_LIMIT","http_status":429,"retryable":false,"meaning":"The account reached one of its daily ceilings (spend, units, rows or search runs); a daily spending ceiling counts the calls still running too and resets at midnight, Europe/Berlin time. Nothing ran and nothing was charged.","remedy":"Wait until the ceiling resets (Retry-After gives the seconds when known), or ask support to raise it."},{"code":"DEMO_BUSY","http_status":429,"retryable":true,"meaning":"The free live test is at its overall limit right now. Nothing ran.","remedy":"Wait for Retry-After, or create an account and call the API with your own key."},{"code":"DEMO_DISABLED","http_status":503,"retryable":true,"meaning":"The free live test is switched off right now. Nothing ran.","remedy":"Try again later, or create an account and call the API with your own key."},{"code":"DEMO_OPERATION_NOT_OFFERED","http_status":404,"retryable":false,"meaning":"The free live test offers only profile, distances and area-check, for one point in Germany.","remedy":"Create an account and call every operation with your own key (see the documentation)."},{"code":"DEMO_ORIGIN_REFUSED","http_status":403,"retryable":false,"meaning":"The free live test answers only the company website and clients that send no browser Origin.","remedy":"Use the playground on the company website, or create an account and call the API with your own key."},{"code":"DEMO_OUTSIDE_GERMANY","http_status":422,"retryable":false,"meaning":"The free live test answers points in Germany only.","remedy":"Pick a point in Germany, or create an account for the full coverage."},{"code":"DEMO_RATE_LIMITED","http_status":429,"retryable":true,"meaning":"The free live test allows a few calls per minute and per day from one network. Nothing ran.","remedy":"Wait for Retry-After, or create an account and call the API with your own key."},{"code":"DEMO_UNAVAILABLE","http_status":503,"retryable":true,"meaning":"The free live test cannot answer right now. Nothing was charged.","remedy":"Try again in a moment, or create an account and call the API with your own key."},{"code":"GEOCODE_BATCH_REFUSED","http_status":422,"retryable":false,"meaning":"The geocode request carried more than one address (a list, or several addresses separated by line breaks, ';' or '|'). Batch and bulk geocoding are not offered. Nothing ran and nothing was counted.","remedy":"Send one address per request, and keep each answer instead of geocoding the same address again."},{"code":"GEOCODE_NOT_AN_ADDRESS","http_status":422,"retryable":false,"meaning":"The geocode query carries coordinates (decimal or degree notation). Geocode resolves addresses and place names; looking up the place at a coordinate is not offered. Nothing ran and nothing was counted.","remedy":"Send a postal address or a place name; a coordinate you already have needs no geocoding."},{"code":"GEOCODE_THROTTLED","http_status":429,"retryable":true,"meaning":"The geocoder's shared request budget is used up for this moment (it serves one request per second for the whole service, interactive use first). Nothing ran and nothing was counted.","remedy":"Send the request again after Retry-After, one address per call; an answer you already have does not need a second call."},{"code":"GEOCODE_UPSTREAM_UNAVAILABLE","http_status":503,"retryable":true,"meaning":"The geocoding service behind this operation timed out, was unreachable or answered with an error. Nothing was counted.","remedy":"Send the request again after Retry-After; nothing about the request itself is wrong."},{"code":"GEOMETRY_TOO_LARGE","http_status":422,"retryable":false,"meaning":"The polygon's area is larger than the operation accepts (GET /v1/prices states the limit as area_tiers.max_ha). Nothing ran and nothing was charged.","remedy":"Split the area into smaller polygons and check each of them on its own."},{"code":"IDEMPOTENCY_CONFLICT","http_status":409,"retryable":false,"meaning":"The Idempotency-Key was already used by this account for a request with a different operation or body. Nothing ran and nothing was charged.","remedy":"Send a new request with a fresh key; reuse a key only to repeat the identical request."},{"code":"IDEMPOTENCY_IN_FLIGHT","http_status":409,"retryable":true,"meaning":"A request with the same Idempotency-Key is still being processed. Nothing ran a second time and nothing was charged twice.","remedy":"Send the identical request again (after Retry-After when given); once the first one has finished it returns that stored answer."},{"code":"INSUFFICIENT_CREDIT","http_status":402,"retryable":false,"meaning":"The account's prepaid balance, after its free allowance, does not cover the price of this call. Nothing ran and nothing was charged.","remedy":"Top up the account, or ask for less; the unit prices are listed at GET /v1/prices."},{"code":"INTERNAL_ERROR","http_status":500,"retryable":false,"meaning":"The operation broke on our side; nothing more is said about it (the detail of an internal fault is not a caller's to read). Nothing was charged.","remedy":"Report it with the request id if it persists; it is not known to be transient, so do not resend it in a loop."},{"code":"LOCATOR_AMBIGUOUS","http_status":422,"retryable":false,"meaning":"The address resolves to several similarly ranked candidates in different municipalities. Nothing was charged.","remedy":"Choose a candidate point or send a more specific address with a new Idempotency-Key."},{"code":"LOCATOR_NO_MATCH","http_status":422,"retryable":false,"meaning":"No usable point was found for the address. Nothing was evaluated or charged.","remedy":"Correct the address or send a known point with a new Idempotency-Key; never substitute an estimate."},{"code":"MAX_COST_EXCEEDED","http_status":402,"retryable":false,"meaning":"The price of this call is above the max_cost_micros ceiling the request set. Nothing ran and nothing was charged.","remedy":"Raise max_cost_micros to at least the price (GET /v1/prices), or ask for less."},{"code":"MAX_COST_REQUIRED","http_status":422,"retryable":false,"meaning":"A playground call needs a cost ceiling (body.max_cost_micros): a positive integer of micro-euros.","remedy":"Set max_cost_micros in the request body (null is no ceiling)."},{"code":"METHOD_NOT_ALLOWED","http_status":405,"retryable":false,"meaning":"The path exists but does not accept this HTTP method.","remedy":"Use the method the API description (GET /v1/openapi.json) lists for that path."},{"code":"MONTHLY_LIMIT","http_status":429,"retryable":false,"meaning":"The account reached its monthly spending ceiling: the price of this call, with this calendar month's spend (Europe/Berlin) and the calls still running, would exceed it. Calls inside the free allowance still answer. Nothing ran and nothing was charged.","remedy":"Wait until the ceiling resets on the first of the month (Retry-After gives the seconds when that is less than a day away; detail names the date), or ask support to raise it."},{"code":"NETWORK_RATE_LIMIT","http_status":429,"retryable":true,"meaning":"The request rate from this request's network address (IP) is above its ceiling, counted over five minutes for all keys and accounts behind that address together. Nothing ran and nothing was charged.","remedy":"Send the request again after Retry-After and spread calls instead of bursting them; if several integrations share one outgoing address, ask support to review the ceiling."},{"code":"NOT_FOUND","http_status":404,"retryable":false,"meaning":"Nothing exists under this path or id for this account.","remedy":"Check the path against GET /v1/openapi.json, and take ids from an earlier answer."},{"code":"NOT_LICENSABLE","http_status":422,"retryable":false,"meaning":"A source this answer needs is not cleared for redistribution through the API for this territory, or its clearance was withdrawn (a stored answer is then not replayed either). This is a licensing fact, not missing data and not a fault; nothing was charged.","remedy":"Do not resend it. Ask for other fields or another operation; GET /v1/sources states what each source may be used for."},{"code":"NO_DATA","http_status":404,"retryable":false,"meaning":"The platform holds no data for this location. This is an ABSENCE of data, not a measurement of zero, and it is never charged.","remedy":"Report the gap; never substitute an estimate."},{"code":"ONBOARDING_COMPLETED","http_status":409,"retryable":false,"meaning":"Agent setup is already complete for this account.","remedy":"Send {\"again\": true} to set up another agent with a new key."},{"code":"OPERATION_NOT_IN_PLAYGROUND","http_status":422,"retryable":false,"meaning":"This operation cannot run in the console playground.","remedy":"Call it with an API key from your own code (see the documentation)."},{"code":"OPERATION_NOT_PRICED","http_status":422,"retryable":false,"meaning":"This operation has no published Data API price and cannot execute.","remedy":"Use a currently published operation; this capability is not available for paid publication yet."},{"code":"OPERATION_TIMEOUT","http_status":504,"retryable":false,"meaning":"The operation ran past its time limit and was stopped, on the database as well.","remedy":"Ask for less (a smaller area, fewer rows or fields); the identical request is likely to run out of time again."},{"code":"OPERATION_WITHDRAWN","http_status":503,"retryable":false,"meaning":"This operation is withdrawn for all accounts while the rest of the data API keeps answering. Nothing ran and nothing was charged.","remedy":"Use another operation for now; the catalog (GET /v1/catalog) lists the operation as withdrawn until it is back. Resending the same request will not succeed while it is withdrawn."},{"code":"PAID_CREDIT_REQUIRED","http_status":402,"retryable":false,"meaning":"The call contains pass-through units (such as Bavarian parcels: an external fee is paid per unit), and the account's topped-up credit does not cover them; the welcome credit never does, and a billing-exempt account is never served them. Nothing ran and nothing was charged.","remedy":"Top up the account (any top-up counts), then send the request again; GET /v1/prices marks the pass_through units. A parcel search can leave Bavaria out (include_bavaria false)."},{"code":"PLAN_ALREADY_ACTIVE","http_status":409,"retryable":false,"meaning":"The account already has a monthly plan subscription.","remedy":"Switch it with POST /v1/account/plan/switch or cancel it with POST /v1/account/plan/cancel."},{"code":"PLAN_INVALID","http_status":422,"retryable":false,"meaning":"Only the monthly plans build and growth can be chosen here.","remedy":"Choose build or growth; Enterprise is contracted separately."},{"code":"PLAN_NOT_CANCELLING","http_status":409,"retryable":false,"meaning":"The subscription has no pending cancellation to undo.","remedy":"Nothing to do; GET /v1/account shows the plan and its next renewal."},{"code":"PLAN_NOT_FOUND","http_status":404,"retryable":false,"meaning":"The account has no monthly plan subscription that is still billing.","remedy":"Start one with POST /v1/account/plan. A plan just paid for may take a minute to appear."},{"code":"PLAN_UNCHANGED","http_status":409,"retryable":false,"meaning":"The subscription already renews as this plan.","remedy":"Choose the other plan, or resume a pending cancellation with POST /v1/account/plan/resume."},{"code":"PLAYGROUND_DISABLED","http_status":503,"retryable":true,"meaning":"The console playground is switched off right now.","remedy":"Call the API with your own key, or try again later."},{"code":"PLAYGROUND_RATE_LIMITED","http_status":429,"retryable":true,"meaning":"The console playground's per-account limit (per minute or per day) is reached. Nothing ran.","remedy":"Wait for Retry-After, or call the API with your own key."},{"code":"RATE_LIMITER_UNAVAILABLE","http_status":503,"retryable":true,"meaning":"The rate limiter's backend is down, so the request is refused rather than run unmetered.","remedy":"Send the request again after Retry-After; nothing about the request itself is wrong."},{"code":"RATE_LIMIT_EXCEEDED","http_status":429,"retryable":true,"meaning":"The per-minute request ceiling of this key or of the account is reached.","remedy":"Send the request again after Retry-After, and spread calls instead of bursting them."},{"code":"REQUEST_REJECTED","http_status":400,"retryable":false,"meaning":"The request was refused for a reason no more specific code covers; detail says why.","remedy":"Correct the request as detail describes; resending it unchanged gives the same answer."},{"code":"SEARCH_TOO_BROAD","http_status":422,"retryable":false,"meaning":"The parcel search is larger than an interactive call may run (the engine would queue it). Nothing was charged.","remedy":"Queue it as a durable run (POST /v1/parcels/search/runs, free; its pages are charged as usual), or narrow the search: a smaller area or more filters."},{"code":"SERVICE_PAUSED","http_status":503,"retryable":true,"meaning":"The data API is paused for all accounts (maintenance or an incident). Nothing ran and nothing was charged.","remedy":"Send the request again after Retry-After; nothing about the request or the account is wrong."},{"code":"SESSION_TRANSPORT_UNAVAILABLE","http_status":422,"retryable":false,"meaning":"The session cookie is not available here (or the request did not come from the console).","remedy":"Send session_transport 'bearer' and keep the session token in memory."},{"code":"SIGNUP_ACCOUNT_EXISTS","http_status":409,"retryable":false,"meaning":"This sign-in or e-mail address already has a Data API account.","remedy":"Sign in with POST /v1/account/session/cognito, or use the e-mailed account access link."},{"code":"SIGNUP_CAPTCHA_FAILED","http_status":403,"retryable":false,"meaning":"The signup captcha was not verified.","remedy":"Solve a fresh captcha and submit again."},{"code":"SIGNUP_DISPOSABLE_DOMAIN","http_status":422,"retryable":false,"meaning":"Disposable email domains cannot receive free API accounts.","remedy":"Use a company email address."},{"code":"SIGNUP_DOMAIN_LIMIT","http_status":409,"retryable":false,"meaning":"The email domain has reached its free-account limit.","remedy":"Contact support for another account."},{"code":"SIGNUP_RATE_LIMITED","http_status":429,"retryable":false,"meaning":"The network or email domain has reached its signup request limit.","remedy":"Wait for Retry-After before requesting signup again."},{"code":"SIGNUP_TERMS_MISMATCH","http_status":409,"retryable":false,"meaning":"The accepted terms do not match the current terms.","remedy":"Read the current terms and submit their version and SHA-256 digest."},{"code":"SIGNUP_TOKEN_CONSUMED","http_status":409,"retryable":false,"meaning":"The verification token was already consumed. The key cannot be shown again.","remedy":"Use the key saved at verification or contact support for key recovery by rotation."},{"code":"SIGNUP_TOKEN_EXPIRED","http_status":410,"retryable":false,"meaning":"The verification token has expired.","remedy":"Request a new signup link."},{"code":"SIGNUP_TOKEN_INVALID","http_status":400,"retryable":false,"meaning":"The verification token is invalid or its attempt limit was reached.","remedy":"Request a new signup link."},{"code":"SIGNUP_UNAVAILABLE","http_status":503,"retryable":true,"meaning":"Email verification is temporarily unavailable.","remedy":"Try again after Retry-After."},{"code":"SUBSCRIPTION_NOT_ACTIVE","http_status":409,"retryable":false,"meaning":"The plan cannot be switched while its first payment is pending or an invoice is unpaid.","remedy":"Wait until the payment is confirmed, or pay the open invoice (Stripe sent it by e-mail); cancelling stays possible."},{"code":"TENANT_INACTIVE","http_status":403,"retryable":false,"meaning":"The account behind this key is deactivated.","remedy":"Contact support; no operation answers until the account is active again."},{"code":"TOPUP_ABOVE_MAXIMUM","http_status":422,"retryable":false,"meaning":"The top-up amount exceeds the maximum per payment.","remedy":"Choose a smaller top-up amount."},{"code":"TOPUP_AMOUNT_INVALID","http_status":422,"retryable":false,"meaning":"The top-up amount must be a positive whole number of euros, within the catalog bounds.","remedy":"Choose an amount within the limits in GET /v1/prices."},{"code":"TOPUP_BELOW_MINIMUM","http_status":422,"retryable":false,"meaning":"The top-up amount is below the catalog minimum.","remedy":"Choose at least the minimum in GET /v1/prices."},{"code":"TOPUP_NOT_CONFIGURED","http_status":503,"retryable":true,"meaning":"Account top-ups are temporarily unavailable.","remedy":"Contact support or try again later."},{"code":"TOPUP_UNAVAILABLE","http_status":503,"retryable":true,"meaning":"The payment provider is temporarily unavailable.","remedy":"Try again later."},{"code":"VALIDATION_ERROR","http_status":422,"retryable":false,"meaning":"The request does not match the operation's schema (a missing or malformed header, a wrong type, an unknown member). detail names each position, never the value sent.","remedy":"Correct the named positions; the schema of every operation is in GET /v1/openapi.json."},{"code":"VAT_ID_UNUSABLE","http_status":422,"retryable":false,"meaning":"This VAT ID cannot be put on invoices (its country prefix or format is not supported). Nothing was changed.","remedy":"Check the VAT ID; the previous one stays on your invoices."}],"x-envelope-version":"dapi-2","x-max-request-body-bytes":57671680,"x-idempotency-retention-seconds":86400}