{"openapi":"3.1.2","jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","info":{"title":"Redline UDS Evidence API","version":"1.1.0","description":"Private diagnostic evidence ingestion. No vehicle communication or automatic decoding. Ownership is derived from authentication. Preserve original evidence, unknown context and stable replay keys; use /capabilities for effective limits."},"servers":[{"url":"https://api.redlineautohaus.com/api/v1/uds"}],"paths":{"/catalog/organizations":{"post":{"operationId":"create_organization","summary":"create organization","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/organization"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/organization_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_organization","summary":"list organization","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"name","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":191},"description":"Exact match on the indexed name field."},{"name":"namespace","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":191},"description":"Exact match on the indexed namespace field."},{"name":"q","in":"query","required":false,"schema":{"type":"string","minLength":2,"maxLength":64},"description":"Bounded name-prefix search; wildcard characters are treated as literal text."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/organization_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/catalog/organizations/{id}":{"get":{"operationId":"get_organization","summary":"get organization","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/organization_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/catalog/vehicle-nodes":{"post":{"operationId":"create_vehicle_node","summary":"create vehicle node","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_node"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_node_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_vehicle_node","summary":"list vehicle node","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["make","model","chassis","platform"]},"description":"Exact match on the indexed kind field."},{"name":"name","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":191},"description":"Exact match on the indexed name field."},{"name":"namespace","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":191},"description":"Exact match on the indexed namespace field."},{"name":"reported_code","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":191},"description":"Exact match on the indexed reported_code field."},{"name":"organization_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed organization_id field."},{"name":"q","in":"query","required":false,"schema":{"type":"string","minLength":2,"maxLength":64},"description":"Bounded name-prefix search; wildcard characters are treated as literal text."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_node_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/catalog/vehicle-nodes/{id}":{"get":{"operationId":"get_vehicle_node","summary":"get vehicle node","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_node_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/catalog/vehicle-relations":{"post":{"operationId":"create_vehicle_relation","summary":"create vehicle relation","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_relation"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_relation_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_vehicle_relation","summary":"list vehicle relation","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"from_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed from_id field."},{"name":"to_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed to_id field."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_relation_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/catalog/vehicle-relations/{id}":{"get":{"operationId":"get_vehicle_relation","summary":"get vehicle relation","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_relation_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/catalog/vehicle-variants":{"post":{"operationId":"create_vehicle_variant","summary":"create vehicle variant","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_variant"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_variant_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_vehicle_variant","summary":"list vehicle variant","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"model_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed model_id field."},{"name":"chassis_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed chassis_id field."},{"name":"platform_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed platform_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_variant_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/catalog/vehicle-variants/{id}":{"get":{"operationId":"get_vehicle_variant","summary":"get vehicle variant","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_variant_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/vehicles":{"post":{"operationId":"create_vehicle","summary":"create vehicle","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_vehicle","summary":"list vehicle","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"variant_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed variant_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/vehicles/{id}":{"get":{"operationId":"get_vehicle","summary":"get vehicle","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"patch":{"operationId":"patch_vehicle","summary":"patch vehicle","security":[{"bearerAuth":[]}],"description":"Only declared mutable metadata changes. Raw evidence is not overwritten; use an explicit revision for corrections.\n\nRequired permissions: `uds:read`, `uds:write`.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string","pattern":"^\"[1-9][0-9]*\"$","examples":["\"1\""]},"description":"Exact ETag of the resource version being edited. No wildcard or unconditional overwrite."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_patch"}}}},"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"428":{"description":"If-Match is required for a mutable metadata update.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/catalog/ecu-families":{"post":{"operationId":"create_ecu_family","summary":"create ecu family","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_family"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_family_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_ecu_family","summary":"list ecu family","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"name","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":191},"description":"Exact match on the indexed name field."},{"name":"supplier_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed supplier_id field."},{"name":"q","in":"query","required":false,"schema":{"type":"string","minLength":2,"maxLength":64},"description":"Bounded name-prefix search; wildcard characters are treated as literal text."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_family_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/catalog/ecu-families/{id}":{"get":{"operationId":"get_ecu_family","summary":"get ecu family","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_family_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/catalog/ecu-hardware":{"post":{"operationId":"create_ecu_hardware","summary":"create ecu hardware","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_hardware"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_hardware_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_ecu_hardware","summary":"list ecu hardware","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"family_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed family_id field."},{"name":"identifier","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":191},"description":"Exact match on the indexed identifier field."},{"name":"namespace","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":191},"description":"Exact match on the indexed namespace field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_hardware_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/catalog/ecu-hardware/{id}":{"get":{"operationId":"get_ecu_hardware","summary":"get ecu hardware","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_hardware_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/ecus":{"post":{"operationId":"create_ecu","summary":"create ecu","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_ecu","summary":"list ecu","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"hardware_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed hardware_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/ecus/{id}":{"get":{"operationId":"get_ecu","summary":"get ecu","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"patch":{"operationId":"patch_ecu","summary":"patch ecu","security":[{"bearerAuth":[]}],"description":"Only declared mutable metadata changes. Raw evidence is not overwritten; use an explicit revision for corrections.\n\nRequired permissions: `uds:read`, `uds:write`.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string","pattern":"^\"[1-9][0-9]*\"$","examples":["\"1\""]},"description":"Exact ETag of the resource version being edited. No wildcard or unconditional overwrite."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_patch"}}}},"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"428":{"description":"If-Match is required for a mutable metadata update.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/installations":{"post":{"operationId":"create_installation","summary":"create installation","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/installation"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/installation_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_installation","summary":"list installation","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"vehicle_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed vehicle_id field."},{"name":"ecu_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed ecu_id field."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/installation_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/installations/{id}":{"get":{"operationId":"get_installation","summary":"get installation","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/installation_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/catalog/software-components":{"post":{"operationId":"create_software_component","summary":"create software component","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/software_component"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/software_component_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_software_component","summary":"list software component","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"namespace","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":191},"description":"Exact match on the indexed namespace field."},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["bootloader","application","calibration","coding","other"]},"description":"Exact match on the indexed kind field."},{"name":"identifier","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":191},"description":"Exact match on the indexed identifier field."},{"name":"supplier_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed supplier_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/software_component_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/catalog/software-components/{id}":{"get":{"operationId":"get_software_component","summary":"get software component","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/software_component_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/identifiers":{"post":{"operationId":"create_identifier","summary":"create identifier","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`, `uds:sensitive-read`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write","uds:sensitive-read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/identifier"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/identifier_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_identifier","summary":"list identifier","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`, `uds:sensitive-read`.","x-required-permissions":["uds:read","uds:sensitive-read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"subject_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed subject_id field."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/identifier_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/identifiers/{id}":{"get":{"operationId":"get_identifier","summary":"get identifier","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`, `uds:sensitive-read`.","x-required-permissions":["uds:read","uds:sensitive-read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/identifier_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/sources":{"post":{"operationId":"create_source","summary":"create source","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/source"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/source_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_source","summary":"list source","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/source_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/sources/{id}":{"get":{"operationId":"get_source","summary":"get source","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/source_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"patch":{"operationId":"patch_source","summary":"patch source","security":[{"bearerAuth":[]}],"description":"Only declared mutable metadata changes. Raw evidence is not overwritten; use an explicit revision for corrections.\n\nRequired permissions: `uds:read`, `uds:write`.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string","pattern":"^\"[1-9][0-9]*\"$","examples":["\"1\""]},"description":"Exact ETag of the resource version being edited. No wildcard or unconditional overwrite."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/source_patch"}}}},"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/source_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"428":{"description":"If-Match is required for a mutable metadata update.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/source-records":{"post":{"operationId":"create_source_record","summary":"create source record","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/source_record"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/source_record_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_source_record","summary":"list source record","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"source_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed source_id field."},{"name":"supersedes_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed supersedes_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/source_record_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/source-records/{id}":{"get":{"operationId":"get_source_record","summary":"get source record","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/source_record_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/extraction-runs":{"post":{"operationId":"create_extraction_run","summary":"create extraction run","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/extraction_run"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/extraction_run_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_extraction_run","summary":"list extraction run","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/extraction_run_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/extraction-runs/{id}":{"get":{"operationId":"get_extraction_run","summary":"get extraction run","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/extraction_run_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/sessions":{"post":{"operationId":"create_session","summary":"create session","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/session"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/session_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_session","summary":"list session","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"vehicle_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed vehicle_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/session_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/sessions/{id}":{"get":{"operationId":"get_session","summary":"get session","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/session_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"patch":{"operationId":"patch_session","summary":"patch session","security":[{"bearerAuth":[]}],"description":"Only declared mutable metadata changes. Raw evidence is not overwritten; use an explicit revision for corrections.\n\nRequired permissions: `uds:read`, `uds:write`.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string","pattern":"^\"[1-9][0-9]*\"$","examples":["\"1\""]},"description":"Exact ETag of the resource version being edited. No wildcard or unconditional overwrite."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/session_patch"}}}},"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/session_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"428":{"description":"If-Match is required for a mutable metadata update.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/sessions/{sessionId}/sources":{"post":{"operationId":"create_session_source","summary":"create session source","security":[{"bearerAuth":[]}],"description":"The parent ID is supplied by the path, not repeated in the request body.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/session_source"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/session_source_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_session_source","summary":"list session source","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"source_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed source_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/session_source_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/session-sources/{id}":{"get":{"operationId":"get_session_source","summary":"get session source","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/session_source_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/sessions/{sessionId}/vehicle-observations":{"post":{"operationId":"create_vehicle_observation","summary":"create vehicle observation","security":[{"bearerAuth":[]}],"description":"The parent ID is supplied by the path, not repeated in the request body.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_observation"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_observation_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_vehicle_observation","summary":"list vehicle observation","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"vehicle_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed vehicle_id field."},{"name":"variant_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed variant_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_observation_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/vehicle-observations/{id}":{"get":{"operationId":"get_vehicle_observation","summary":"get vehicle observation","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_observation_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"patch":{"operationId":"patch_vehicle_observation","summary":"patch vehicle observation","security":[{"bearerAuth":[]}],"description":"Only declared mutable metadata changes. Raw evidence is not overwritten; use an explicit revision for corrections.\n\nRequired permissions: `uds:read`, `uds:write`.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string","pattern":"^\"[1-9][0-9]*\"$","examples":["\"1\""]},"description":"Exact ETag of the resource version being edited. No wildcard or unconditional overwrite."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_observation_patch"}}}},"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/vehicle_observation_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"428":{"description":"If-Match is required for a mutable metadata update.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/sessions/{sessionId}/ecu-observations":{"post":{"operationId":"create_ecu_observation","summary":"create ecu observation","security":[{"bearerAuth":[]}],"description":"The parent ID is supplied by the path, not repeated in the request body.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_observation"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_observation_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_ecu_observation","summary":"list ecu observation","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"ecu_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed ecu_id field."},{"name":"hardware_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed hardware_id field."},{"name":"family_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed family_id field."},{"name":"supplier_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed supplier_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_observation_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/ecu-observations/{id}":{"get":{"operationId":"get_ecu_observation","summary":"get ecu observation","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_observation_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"patch":{"operationId":"patch_ecu_observation","summary":"patch ecu observation","security":[{"bearerAuth":[]}],"description":"Only declared mutable metadata changes. Raw evidence is not overwritten; use an explicit revision for corrections.\n\nRequired permissions: `uds:read`, `uds:write`.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string","pattern":"^\"[1-9][0-9]*\"$","examples":["\"1\""]},"description":"Exact ETag of the resource version being edited. No wildcard or unconditional overwrite."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_observation_patch"}}}},"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_observation_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"428":{"description":"If-Match is required for a mutable metadata update.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/ecu-observations/{ecuObservationId}/components":{"post":{"operationId":"create_ecu_component","summary":"create ecu component","security":[{"bearerAuth":[]}],"description":"The parent ID is supplied by the path, not repeated in the request body.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"ecuObservationId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_component"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_component_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_ecu_component","summary":"list ecu component","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"ecuObservationId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"component_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed component_id field."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_component_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/ecu-components/{id}":{"get":{"operationId":"get_ecu_component","summary":"get ecu component","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ecu_component_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/sessions/{sessionId}/connections":{"post":{"operationId":"create_connection","summary":"create connection","security":[{"bearerAuth":[]}],"description":"The parent ID is supplied by the path, not repeated in the request body.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/connection"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/connection_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_connection","summary":"list connection","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/connection_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/connections/{id}":{"get":{"operationId":"get_connection","summary":"get connection","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/connection_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/connections/{connectionId}/endpoints":{"post":{"operationId":"create_endpoint","summary":"create endpoint","security":[{"bearerAuth":[]}],"description":"The parent ID is supplied by the path, not repeated in the request body.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endpoint"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endpoint_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_endpoint","summary":"list endpoint","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"ecu_observation_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed ecu_observation_id field."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endpoint_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/endpoints/{id}":{"get":{"operationId":"get_endpoint","summary":"get endpoint","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/endpoint_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/sessions/{sessionId}/operations":{"post":{"operationId":"create_operation","summary":"create operation","security":[{"bearerAuth":[]}],"description":"The parent ID is supplied by the path, not repeated in the request body.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/operation"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/operation_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_operation","summary":"list operation","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"endpoint_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed endpoint_id field."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/operation_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/operations/{id}":{"get":{"operationId":"get_operation","summary":"get operation","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/operation_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/sessions/{sessionId}/events":{"post":{"operationId":"create_event","summary":"create event","security":[{"bearerAuth":[]}],"description":"The parent ID is supplied by the path, not repeated in the request body.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/event"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/event_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_event","summary":"list event","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"connection_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed connection_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/event_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/events/{id}":{"get":{"operationId":"get_event","summary":"get event","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/event_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/message-links":{"post":{"operationId":"create_message_link","summary":"create message link","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/message_link"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/message_link_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_message_link","summary":"list message link","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"from_message_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed from_message_id field."},{"name":"to_message_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed to_message_id field."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"extraction_run_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed extraction_run_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/message_link_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/message-links/{id}":{"get":{"operationId":"get_message_link","summary":"get message link","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/message_link_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/operation-message-links":{"post":{"operationId":"create_operation_message_link","summary":"create operation message link","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/operation_message_link"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/operation_message_link_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_operation_message_link","summary":"list operation message link","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"operation_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed operation_id field."},{"name":"message_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed message_id field."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/operation_message_link_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/operation-message-links/{id}":{"get":{"operationId":"get_operation_message_link","summary":"get operation message link","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/operation_message_link_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/messages/{messageId}/decodings":{"post":{"operationId":"create_decoding","summary":"create decoding","security":[{"bearerAuth":[]}],"description":"The parent ID is supplied by the path, not repeated in the request body.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/decoding"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/decoding_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_decoding","summary":"list decoding","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"extraction_run_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed extraction_run_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/decoding_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/decodings/{id}":{"get":{"operationId":"get_decoding","summary":"get decoding","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/decoding_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/facts":{"post":{"operationId":"create_fact","summary":"create fact","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/fact"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/fact_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_fact","summary":"list fact","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"subject_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed subject_id field."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/fact_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/facts/{id}":{"get":{"operationId":"get_fact","summary":"get fact","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/fact_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/definitions":{"post":{"operationId":"create_definition","summary":"create definition","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/definition"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/definition_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_definition","summary":"list definition","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/definition_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/definitions/{id}":{"get":{"operationId":"get_definition","summary":"get definition","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/definition_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"patch":{"operationId":"patch_definition","summary":"patch definition","security":[{"bearerAuth":[]}],"description":"Only declared mutable metadata changes. Raw evidence is not overwritten; use an explicit revision for corrections.\n\nRequired permissions: `uds:read`, `uds:write`.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string","pattern":"^\"[1-9][0-9]*\"$","examples":["\"1\""]},"description":"Exact ETag of the resource version being edited. No wildcard or unconditional overwrite."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/definition_patch"}}}},"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/definition_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"428":{"description":"If-Match is required for a mutable metadata update.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/definitions/{definitionId}/versions":{"post":{"operationId":"create_definition_version","summary":"create definition version","security":[{"bearerAuth":[]}],"description":"The parent ID is supplied by the path, not repeated in the request body.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"definitionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/definition_version"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/definition_version_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_definition_version","summary":"list definition version","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"definitionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/definition_version_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/definition-versions/{id}":{"get":{"operationId":"get_definition_version","summary":"get definition version","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/definition_version_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/definition-versions/{definitionVersionId}/applicability":{"post":{"operationId":"create_applicability","summary":"create applicability","security":[{"bearerAuth":[]}],"description":"The parent ID is supplied by the path, not repeated in the request body.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"definitionVersionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/applicability"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/applicability_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_applicability","summary":"list applicability","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"definitionVersionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"target_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed target_id field."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/applicability_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/applicability/{id}":{"get":{"operationId":"get_applicability","summary":"get applicability","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/applicability_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/evidence-links":{"post":{"operationId":"create_evidence_link","summary":"create evidence link","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/evidence_link"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/evidence_link_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_evidence_link","summary":"list evidence link","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"target_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed target_id field."},{"name":"evidence_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed evidence_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/evidence_link_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/evidence-links/{id}":{"get":{"operationId":"get_evidence_link","summary":"get evidence link","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/evidence_link_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/reviews":{"post":{"operationId":"create_review","summary":"create review","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled. This operation additionally requires its enabled administrative capability and an explicit credential/scope grant. Ingestion-only customer keys cannot approve, revise or redact.\n\nRequired permissions: `uds:read`, `uds:write`, `uds:review`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write","uds:review"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/review"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/review_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_review","summary":"list review","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"target_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed target_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/review_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/reviews/{id}":{"get":{"operationId":"get_review","summary":"get review","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/review_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/revisions":{"post":{"operationId":"create_revision","summary":"create revision","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled. This operation additionally requires its enabled administrative capability and an explicit credential/scope grant. Ingestion-only customer keys cannot approve, revise or redact.\n\nRequired permissions: `uds:read`, `uds:write`, `uds:review`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write","uds:review"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/revision"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/revision_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_revision","summary":"list revision","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"original_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed original_id field."},{"name":"replacement_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed replacement_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/revision_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/revisions/{id}":{"get":{"operationId":"get_revision","summary":"get revision","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/revision_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/redactions":{"post":{"operationId":"create_redaction","summary":"create redaction","security":[{"bearerAuth":[]}],"description":"Client fields are validated; ownership, actor, IDs and review state are server-controlled. This operation additionally requires its enabled administrative capability and an explicit credential/scope grant. Ingestion-only customer keys cannot approve, revise or redact.\n\nRequired permissions: `uds:read`, `uds:write`, `uds:review`, `uds:sensitive-read`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write","uds:review","uds:sensitive-read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/redaction"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/redaction_created"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_redaction","summary":"list redaction","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"target_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact match on the indexed target_id field."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/redaction_list"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/redactions/{id}":{"get":{"operationId":"get_redaction","summary":"get redaction","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/redaction_detail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/messages":{"post":{"operationId":"create_message","summary":"create message","security":[{"bearerAuth":[]}],"description":"Preserves an observed occurrence. Its scope/client_namespace/session/external_record_key remains stable across imports; identical bytes in distinct occurrences are not collapsed. Artifact-backed payloads additionally require uds:artifact-read and uds:sensitive-read.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/message"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageCreated"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_messages","summary":"list messages","security":[{"bearerAuth":[]}],"description":"Metadata-only keyset list in receipt-row order, with a fixed high-watermark. Unknown/undecoded messages remain retrievable without interpretation filters.\n\nRequired permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"session_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact scoped resource reference."},{"name":"source_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact scoped resource reference."},{"name":"source_record_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact scoped resource reference."},{"name":"endpoint_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Exact scoped resource reference."},{"name":"decoding_id","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Select one explicit decoding record; alternatively supply decoding_producer and decoding_version."},{"name":"payload_hash","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},"description":"Exact recorded SHA-256 of a complete payload; partial/unavailable observations have no complete-payload hash."},{"name":"ingested_after","in":"query","required":false,"schema":{"type":"string","format":"date-time"},"description":"Inclusive UTC server-receipt timestamp boundary."},{"name":"ingested_before","in":"query","required":false,"schema":{"type":"string","format":"date-time"},"description":"Inclusive UTC server-receipt timestamp boundary."},{"name":"source_order_from","in":"query","required":false,"schema":{"type":"string","pattern":"^[0-9]{1,20}$"},"description":"Inclusive source-order boundary. Keep as a decimal string, not a floating-point number."},{"name":"source_order_to","in":"query","required":false,"schema":{"type":"string","pattern":"^[0-9]{1,20}$"},"description":"Inclusive source-order boundary. Keep as a decimal string, not a floating-point number."},{"name":"decoding_producer","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":191},"description":"Provide both decoding_producer and decoding_version to select a producer/version across observations. Mutually exclusive with decoding_id."},{"name":"decoding_version","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":191},"description":"Provide both decoding_producer and decoding_version to select a producer/version across observations. Mutually exclusive with decoding_id."},{"name":"protocol","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":191},"description":"Indexed submitted interpretation. Requires decoding_id or both decoding_producer and decoding_version."},{"name":"service_id","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":255},"description":"Submitted service byte; requires an explicit decoding selector."},{"name":"did","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":65535},"description":"Submitted DID; requires an explicit decoding selector."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageList"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/messages/{id}":{"get":{"operationId":"get_message","summary":"get message","security":[{"bearerAuth":[]}],"description":"With uds:sensitive-read, returns uppercase inline bytes or a verified artifact-range reference; partial segments remain separate. Without that permission returns measured metadata with payload.raw_fields_withheld=true, not an authorization error. Metadata access never grants binary access.\n\nRequired permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageDetail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/messages/{id}/payload":{"get":{"operationId":"get_message_binary","summary":"get message binary","security":[{"bearerAuth":[]}],"description":"Contiguous bytes for complete messages only; partial/unavailable messages return 409. Artifact-backed reads additionally require uds:artifact-read.\n\nRequired permissions: `uds:read`, `uds:sensitive-read`.","x-required-permissions":["uds:read","uds:sensitive-read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Content-Disposition":{"schema":{"type":"string"},"description":"Attachment with a safe server-selected filename."}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/sources/{sourceId}/artifacts":{"post":{"operationId":"register_artifact","summary":"register artifact","security":[{"bearerAuth":[]}],"description":"Registers an upload intent or records external/unavailable evidence. External references are metadata only and never fetched. Upload instructions exist only for uploadable artifacts.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"sourceId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/artifact"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactRegistered"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_artifacts","summary":"list artifacts","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"sourceId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactList"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/artifacts/{id}":{"get":{"operationId":"get_artifact","summary":"get artifact","security":[{"bearerAuth":[]}],"description":"sha256 and size_bytes represent verified stored content and are null before verification. Metadata access does not grant binary access.\n\nRequired permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactMetadata"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/artifacts/{id}/complete":{"post":{"operationId":"complete_artifact","summary":"complete artifact","security":[{"bearerAuth":[]}],"description":"Verifies the stored size/hash before availability. External/unavailable artifacts cannot be completed; original bytes are never fetched from their external_reference.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactComplete"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/artifacts/{id}/content":{"put":{"operationId":"upload_artifact","summary":"upload artifact","security":[{"bearerAuth":[]}],"description":"Stream exact bytes with application/octet-stream. No Idempotency-Key is required for PUT. Exclusive creation prevents overwriting an existing object; on an uncertain result inspect artifact state and use completion verification.\n\nRequired permissions: `uds:read`, `uds:write`.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"Content-Length","in":"header","required":true,"schema":{"type":"integer","minimum":1,"maximum":104857600},"description":"Must exactly match the registered expected size and configured artifact limit."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"requestBody":{"required":true,"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactUpload"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"408":{"description":"Artifact upload exceeded its time limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"download_artifact","summary":"download artifact","security":[{"bearerAuth":[]}],"description":"Downloads an available private artifact. External/unavailable/pending artifacts are not downloadable.\n\nRequired permissions: `uds:read`, `uds:artifact-read`, `uds:sensitive-read`.","x-required-permissions":["uds:read","uds:artifact-read","uds:sensitive-read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Content-Disposition":{"schema":{"type":"string"},"description":"Attachment with a safe server-selected filename."}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/imports":{"post":{"operationId":"create_import","summary":"create import","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/import"}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportDetail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_imports","summary":"list imports","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportList"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/imports/{id}":{"get":{"operationId":"get_import","summary":"get import","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportDetail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/imports/{id}/finalize":{"post":{"operationId":"finalize_import","summary":"finalize import","security":[{"bearerAuth":[]}],"description":"Seals intake against new batches. Existing queued items continue; completion requires sealed intake and terminal batches.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportDetail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/imports/{id}/cancel":{"post":{"operationId":"cancel_import","summary":"cancel import","security":[{"bearerAuth":[]}],"description":"Seals intake and cancels remaining items. Already committed observations remain; cancellation is not deletion or rollback.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportDetail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/imports/{importId}/message-batches":{"post":{"operationId":"create_batch","summary":"create batch","security":[{"bearerAuth":[]}],"description":"Persists the bounded batch before returning 202. Invalid envelope fails as a whole; invalid items are rejected independently. Inspect BatchMessage for valid item shapes, then poll /items for every outcome.\n\nRequired permissions: `uds:read`, `uds:write`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write"],"parameters":[{"name":"importId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/batch"}}}},"responses":{"202":{"description":"Input persisted durably. Poll this batch and inspect individual outcomes; acceptance is not item completion.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDetail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}},"get":{"operationId":"list_batches","summary":"list batches","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"importId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque next_cursor from the preceding page. Retain the same scope and filters; cursors bind the query and its high-watermark."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchList"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/imports/{importId}/message-batches/{batchId}":{"get":{"operationId":"get_batch","summary":"get batch","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"importId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"batchId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"ETag":{"schema":{"type":"string"},"description":"Quoted numeric resource version, for example \"1\"."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDetail"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/imports/{importId}/message-batches/{batchId}/items":{"get":{"operationId":"get_batch_outcomes","summary":"get batch outcomes","security":[{"bearerAuth":[]}],"description":"Ordered per-item outcomes. queued items may still become terminal; the signed cursor pages ordinals, not a snapshot of completion state. Start another pass without a cursor to revisit previously queued items.\n\nRequired permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"importId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"batchId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Maximum items in this page."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque signed next_cursor from the preceding outcome page. Bound to scope, import, batch and external_record_key filter."},{"name":"external_record_key","in":"query","required":false,"schema":{"type":"string","maxLength":191},"description":"Exact occurrence-key match within this batch."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchItemList"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/knowledge/protocols":{"get":{"operationId":"list_published_protocols","summary":"list published protocols","security":[{"bearerAuth":[]}],"description":"Read-only shared knowledge intentionally published by administrators. Private evidence and unreviewed or withdrawn definitions are excluded.\n\nRequired permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Page size, default 25."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque protocol cursor."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PublicProtocol"}},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["data","next_cursor"],"additionalProperties":false}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/knowledge/protocols/{id}":{"get":{"operationId":"get_published_protocol","summary":"get published protocol","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProtocol"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/knowledge/publications":{"post":{"operationId":"publish_protocol","summary":"publish protocol","security":[{"bearerAuth":[]}],"description":"Requires an enabled publication policy, explicit administrative scope grant and a current verified constrained definition version. Only the supplied public document is published; no evidence is automatically copied.\n\nRequired permissions: `uds:read`, `uds:write`, `uds:publish`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write","uds:publish"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"definitionVersionId":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"targetVersion":{"type":"integer","minimum":1},"title":{"type":"string","minLength":1,"maxLength":191},"summary":{"type":"string","minLength":1,"maxLength":4000},"document":{"type":"object","properties":{"protocol":{"const":"UDS"},"make":{"type":"string","minLength":1,"maxLength":120},"model":{"type":"string","minLength":1,"maxLength":120},"ecu":{"type":"string","minLength":1,"maxLength":120},"hardwareIdentifiers":{"type":"array","items":{"type":"string","minLength":1,"maxLength":191},"maxItems":50},"softwareIdentifiers":{"type":"array","items":{"type":"string","minLength":1,"maxLength":191},"maxItems":50},"applicability":{"type":"string","minLength":1,"maxLength":4000},"notes":{"type":"string","minLength":1,"maxLength":8000},"steps":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string","minLength":1,"maxLength":1000},"requestHex":{"type":"string","pattern":"^(?:[A-Fa-f0-9]{2}){1,4096}$"},"expectedResponsePrefixHex":{"type":"string","pattern":"^(?:[A-Fa-f0-9]{2}){1,4096}$"},"waitMs":{"type":"integer","minimum":0,"maximum":60000}},"required":["description","requestHex"],"additionalProperties":false},"maxItems":100,"minItems":1}},"required":["protocol","ecu","applicability","steps"],"additionalProperties":false},"reason":{"type":"string","minLength":1,"maxLength":500}},"required":["definitionVersionId","targetVersion","title","summary","document","reason"],"additionalProperties":false}}}},"responses":{"201":{"description":"Committed resource or stable-key existing resource.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProtocol"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/knowledge/publications/{id}/withdraw":{"post":{"operationId":"withdraw_protocol","summary":"withdraw protocol","security":[{"bearerAuth":[]}],"description":"Requires the administrative publication capability and scope grant. Retains publication and audit history.\n\nRequired permissions: `uds:read`, `uds:write`, `uds:publish`.\n\nAn idempotent replay retains the original HTTP success status; it does not necessarily return 200.","x-required-permissions":["uds:read","uds:write","uds:publish"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Opaque resource ID within the authenticated ownership scope."},{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$"},"description":"Stable key scoped by owner, authenticated principal and route. Same semantic body replays the original status/body; a changed body returns 409. Preserve it on uncertain network outcomes. Completed responses are retained at least 24 hours; occurrence identity is separate and longer-lived."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","minLength":1,"maxLength":500}},"required":["reason"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Idempotency-Replayed":{"schema":{"type":"string","enum":["true","false"]}}},"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"withdrawn":{"const":true}},"required":["id","withdrawn"],"additionalProperties":false}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"412":{"description":"If-Match or review target version is stale. Read the resource again before editing.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Request or upload exceeds the configured byte limit.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"415":{"description":"Unsupported content type, compression or content encoding.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Field, relationship, byte encoding, size/hash or evidence validation failed. Correct the input; do not retry unchanged.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/capabilities":{"get":{"operationId":"get_capabilities","summary":"get capabilities","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Capabilities"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/health":{"get":{"operationId":"get_health","summary":"get health","security":[{"bearerAuth":[]}],"description":"Required permissions: `uds:read`, `uds:admin`.","x-required-permissions":["uds:read","uds:admin"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/schemas":{"get":{"operationId":"list_extension_schemas","summary":"list extension schemas","security":[{"bearerAuth":[]}],"description":"Up to 500 registered extension schemas ordered by namespace/version; this endpoint has no cursor or limit parameters.\n\nRequired permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtensionSchemaList"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/reference-codes":{"get":{"operationId":"list_reference_codes","summary":"list reference codes","security":[{"bearerAuth":[]}],"description":"Up to 500 registered code catalogs ordered by namespace/version; this endpoint has no cursor or limit parameters.\n\nRequired permissions: `uds:read`.","x-required-permissions":["uds:read"],"parameters":[{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[\\w.:-]+$"},"description":"Optional correlation ID; the server generates one when absent or invalid."},{"name":"X-UDS-Scope","in":"header","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"description":"Administrative developer keys only: choose an explicitly granted workspace. Ordinary keys always use their own automatically provisioned scope."},{"name":"X-Shop-Id","in":"header","required":false,"schema":{"type":"integer","minimum":1},"description":"For existing Redline interactive identities, selects an authorized shop before resolving its provisioned UDS scope. Service credentials are already scope-bound and ignore this header; it never grants cross-shop access."}],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferenceCodeList"}}}},"400":{"description":"Invalid JSON/envelope, missing idempotency key, unsupported filter or invalid cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Missing, invalid, expired or revoked authentication.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Required permission or provisioned ownership scope is absent.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Resource is absent or deliberately concealed from this scope.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Idempotency/occurrence identity conflict, incompatible resource lifecycle state or incomplete Redline shop provisioning. Inspect code and the original result before changing any key.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Ownership scope or evidence was purged/disabled; replay cannot resurrect it.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate, queue or storage capacity limit. Respect Retry-After and use bounded backoff with unchanged retry keys.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Module/writes disabled, configuration incomplete or temporary dependency failure. Inspect code; respect Retry-After and preserve retry identity.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Safe request correlation identifier."},"X-UDS-Contract-Version":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"const":"no-store"}},"Retry-After":{"schema":{"type":"string"},"description":"Delay in seconds or an HTTP date; do not retry earlier."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Redline account API key (rla_), scoped UDS service credential, or existing Redline identity. Every active account key can submit evidence; its private scope is provisioned automatically. Administrative review, revision, redaction and publication additionally require enabled policy and explicit scope grants."}},"schemas":{"Problem":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"title":{"type":"string","description":"Safe explanation; does not contain SQL, stack traces or raw evidence."},"status":{"type":"integer","minimum":400,"maximum":599},"code":{"type":"string","description":"Stable machine-readable error code."},"request_id":{"type":"string"},"field":{"type":"string","description":"JSON-pointer-style field path when available."}},"required":["type","title","status","code","request_id"],"additionalProperties":false},"Limits":{"type":"object","properties":{"bodyBytes":{"type":"integer","minimum":1},"inlineBytes":{"type":"integer","minimum":1},"extensionBytes":{"type":"integer","minimum":1},"depth":{"type":"integer","minimum":1},"batchItems":{"type":"integer","minimum":1},"pageSize":{"type":"integer","minimum":1},"maxPageSize":{"type":"integer","minimum":1},"artifactBytes":{"type":"integer","minimum":1},"pendingItems":{"type":"integer","minimum":1},"requestsPerMinute":{"type":"integer","minimum":1},"artifactQuotaBytes":{"type":"integer","minimum":1},"workerAttempts":{"type":"integer","minimum":1},"workerLeaseSeconds":{"type":"integer","minimum":1},"workerConcurrency":{"type":"integer","minimum":1},"poolMax":{"type":"integer","minimum":1}},"required":["bodyBytes","inlineBytes","extensionBytes","depth","batchItems","pageSize","maxPageSize","artifactBytes","pendingItems","requestsPerMinute","artifactQuotaBytes","workerAttempts","workerLeaseSeconds","workerConcurrency","poolMax"],"additionalProperties":false},"Capabilities":{"type":"object","properties":{"contract_version":{"type":"string"},"limits":{"$ref":"#/components/schemas/Limits"},"writes_enabled":{"type":"boolean"},"permissions":{"type":"array","items":{"type":"string","enum":["uds:read","uds:write","uds:review","uds:artifact-read","uds:sensitive-read","uds:admin"]},"description":"Supported permission names, not a grant of every permission to the current caller."},"extensions":{"type":"array","items":{"type":"object","properties":{"namespace":{"type":"string"},"version":{"type":"string"},"content_hash":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"}},"required":["namespace","version","content_hash"],"additionalProperties":false}},"features":{"type":"object","properties":{"durable_batches":{"type":"boolean"},"partial_payloads":{"type":"boolean"},"artifact_ranges":{"type":"boolean"},"vehicle_communication":{"const":false}},"required":["durable_batches","partial_payloads","artifact_ranges","vehicle_communication"],"additionalProperties":false}},"required":["contract_version","limits","writes_enabled","permissions","extensions","features"],"additionalProperties":false},"ProcessMetrics":{"type":"object","properties":{"since":{"type":"string","format":"date-time"},"lifetime":{"const":"this_process_only"},"requests":{"type":"integer","minimum":0},"errors":{"type":"integer","minimum":0},"worker_items":{"type":"integer","minimum":0},"worker_retries":{"type":"integer","minimum":0},"worker_failures":{"type":"integer","minimum":0},"latency":{"type":"array","items":{"type":"object","properties":{"upper_ms":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"count":{"type":"integer","minimum":0}},"required":["upper_ms","count"],"additionalProperties":false}}},"required":["since","lifetime","requests","errors","worker_items","worker_retries","worker_failures","latency"],"additionalProperties":false},"Health":{"type":"object","properties":{"ok":{"const":true},"contract_version":{"type":"string"},"schema_version":{"type":"integer","minimum":1},"writes_enabled":{"type":"boolean"},"jobs":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","enum":["queued","processing","completed","completed_with_errors","failed","cancelled"]},"count":{"anyOf":[{"type":"integer","minimum":0},{"type":"string","pattern":"^[0-9]+$"}],"description":"MySQL aggregates may be decimal strings to preserve precision."},"oldest":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}},"required":["status","count","oldest"],"additionalProperties":false}},"storage":{"type":"array","items":{"type":"object","properties":{"state":{"type":"string","enum":["pending","uploading","available","failed","external","unavailable","purging","purged"]},"count":{"anyOf":[{"type":"integer","minimum":0},{"type":"string","pattern":"^[0-9]+$"}],"description":"MySQL aggregates may be decimal strings to preserve precision."},"bytes":{"anyOf":[{"type":"integer","minimum":0},{"type":"string","pattern":"^[0-9]+$"}],"description":"MySQL aggregates may be decimal strings to preserve precision."}},"required":["state","count","bytes"],"additionalProperties":false}},"metrics":{"$ref":"#/components/schemas/ProcessMetrics"},"pool":{"type":"object","properties":{"max":{"type":"integer","minimum":1},"size":{"type":"integer","minimum":0},"in_use":{"type":"integer","minimum":0},"waiting":{"type":"integer","minimum":0}},"required":["max","size","in_use","waiting"],"additionalProperties":false}},"required":["ok","contract_version","schema_version","writes_enabled","jobs","storage","metrics","pool"],"additionalProperties":false},"ExtensionSchemaList":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"namespace":{"type":"string"},"version":{"type":"string"},"content_hash":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},"content":{"type":["object","boolean"],"description":"Registered local JSON Schema; never an instruction to fetch arbitrary source URLs."}},"required":["namespace","version","content_hash","content"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false},"ReferenceCodeList":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"namespace":{"type":"string"},"version":{"type":"string"},"content":{"description":"Registered versioned JSON code catalog."}},"required":["namespace","version","content"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false},"organization":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":191},"roles":{"type":"array","items":{"type":"string","enum":["vehicle_manufacturer","ecu_supplier","software_supplier","other"]},"maxItems":256},"namespace":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["name"],"additionalProperties":false},"organization_detail":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":191},"roles":{"type":"array","items":{"type":"string","enum":["vehicle_manufacturer","ecu_supplier","software_supplier","other"]},"maxItems":256},"namespace":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["name","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"organization_created":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":191},"roles":{"type":"array","items":{"type":"string","enum":["vehicle_manufacturer","ecu_supplier","software_supplier","other"]},"maxItems":256},"namespace":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["name","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"organization_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/organization_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"vehicle_node":{"type":"object","properties":{"kind":{"type":"string","enum":["make","model","chassis","platform"]},"name":{"type":"string","minLength":1,"maxLength":191},"namespace":{"type":"string","minLength":1,"maxLength":191},"reported_code":{"type":"string","minLength":1,"maxLength":191},"organization_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["kind","name"],"additionalProperties":false},"vehicle_node_detail":{"type":"object","properties":{"kind":{"type":"string","enum":["make","model","chassis","platform"]},"name":{"type":"string","minLength":1,"maxLength":191},"namespace":{"type":"string","minLength":1,"maxLength":191},"reported_code":{"type":"string","minLength":1,"maxLength":191},"organization_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["kind","name","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"vehicle_node_created":{"type":"object","properties":{"kind":{"type":"string","enum":["make","model","chassis","platform"]},"name":{"type":"string","minLength":1,"maxLength":191},"namespace":{"type":"string","minLength":1,"maxLength":191},"reported_code":{"type":"string","minLength":1,"maxLength":191},"organization_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["kind","name","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"vehicle_node_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/vehicle_node_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"vehicle_relation":{"type":"object","properties":{"from_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"to_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"relation":{"type":"string","enum":["parent","associated_with","variant_of"]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]}},"required":["from_id","to_id","relation","evidence_id"],"additionalProperties":false},"vehicle_relation_detail":{"type":"object","properties":{"from_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"to_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"relation":{"type":"string","enum":["parent","associated_with","variant_of"]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["from_id","to_id","relation","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"vehicle_relation_created":{"type":"object","properties":{"from_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"to_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"relation":{"type":"string","enum":["parent","associated_with","variant_of"]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["from_id","to_id","relation","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"vehicle_relation_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/vehicle_relation_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"vehicle_variant":{"type":"object","properties":{"model_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"chassis_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"platform_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"year_from":{"type":"integer","minimum":0,"maximum":9999},"year_to":{"type":"integer","minimum":0,"maximum":9999},"market":{"type":"string","minLength":1,"maxLength":191},"trim":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":[],"additionalProperties":false},"vehicle_variant_detail":{"type":"object","properties":{"model_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"chassis_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"platform_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"year_from":{"type":"integer","minimum":0,"maximum":9999},"year_to":{"type":"integer","minimum":0,"maximum":9999},"market":{"type":"string","minLength":1,"maxLength":191},"trim":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"vehicle_variant_created":{"type":"object","properties":{"model_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"chassis_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"platform_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"year_from":{"type":"integer","minimum":0,"maximum":9999},"year_to":{"type":"integer","minimum":0,"maximum":9999},"market":{"type":"string","minLength":1,"maxLength":191},"trim":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"vehicle_variant_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/vehicle_variant_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"vehicle":{"type":"object","properties":{"variant_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":[],"additionalProperties":false},"vehicle_detail":{"type":"object","properties":{"variant_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"vehicle_created":{"type":"object","properties":{"variant_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"vehicle_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/vehicle_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"vehicle_patch":{"type":"object","properties":{"variant_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]}},"required":[],"additionalProperties":false,"minProperties":1},"ecu_family":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":191},"supplier_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"category":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["name"],"additionalProperties":false},"ecu_family_detail":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":191},"supplier_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"category":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["name","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ecu_family_created":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":191},"supplier_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"category":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["name","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ecu_family_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ecu_family_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"ecu_hardware":{"type":"object","properties":{"family_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"identifier":{"type":"string","minLength":1,"maxLength":191},"namespace":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":[],"additionalProperties":false},"ecu_hardware_detail":{"type":"object","properties":{"family_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"identifier":{"type":"string","minLength":1,"maxLength":191},"namespace":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ecu_hardware_created":{"type":"object","properties":{"family_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"identifier":{"type":"string","minLength":1,"maxLength":191},"namespace":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ecu_hardware_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ecu_hardware_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"ecu":{"type":"object","properties":{"hardware_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":[],"additionalProperties":false},"ecu_detail":{"type":"object","properties":{"hardware_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ecu_created":{"type":"object","properties":{"hardware_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ecu_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ecu_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"ecu_patch":{"type":"object","properties":{"hardware_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]}},"required":[],"additionalProperties":false,"minProperties":1},"installation":{"type":"object","properties":{"vehicle_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"ecu_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"role":{"type":"string","minLength":1,"maxLength":191},"location":{"type":"string","minLength":1,"maxLength":191},"valid_from":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"valid_to":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]}},"required":["vehicle_id","ecu_id","evidence_id"],"additionalProperties":false},"installation_detail":{"type":"object","properties":{"vehicle_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"ecu_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"role":{"type":"string","minLength":1,"maxLength":191},"location":{"type":"string","minLength":1,"maxLength":191},"valid_from":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"valid_to":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["vehicle_id","ecu_id","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"installation_created":{"type":"object","properties":{"vehicle_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"ecu_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"role":{"type":"string","minLength":1,"maxLength":191},"location":{"type":"string","minLength":1,"maxLength":191},"valid_from":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"valid_to":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["vehicle_id","ecu_id","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"installation_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/installation_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"software_component":{"type":"object","properties":{"namespace":{"type":"string","minLength":1,"maxLength":191},"kind":{"type":"string","enum":["bootloader","application","calibration","coding","other"]},"identifier":{"type":"string","minLength":1,"maxLength":191},"software_version":{"type":"string","minLength":1,"maxLength":191},"supplier_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["namespace","kind","identifier"],"additionalProperties":false},"software_component_detail":{"type":"object","properties":{"namespace":{"type":"string","minLength":1,"maxLength":191},"kind":{"type":"string","enum":["bootloader","application","calibration","coding","other"]},"identifier":{"type":"string","minLength":1,"maxLength":191},"software_version":{"type":"string","minLength":1,"maxLength":191},"supplier_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["namespace","kind","identifier","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"software_component_created":{"type":"object","properties":{"namespace":{"type":"string","minLength":1,"maxLength":191},"kind":{"type":"string","enum":["bootloader","application","calibration","coding","other"]},"identifier":{"type":"string","minLength":1,"maxLength":191},"software_version":{"type":"string","minLength":1,"maxLength":191},"supplier_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["namespace","kind","identifier","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"software_component_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/software_component_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"identifier":{"type":"object","properties":{"subject_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"namespace":{"type":"string","minLength":1,"maxLength":191},"kind":{"type":"string","minLength":1,"maxLength":191},"raw_value":{"type":"string","minLength":1,"maxLength":1024},"normalized_value":{"type":"string","minLength":1,"maxLength":1024},"normalization_rule":{"type":"string","minLength":1,"maxLength":191},"validation_state":{"type":"string","enum":["unvalidated","valid","invalid","partial","masked"]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]}},"required":["subject_id","namespace","kind","raw_value","validation_state","evidence_id"],"additionalProperties":false},"identifier_detail":{"type":"object","properties":{"subject_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"namespace":{"type":"string","minLength":1,"maxLength":191},"kind":{"type":"string","minLength":1,"maxLength":191},"raw_value":{"type":"string","minLength":1,"maxLength":1024},"normalized_value":{"type":"string","minLength":1,"maxLength":1024},"normalization_rule":{"type":"string","minLength":1,"maxLength":191},"validation_state":{"type":"string","enum":["unvalidated","valid","invalid","partial","masked"]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["subject_id","namespace","kind","raw_value","validation_state","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"identifier_created":{"type":"object","properties":{"subject_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"namespace":{"type":"string","minLength":1,"maxLength":191},"kind":{"type":"string","minLength":1,"maxLength":191},"raw_value":{"type":"string","minLength":1,"maxLength":1024},"normalized_value":{"type":"string","minLength":1,"maxLength":1024},"normalization_rule":{"type":"string","minLength":1,"maxLength":191},"validation_state":{"type":"string","enum":["unvalidated","valid","invalid","partial","masked"]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["subject_id","namespace","kind","raw_value","validation_state","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"identifier_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/identifier_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"source":{"type":"object","properties":{"kind":{"type":"string","enum":["original_log","exported_xml","exported_json","capture_file","screenshot","manual_transcription","tool_report","other"]},"external_key":{"type":"string","minLength":1,"maxLength":191},"tool_name":{"type":"string","minLength":1,"maxLength":191},"tool_version":{"type":"string","minLength":1,"maxLength":191},"filename":{"type":"string","minLength":1,"maxLength":1024},"original_path":{"type":"string","minLength":1,"maxLength":2048},"media_type":{"type":"string","minLength":1,"maxLength":191},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"access_restrictions":{"type":"string","minLength":1,"maxLength":8192},"clock":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["kind","external_key"],"additionalProperties":false},"source_detail":{"type":"object","properties":{"kind":{"type":"string","enum":["original_log","exported_xml","exported_json","capture_file","screenshot","manual_transcription","tool_report","other"]},"external_key":{"type":"string","minLength":1,"maxLength":191},"tool_name":{"type":"string","minLength":1,"maxLength":191},"tool_version":{"type":"string","minLength":1,"maxLength":191},"filename":{"type":"string","minLength":1,"maxLength":1024},"original_path":{"type":"string","minLength":1,"maxLength":2048},"media_type":{"type":"string","minLength":1,"maxLength":191},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"access_restrictions":{"anyOf":[{"type":"string","minLength":1,"maxLength":8192},{"type":"null"}]},"clock":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"raw_fields_withheld":{"const":true,"description":"Without uds:sensitive-read the server omits original_path, filename when present and marks the response. Original evidence is unchanged; redaction resources are separate derivatives."},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["kind","external_key","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"source_created":{"type":"object","properties":{"kind":{"type":"string","enum":["original_log","exported_xml","exported_json","capture_file","screenshot","manual_transcription","tool_report","other"]},"external_key":{"type":"string","minLength":1,"maxLength":191},"tool_name":{"type":"string","minLength":1,"maxLength":191},"tool_version":{"type":"string","minLength":1,"maxLength":191},"filename":{"type":"string","minLength":1,"maxLength":1024},"original_path":{"type":"string","minLength":1,"maxLength":2048},"media_type":{"type":"string","minLength":1,"maxLength":191},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"access_restrictions":{"anyOf":[{"type":"string","minLength":1,"maxLength":8192},{"type":"null"}]},"clock":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"raw_fields_withheld":{"const":true,"description":"Without uds:sensitive-read the server omits original_path, filename when present and marks the response. Original evidence is unchanged; redaction resources are separate derivatives."},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["kind","external_key","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"source_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/source_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"source_patch":{"type":"object","properties":{"access_restrictions":{"anyOf":[{"type":"string","minLength":1,"maxLength":8192},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]}},"required":[],"additionalProperties":false,"minProperties":1},"source_record":{"type":"object","properties":{"source_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"external_key":{"type":"string","minLength":1,"maxLength":191},"source_order":{"type":"string","pattern":"^[0-9]{1,20}$"},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"locator":{"type":"object","properties":{"kind":{"type":"string","enum":["line_range","byte_range","page_region","native_event","manual"]},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991},"page":{"type":"integer","minimum":1},"region":{"type":"array","items":{"type":"number"},"maxItems":4},"event_id":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":1024}},"required":["kind"],"additionalProperties":false},"excerpt":{"type":"string","minLength":1,"maxLength":65535},"supersedes_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["source_id","external_key"],"additionalProperties":false},"source_record_detail":{"type":"object","properties":{"source_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"external_key":{"type":"string","minLength":1,"maxLength":191},"source_order":{"type":"string","pattern":"^[0-9]{1,20}$"},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"locator":{"type":"object","properties":{"kind":{"type":"string","enum":["line_range","byte_range","page_region","native_event","manual"]},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991},"page":{"type":"integer","minimum":1},"region":{"type":"array","items":{"type":"number"},"maxItems":4},"event_id":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":1024}},"required":["kind"],"additionalProperties":false},"excerpt":{"type":"string","minLength":1,"maxLength":65535},"supersedes_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"raw_fields_withheld":{"const":true,"description":"Without uds:sensitive-read the server omits excerpt when present and marks the response. Original evidence is unchanged; redaction resources are separate derivatives."},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["source_id","external_key","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"source_record_created":{"type":"object","properties":{"source_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"external_key":{"type":"string","minLength":1,"maxLength":191},"source_order":{"type":"string","pattern":"^[0-9]{1,20}$"},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"locator":{"type":"object","properties":{"kind":{"type":"string","enum":["line_range","byte_range","page_region","native_event","manual"]},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991},"page":{"type":"integer","minimum":1},"region":{"type":"array","items":{"type":"number"},"maxItems":4},"event_id":{"type":"string","minLength":1,"maxLength":191},"label":{"type":"string","minLength":1,"maxLength":1024}},"required":["kind"],"additionalProperties":false},"excerpt":{"type":"string","minLength":1,"maxLength":65535},"supersedes_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"raw_fields_withheld":{"const":true,"description":"Without uds:sensitive-read the server omits excerpt when present and marks the response. Original evidence is unchanged; redaction resources are separate derivatives."},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["source_id","external_key","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"source_record_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/source_record_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"extraction_run":{"type":"object","properties":{"producer":{"type":"string","minLength":1,"maxLength":191},"producer_version":{"type":"string","minLength":1,"maxLength":191},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"configuration_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"source_ids":{"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"maxItems":256},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["producer","origin","source_ids"],"additionalProperties":false},"extraction_run_detail":{"type":"object","properties":{"producer":{"type":"string","minLength":1,"maxLength":191},"producer_version":{"type":"string","minLength":1,"maxLength":191},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"configuration_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"source_ids":{"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"maxItems":256},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["producer","origin","source_ids","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"extraction_run_created":{"type":"object","properties":{"producer":{"type":"string","minLength":1,"maxLength":191},"producer_version":{"type":"string","minLength":1,"maxLength":191},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"configuration_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"source_ids":{"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"maxItems":256},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["producer","origin","source_ids","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"extraction_run_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/extraction_run_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"session":{"type":"object","properties":{"external_key":{"type":"string","minLength":1,"maxLength":191},"vehicle_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"tool_name":{"type":"string","minLength":1,"maxLength":191},"interface_label":{"type":"string","minLength":1,"maxLength":191},"started_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"ended_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"status":{"type":"string","enum":["open","completed","unknown"]},"completeness":{"type":"string","enum":["complete","partial","unknown"]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["external_key"],"additionalProperties":false},"session_detail":{"type":"object","properties":{"external_key":{"type":"string","minLength":1,"maxLength":191},"vehicle_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"tool_name":{"type":"string","minLength":1,"maxLength":191},"interface_label":{"type":"string","minLength":1,"maxLength":191},"started_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"ended_at":{"anyOf":[{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},{"type":"null"}]},"status":{"anyOf":[{"type":"string","enum":["open","completed","unknown"]},{"type":"null"}]},"completeness":{"anyOf":[{"type":"string","enum":["complete","partial","unknown"]},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["external_key","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"session_created":{"type":"object","properties":{"external_key":{"type":"string","minLength":1,"maxLength":191},"vehicle_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"tool_name":{"type":"string","minLength":1,"maxLength":191},"interface_label":{"type":"string","minLength":1,"maxLength":191},"started_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"ended_at":{"anyOf":[{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},{"type":"null"}]},"status":{"anyOf":[{"type":"string","enum":["open","completed","unknown"]},{"type":"null"}]},"completeness":{"anyOf":[{"type":"string","enum":["complete","partial","unknown"]},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["external_key","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"session_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/session_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"session_patch":{"type":"object","properties":{"vehicle_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"ended_at":{"anyOf":[{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},{"type":"null"}]},"status":{"anyOf":[{"type":"string","enum":["open","completed","unknown"]},{"type":"null"}]},"completeness":{"anyOf":[{"type":"string","enum":["complete","partial","unknown"]},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]}},"required":[],"additionalProperties":false,"minProperties":1},"session_source":{"type":"object","properties":{"source_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]}},"required":["source_id"],"additionalProperties":false},"session_source_detail":{"type":"object","properties":{"session_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"source_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","source_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"session_source_created":{"type":"object","properties":{"session_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"source_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","source_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"session_source_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/session_source_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"vehicle_observation":{"type":"object","properties":{"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"vehicle_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"variant_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"make":{"type":"string","minLength":1,"maxLength":191},"model":{"type":"string","minLength":1,"maxLength":191},"chassis":{"type":"string","minLength":1,"maxLength":191},"model_year":{"type":"integer","minimum":0,"maximum":9999},"production_date":{"type":"object","properties":{"value":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$"},"precision":{"type":"string","enum":["year","month","day"]}},"required":["value","precision"],"additionalProperties":false},"market":{"type":"string","minLength":1,"maxLength":191},"trim":{"type":"string","minLength":1,"maxLength":191},"type_code":{"type":"string","minLength":1,"maxLength":191},"components":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","minLength":1,"maxLength":64},"namespace":{"type":"string","minLength":1,"maxLength":128},"values":{"type":"object","maxProperties":64}},"required":["kind","namespace","values"],"additionalProperties":false},"maxItems":256},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["evidence_id"],"additionalProperties":false},"vehicle_observation_detail":{"type":"object","properties":{"session_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"vehicle_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"variant_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"make":{"type":"string","minLength":1,"maxLength":191},"model":{"type":"string","minLength":1,"maxLength":191},"chassis":{"type":"string","minLength":1,"maxLength":191},"model_year":{"type":"integer","minimum":0,"maximum":9999},"production_date":{"type":"object","properties":{"value":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$"},"precision":{"type":"string","enum":["year","month","day"]}},"required":["value","precision"],"additionalProperties":false},"market":{"type":"string","minLength":1,"maxLength":191},"trim":{"type":"string","minLength":1,"maxLength":191},"type_code":{"type":"string","minLength":1,"maxLength":191},"components":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","minLength":1,"maxLength":64},"namespace":{"type":"string","minLength":1,"maxLength":128},"values":{"type":"object","maxProperties":64}},"required":["kind","namespace","values"],"additionalProperties":false},"maxItems":256},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"vehicle_observation_created":{"type":"object","properties":{"session_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"vehicle_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"variant_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"make":{"type":"string","minLength":1,"maxLength":191},"model":{"type":"string","minLength":1,"maxLength":191},"chassis":{"type":"string","minLength":1,"maxLength":191},"model_year":{"type":"integer","minimum":0,"maximum":9999},"production_date":{"type":"object","properties":{"value":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$"},"precision":{"type":"string","enum":["year","month","day"]}},"required":["value","precision"],"additionalProperties":false},"market":{"type":"string","minLength":1,"maxLength":191},"trim":{"type":"string","minLength":1,"maxLength":191},"type_code":{"type":"string","minLength":1,"maxLength":191},"components":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","minLength":1,"maxLength":64},"namespace":{"type":"string","minLength":1,"maxLength":128},"values":{"type":"object","maxProperties":64}},"required":["kind","namespace","values"],"additionalProperties":false},"maxItems":256},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"vehicle_observation_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/vehicle_observation_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"vehicle_observation_patch":{"type":"object","properties":{"vehicle_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"variant_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]}},"required":[],"additionalProperties":false,"minProperties":1},"ecu_observation":{"type":"object","properties":{"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"ecu_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"hardware_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"family_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"supplier_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"role":{"type":"string","minLength":1,"maxLength":191},"instance_label":{"type":"string","minLength":1,"maxLength":191},"reported_family":{"type":"string","minLength":1,"maxLength":191},"reported_supplier":{"type":"string","minLength":1,"maxLength":191},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["evidence_id"],"additionalProperties":false},"ecu_observation_detail":{"type":"object","properties":{"session_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"ecu_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"hardware_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"family_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"supplier_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"role":{"type":"string","minLength":1,"maxLength":191},"instance_label":{"type":"string","minLength":1,"maxLength":191},"reported_family":{"type":"string","minLength":1,"maxLength":191},"reported_supplier":{"type":"string","minLength":1,"maxLength":191},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ecu_observation_created":{"type":"object","properties":{"session_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"ecu_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"hardware_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"family_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"supplier_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"role":{"type":"string","minLength":1,"maxLength":191},"instance_label":{"type":"string","minLength":1,"maxLength":191},"reported_family":{"type":"string","minLength":1,"maxLength":191},"reported_supplier":{"type":"string","minLength":1,"maxLength":191},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ecu_observation_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ecu_observation_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"ecu_observation_patch":{"type":"object","properties":{"ecu_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"hardware_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"family_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"supplier_id":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]}},"required":[],"additionalProperties":false,"minProperties":1},"ecu_component":{"type":"object","properties":{"component_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"reported_values":{"type":"object","properties":{"namespace":{"type":"string","minLength":1,"maxLength":128},"kind":{"type":"string","minLength":1,"maxLength":64},"identifier":{"type":"string","minLength":1,"maxLength":1024},"version":{"type":"string","minLength":1,"maxLength":191}},"required":[],"additionalProperties":false},"ordinal":{"type":"integer","minimum":0,"maximum":2147483647},"slot":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]}},"required":["ordinal","evidence_id"],"additionalProperties":false},"ecu_component_detail":{"type":"object","properties":{"ecu_observation_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"component_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"reported_values":{"type":"object","properties":{"namespace":{"type":"string","minLength":1,"maxLength":128},"kind":{"type":"string","minLength":1,"maxLength":64},"identifier":{"type":"string","minLength":1,"maxLength":1024},"version":{"type":"string","minLength":1,"maxLength":191}},"required":[],"additionalProperties":false},"ordinal":{"type":"integer","minimum":0,"maximum":2147483647},"slot":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["ecu_observation_id","ordinal","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ecu_component_created":{"type":"object","properties":{"ecu_observation_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"component_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"reported_values":{"type":"object","properties":{"namespace":{"type":"string","minLength":1,"maxLength":128},"kind":{"type":"string","minLength":1,"maxLength":64},"identifier":{"type":"string","minLength":1,"maxLength":1024},"version":{"type":"string","minLength":1,"maxLength":191}},"required":[],"additionalProperties":false},"ordinal":{"type":"integer","minimum":0,"maximum":2147483647},"slot":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["ecu_observation_id","ordinal","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ecu_component_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ecu_component_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"connection":{"type":"object","properties":{"physical_medium":{"type":"string","minLength":1,"maxLength":191},"link_protocol":{"type":"string","minLength":1,"maxLength":191},"transport_protocol":{"type":"string","minLength":1,"maxLength":191},"application_protocol":{"type":"string","minLength":1,"maxLength":191},"channel":{"type":"string","minLength":1,"maxLength":191},"nominal_bitrate":{"type":"integer","minimum":0,"maximum":2147483647},"data_bitrate":{"type":"integer","minimum":0,"maximum":2147483647},"isotp":{"type":"object","properties":{"addressing":{"type":"string","enum":["normal","extended","mixed","unknown"]},"source_extension":{"type":"string","minLength":1,"maxLength":64},"target_extension":{"type":"string","minLength":1,"maxLength":64},"padding":{"type":"string","minLength":1,"maxLength":64}},"required":[],"additionalProperties":false},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":[],"additionalProperties":false},"connection_detail":{"type":"object","properties":{"session_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"physical_medium":{"type":"string","minLength":1,"maxLength":191},"link_protocol":{"type":"string","minLength":1,"maxLength":191},"transport_protocol":{"type":"string","minLength":1,"maxLength":191},"application_protocol":{"type":"string","minLength":1,"maxLength":191},"channel":{"type":"string","minLength":1,"maxLength":191},"nominal_bitrate":{"type":"integer","minimum":0,"maximum":2147483647},"data_bitrate":{"type":"integer","minimum":0,"maximum":2147483647},"isotp":{"type":"object","properties":{"addressing":{"type":"string","enum":["normal","extended","mixed","unknown"]},"source_extension":{"type":"string","minLength":1,"maxLength":64},"target_extension":{"type":"string","minLength":1,"maxLength":64},"padding":{"type":"string","minLength":1,"maxLength":64}},"required":[],"additionalProperties":false},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"connection_created":{"type":"object","properties":{"session_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"physical_medium":{"type":"string","minLength":1,"maxLength":191},"link_protocol":{"type":"string","minLength":1,"maxLength":191},"transport_protocol":{"type":"string","minLength":1,"maxLength":191},"application_protocol":{"type":"string","minLength":1,"maxLength":191},"channel":{"type":"string","minLength":1,"maxLength":191},"nominal_bitrate":{"type":"integer","minimum":0,"maximum":2147483647},"data_bitrate":{"type":"integer","minimum":0,"maximum":2147483647},"isotp":{"type":"object","properties":{"addressing":{"type":"string","enum":["normal","extended","mixed","unknown"]},"source_extension":{"type":"string","minLength":1,"maxLength":64},"target_extension":{"type":"string","minLength":1,"maxLength":64},"padding":{"type":"string","minLength":1,"maxLength":64}},"required":[],"additionalProperties":false},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"connection_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/connection_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"endpoint":{"type":"object","properties":{"ecu_observation_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"address_namespace":{"type":"string","minLength":1,"maxLength":191},"raw_address":{"type":"string","minLength":1,"maxLength":191},"address_width":{"type":"integer","minimum":0,"maximum":128},"normalized_address":{"type":"string","minLength":1,"maxLength":191},"extensions_address":{"type":"object","properties":{"source":{"type":"string","minLength":1,"maxLength":64},"target":{"type":"string","minLength":1,"maxLength":64}},"required":[],"additionalProperties":false},"network_peer":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":[],"additionalProperties":false},"endpoint_detail":{"type":"object","properties":{"connection_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"ecu_observation_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"address_namespace":{"type":"string","minLength":1,"maxLength":191},"raw_address":{"type":"string","minLength":1,"maxLength":191},"address_width":{"type":"integer","minimum":0,"maximum":128},"normalized_address":{"type":"string","minLength":1,"maxLength":191},"extensions_address":{"type":"object","properties":{"source":{"type":"string","minLength":1,"maxLength":64},"target":{"type":"string","minLength":1,"maxLength":64}},"required":[],"additionalProperties":false},"network_peer":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["connection_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"endpoint_created":{"type":"object","properties":{"connection_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"ecu_observation_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"address_namespace":{"type":"string","minLength":1,"maxLength":191},"raw_address":{"type":"string","minLength":1,"maxLength":191},"address_width":{"type":"integer","minimum":0,"maximum":128},"normalized_address":{"type":"string","minLength":1,"maxLength":191},"extensions_address":{"type":"object","properties":{"source":{"type":"string","minLength":1,"maxLength":64},"target":{"type":"string","minLength":1,"maxLength":64}},"required":[],"additionalProperties":false},"network_peer":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["connection_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"endpoint_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/endpoint_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"operation":{"type":"object","properties":{"endpoint_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"source_label":{"type":"string","minLength":1,"maxLength":191},"semantic_code":{"type":"string","minLength":1,"maxLength":191},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"source_job_id":{"type":"string","minLength":1,"maxLength":191},"started_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"ended_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["origin","evidence_id"],"additionalProperties":false},"operation_detail":{"type":"object","properties":{"session_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"endpoint_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"source_label":{"type":"string","minLength":1,"maxLength":191},"semantic_code":{"type":"string","minLength":1,"maxLength":191},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"source_job_id":{"type":"string","minLength":1,"maxLength":191},"started_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"ended_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","origin","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"operation_created":{"type":"object","properties":{"session_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"endpoint_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"source_label":{"type":"string","minLength":1,"maxLength":191},"semantic_code":{"type":"string","minLength":1,"maxLength":191},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"source_job_id":{"type":"string","minLength":1,"maxLength":191},"started_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"ended_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","origin","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"operation_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/operation_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"event":{"type":"object","properties":{"kind":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"connection_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"attributes":{"type":"object","maxProperties":64},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["kind","evidence_id"],"additionalProperties":false},"event_detail":{"type":"object","properties":{"session_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"kind":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"connection_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"attributes":{"type":"object","maxProperties":64},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","kind","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"event_created":{"type":"object","properties":{"session_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"kind":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"connection_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"attributes":{"type":"object","maxProperties":64},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","kind","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"event_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/event_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"message_link":{"type":"object","properties":{"from_message_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"to_message_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"relation":{"type":"string","enum":["response_to","retry_of","parent","related"]},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"method":{"type":"string","minLength":1,"maxLength":191},"method_version":{"type":"string","minLength":1,"maxLength":191},"confidence":{"type":"number","minimum":0,"maximum":1},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extraction_run_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]}},"required":["from_message_id","to_message_id","relation","origin","method","evidence_id"],"additionalProperties":false},"message_link_detail":{"type":"object","properties":{"from_message_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"to_message_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"relation":{"type":"string","enum":["response_to","retry_of","parent","related"]},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"method":{"type":"string","minLength":1,"maxLength":191},"method_version":{"type":"string","minLength":1,"maxLength":191},"confidence":{"type":"number","minimum":0,"maximum":1},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extraction_run_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["from_message_id","to_message_id","relation","origin","method","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"message_link_created":{"type":"object","properties":{"from_message_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"to_message_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"relation":{"type":"string","enum":["response_to","retry_of","parent","related"]},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"method":{"type":"string","minLength":1,"maxLength":191},"method_version":{"type":"string","minLength":1,"maxLength":191},"confidence":{"type":"number","minimum":0,"maximum":1},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extraction_run_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["from_message_id","to_message_id","relation","origin","method","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"message_link_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/message_link_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"operation_message_link":{"type":"object","properties":{"operation_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"message_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"ordinal":{"type":"integer","minimum":0,"maximum":2147483647},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"method":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]}},"required":["operation_id","message_id","ordinal","origin","method","evidence_id"],"additionalProperties":false},"operation_message_link_detail":{"type":"object","properties":{"operation_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"message_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"ordinal":{"type":"integer","minimum":0,"maximum":2147483647},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"method":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["operation_id","message_id","ordinal","origin","method","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"operation_message_link_created":{"type":"object","properties":{"operation_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"message_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"ordinal":{"type":"integer","minimum":0,"maximum":2147483647},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"method":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["operation_id","message_id","ordinal","origin","method","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"operation_message_link_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/operation_message_link_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"decoding":{"type":"object","properties":{"producer":{"type":"string","minLength":1,"maxLength":191},"producer_version":{"type":"string","minLength":1,"maxLength":191},"extraction_run_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"parse_status":{"type":"string","enum":["complete","partial","failed","unknown"]},"protocol":{"type":"string","minLength":1,"maxLength":191},"service_id":{"type":"integer","minimum":0,"maximum":255},"response_service_id":{"type":"integer","minimum":0,"maximum":255},"did":{"type":"integer","minimum":0,"maximum":65535},"routine_id":{"type":"integer","minimum":0,"maximum":65535},"subfunction":{"type":"integer","minimum":0,"maximum":255},"negative_response_code":{"type":"integer","minimum":0,"maximum":255},"result":{"type":"object","maxProperties":256},"items":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","minLength":1,"maxLength":64},"ordinal":{"type":"integer","minimum":0,"maximum":2147483647},"identifier":{"type":"string","minLength":1,"maxLength":191},"value":{},"value_state":{"type":"string","enum":["present","unknown","not_reported","not_applicable","redacted","unreadable","empty"]},"byte_start":{"type":"integer","minimum":0,"maximum":2147483647},"byte_end":{"type":"integer","minimum":0,"maximum":2147483647},"units":{"type":"string","minLength":1,"maxLength":64}},"required":["kind","ordinal"],"additionalProperties":false},"maxItems":256},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["producer","origin","parse_status"],"additionalProperties":false},"decoding_detail":{"type":"object","properties":{"message_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"producer":{"type":"string","minLength":1,"maxLength":191},"producer_version":{"type":"string","minLength":1,"maxLength":191},"extraction_run_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"parse_status":{"type":"string","enum":["complete","partial","failed","unknown"]},"protocol":{"type":"string","minLength":1,"maxLength":191},"service_id":{"type":"integer","minimum":0,"maximum":255},"response_service_id":{"type":"integer","minimum":0,"maximum":255},"did":{"type":"integer","minimum":0,"maximum":65535},"routine_id":{"type":"integer","minimum":0,"maximum":65535},"subfunction":{"type":"integer","minimum":0,"maximum":255},"negative_response_code":{"type":"integer","minimum":0,"maximum":255},"result":{"type":"object","maxProperties":256},"items":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","minLength":1,"maxLength":64},"ordinal":{"type":"integer","minimum":0,"maximum":2147483647},"identifier":{"type":"string","minLength":1,"maxLength":191},"value":{},"value_state":{"type":"string","enum":["present","unknown","not_reported","not_applicable","redacted","unreadable","empty"]},"byte_start":{"type":"integer","minimum":0,"maximum":2147483647},"byte_end":{"type":"integer","minimum":0,"maximum":2147483647},"units":{"type":"string","minLength":1,"maxLength":64}},"required":["kind","ordinal"],"additionalProperties":false},"maxItems":256},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["message_id","producer","origin","parse_status","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"decoding_created":{"type":"object","properties":{"message_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"producer":{"type":"string","minLength":1,"maxLength":191},"producer_version":{"type":"string","minLength":1,"maxLength":191},"extraction_run_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"parse_status":{"type":"string","enum":["complete","partial","failed","unknown"]},"protocol":{"type":"string","minLength":1,"maxLength":191},"service_id":{"type":"integer","minimum":0,"maximum":255},"response_service_id":{"type":"integer","minimum":0,"maximum":255},"did":{"type":"integer","minimum":0,"maximum":65535},"routine_id":{"type":"integer","minimum":0,"maximum":65535},"subfunction":{"type":"integer","minimum":0,"maximum":255},"negative_response_code":{"type":"integer","minimum":0,"maximum":255},"result":{"type":"object","maxProperties":256},"items":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","minLength":1,"maxLength":64},"ordinal":{"type":"integer","minimum":0,"maximum":2147483647},"identifier":{"type":"string","minLength":1,"maxLength":191},"value":{},"value_state":{"type":"string","enum":["present","unknown","not_reported","not_applicable","redacted","unreadable","empty"]},"byte_start":{"type":"integer","minimum":0,"maximum":2147483647},"byte_end":{"type":"integer","minimum":0,"maximum":2147483647},"units":{"type":"string","minLength":1,"maxLength":64}},"required":["kind","ordinal"],"additionalProperties":false},"maxItems":256},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["message_id","producer","origin","parse_status","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"decoding_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/decoding_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"fact":{"type":"object","properties":{"subject_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"property":{"type":"string","minLength":1,"maxLength":191},"value_state":{"type":"string","enum":["present","unknown","not_reported","not_applicable","redacted","unreadable","empty"]},"value_type":{"type":"string","enum":["string","number","decimal","integer","boolean","object","array"]},"value":{"type":["string","number","boolean","object","array","null"],"maxLength":8192,"maxItems":256,"maxProperties":256},"units":{"type":"string","minLength":1,"maxLength":191},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"confidence":{"type":"number","minimum":0,"maximum":1},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["subject_id","property","value_state","origin","evidence_id"],"additionalProperties":false},"fact_detail":{"type":"object","properties":{"subject_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"property":{"type":"string","minLength":1,"maxLength":191},"value_state":{"type":"string","enum":["present","unknown","not_reported","not_applicable","redacted","unreadable","empty"]},"value_type":{"type":"string","enum":["string","number","decimal","integer","boolean","object","array"]},"value":{"type":["string","number","boolean","object","array","null"],"maxLength":8192,"maxItems":256,"maxProperties":256},"units":{"type":"string","minLength":1,"maxLength":191},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"confidence":{"type":"number","minimum":0,"maximum":1},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["subject_id","property","value_state","origin","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"fact_created":{"type":"object","properties":{"subject_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"property":{"type":"string","minLength":1,"maxLength":191},"value_state":{"type":"string","enum":["present","unknown","not_reported","not_applicable","redacted","unreadable","empty"]},"value_type":{"type":"string","enum":["string","number","decimal","integer","boolean","object","array"]},"value":{"type":["string","number","boolean","object","array","null"],"maxLength":8192,"maxItems":256,"maxProperties":256},"units":{"type":"string","minLength":1,"maxLength":191},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"confidence":{"type":"number","minimum":0,"maximum":1},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["subject_id","property","value_state","origin","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"fact_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/fact_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"definition":{"type":"object","properties":{"external_key":{"type":"string","minLength":1,"maxLength":191},"kind":{"type":"string","minLength":1,"maxLength":191},"title":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"type":"string","minLength":1,"maxLength":191},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["external_key","kind","title","evidence_id"],"additionalProperties":false},"definition_detail":{"type":"object","properties":{"external_key":{"type":"string","minLength":1,"maxLength":191},"kind":{"type":"string","minLength":1,"maxLength":191},"title":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["external_key","kind","title","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"definition_created":{"type":"object","properties":{"external_key":{"type":"string","minLength":1,"maxLength":191},"kind":{"type":"string","minLength":1,"maxLength":191},"title":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["external_key","kind","title","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"definition_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/definition_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"definition_patch":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":191},{"type":"null"}]}},"required":[],"additionalProperties":false,"minProperties":1},"definition_version":{"type":"object","properties":{"version_name":{"type":"string","minLength":1,"maxLength":191},"description":{"type":"string","minLength":1,"maxLength":32768},"structure":{"type":"object","maxProperties":256},"applicability_state":{"type":"string","enum":["unknown","constrained"]},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["version_name","description","applicability_state","origin","evidence_id"],"additionalProperties":false},"definition_version_detail":{"type":"object","properties":{"definition_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"version_name":{"type":"string","minLength":1,"maxLength":191},"description":{"type":"string","minLength":1,"maxLength":32768},"structure":{"type":"object","maxProperties":256},"applicability_state":{"type":"string","enum":["unknown","constrained"]},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["definition_id","version_name","description","applicability_state","origin","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"definition_version_created":{"type":"object","properties":{"definition_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"version_name":{"type":"string","minLength":1,"maxLength":191},"description":{"type":"string","minLength":1,"maxLength":32768},"structure":{"type":"object","maxProperties":256},"applicability_state":{"type":"string","enum":["unknown","constrained"]},"origin":{"type":"string","enum":["unknown","source_reported","manual_transcription","manual_interpretation","ai_transcription","ai_interpretation","deterministic_extraction","decoder","reviewer"]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["definition_id","version_name","description","applicability_state","origin","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"definition_version_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/definition_version_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"applicability":{"type":"object","properties":{"target_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"target_kind":{"type":"string","enum":["make","chassis","hardware","software","address_namespace","market"]},"constraint_value":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]}},"required":["target_kind","evidence_id"],"additionalProperties":false},"applicability_detail":{"type":"object","properties":{"definition_version_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"target_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"target_kind":{"type":"string","enum":["make","chassis","hardware","software","address_namespace","market"]},"constraint_value":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["definition_version_id","target_kind","evidence_id","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"applicability_created":{"type":"object","properties":{"definition_version_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"target_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"target_kind":{"type":"string","enum":["make","chassis","hardware","software","address_namespace","market"]},"constraint_value":{"type":"string","minLength":1,"maxLength":191},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["definition_version_id","target_kind","evidence_id","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"applicability_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/applicability_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"evidence_link":{"type":"object","properties":{"target_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"relation":{"type":"string","minLength":1,"maxLength":191},"reason":{"type":"string","minLength":1,"maxLength":8192}},"required":["target_id","evidence_id","relation","reason"],"additionalProperties":false},"evidence_link_detail":{"type":"object","properties":{"target_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"relation":{"type":"string","minLength":1,"maxLength":191},"reason":{"type":"string","minLength":1,"maxLength":8192},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["target_id","evidence_id","relation","reason","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"evidence_link_created":{"type":"object","properties":{"target_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"evidence_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"relation":{"type":"string","minLength":1,"maxLength":191},"reason":{"type":"string","minLength":1,"maxLength":8192},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["target_id","evidence_id","relation","reason","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"evidence_link_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/evidence_link_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"review":{"type":"object","properties":{"target_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"target_version":{"type":"integer","minimum":0,"maximum":2147483647},"decision":{"type":"string","enum":["verified","rejected","superseded","unreviewed"]},"rationale":{"type":"string","minLength":1,"maxLength":8192}},"required":["target_id","target_version","decision","rationale"],"additionalProperties":false},"review_detail":{"type":"object","properties":{"target_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"target_version":{"type":"integer","minimum":0,"maximum":2147483647},"decision":{"type":"string","enum":["verified","rejected","superseded","unreviewed"]},"rationale":{"type":"string","minLength":1,"maxLength":8192},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["target_id","target_version","decision","rationale","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"review_created":{"type":"object","properties":{"target_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"target_version":{"type":"integer","minimum":0,"maximum":2147483647},"decision":{"type":"string","enum":["verified","rejected","superseded","unreviewed"]},"rationale":{"type":"string","minLength":1,"maxLength":8192},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["target_id","target_version","decision","rationale","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"review_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/review_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"revision":{"type":"object","properties":{"original_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"replacement_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"relation":{"type":"string","enum":["supersedes","alias","merge"]},"reason":{"type":"string","minLength":1,"maxLength":8192}},"required":["original_id","replacement_id","relation","reason"],"additionalProperties":false},"revision_detail":{"type":"object","properties":{"original_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"replacement_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"relation":{"type":"string","enum":["supersedes","alias","merge"]},"reason":{"type":"string","minLength":1,"maxLength":8192},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["original_id","replacement_id","relation","reason","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"revision_created":{"type":"object","properties":{"original_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"replacement_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"relation":{"type":"string","enum":["supersedes","alias","merge"]},"reason":{"type":"string","minLength":1,"maxLength":8192},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["original_id","replacement_id","relation","reason","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"revision_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/revision_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"redaction":{"type":"object","properties":{"target_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"redacted_excerpt":{"type":"string","minLength":1,"maxLength":65535},"method":{"type":"string","minLength":1,"maxLength":191},"reason":{"type":"string","minLength":1,"maxLength":8192}},"required":["target_id","redacted_excerpt","method","reason"],"additionalProperties":false},"redaction_detail":{"type":"object","properties":{"target_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"redacted_excerpt":{"type":"string","minLength":1,"maxLength":65535},"method":{"type":"string","minLength":1,"maxLength":191},"reason":{"type":"string","minLength":1,"maxLength":8192},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["target_id","redacted_excerpt","method","reason","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"redaction_created":{"type":"object","properties":{"target_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"redacted_excerpt":{"type":"string","minLength":1,"maxLength":65535},"method":{"type":"string","minLength":1,"maxLength":191},"reason":{"type":"string","minLength":1,"maxLength":8192},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["target_id","redacted_excerpt","method","reason","outcome","warnings","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"redaction_list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/redaction_detail"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"message":{"type":"object","properties":{"session_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"source_record_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"external_record_key":{"type":"string","minLength":1,"maxLength":191},"client_namespace":{"type":"string","minLength":1,"maxLength":128},"layer":{"type":"string","enum":["uds_pdu","can_frame","transport_packet","unknown","other"]},"direction":{"type":"string","enum":["tester_to_ecu","ecu_to_tester","peer_to_peer","unknown"]},"source_direction":{"type":"string","minLength":1,"maxLength":64},"source_order":{"type":"string","pattern":"^[0-9]{1,20}$"},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"connection_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"endpoint_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extraction_run_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"payload":{"type":"object","properties":{"representation":{"type":"string","enum":["complete","partial","unavailable"]},"payload_hex":{"type":"string","minLength":1,"maxLength":131072},"payload_base64":{"type":"string","minLength":1,"maxLength":87384},"artifact_range":{"type":"object","properties":{"artifact_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"offset_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"length_bytes":{"type":"integer","minimum":0,"maximum":104857600},"sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"}},"required":["artifact_id","offset_bytes","length_bytes","sha256"],"additionalProperties":false},"reason":{"type":"string","minLength":1,"maxLength":2048},"reported_total_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_ranges":{"type":"array","items":{"type":"object","properties":{"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["start","end"],"additionalProperties":false},"maxItems":256},"segments":{"type":"array","items":{"type":"object","properties":{"ordinal":{"type":"integer","minimum":0,"maximum":2147483647},"offset_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"payload_hex":{"type":"string","minLength":1,"maxLength":131072},"payload_base64":{"type":"string","minLength":1,"maxLength":87384}},"required":["ordinal"],"additionalProperties":false},"maxItems":1024}},"required":["representation"],"additionalProperties":false},"extraction_quality":{"type":"string","enum":["exact","transcribed","uncertain","unknown"]},"diagnostic_status":{"type":"string","minLength":1,"maxLength":64},"transport_outcome":{"type":"string","minLength":1,"maxLength":64},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["session_id","source_record_id","external_record_key","client_namespace","layer","payload"],"additionalProperties":false},"MessagePayloadMetadata":{"oneOf":[{"type":"object","properties":{"representation":{"const":"complete"},"reason":{"type":"string","minLength":1,"maxLength":2048},"reported_total_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"observed_length":{"type":"integer","minimum":0},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},{"type":"null"}]},"artifact_range":{"type":"object","properties":{"artifact_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"offset_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"length_bytes":{"type":"integer","minimum":0,"maximum":104857600},"sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"}},"required":["artifact_id","offset_bytes","length_bytes","sha256"],"additionalProperties":false},"raw_fields_withheld":{"const":true,"description":"Inline bytes are withheld because the caller lacks uds:sensitive-read. This also marks unavailable observations; it does not imply bytes exist."}},"required":["representation","observed_length","sha256"],"additionalProperties":false},{"type":"object","properties":{"representation":{"const":"partial"},"reason":{"type":"string","minLength":1,"maxLength":2048},"reported_total_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"observed_length":{"type":"integer","minimum":0},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},{"type":"null"}]},"missing_ranges":{"type":"array","items":{"type":"object","properties":{"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["start","end"],"additionalProperties":false},"maxItems":256},"segments":{"type":"array","items":{"type":"object","properties":{"ordinal":{"type":"integer","minimum":0},"offset_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"observed_length":{"type":"integer","minimum":0},"sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"}},"required":["ordinal","offset_bytes","sha256"],"additionalProperties":false}},"raw_fields_withheld":{"const":true,"description":"Inline bytes are withheld because the caller lacks uds:sensitive-read. This also marks unavailable observations; it does not imply bytes exist."}},"required":["representation","segments","observed_length"],"additionalProperties":false},{"type":"object","properties":{"representation":{"const":"unavailable"},"reason":{"type":"string","minLength":1,"maxLength":2048},"reported_total_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"observed_length":{"type":"integer","minimum":0},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},{"type":"null"}]},"raw_fields_withheld":{"const":true,"description":"Inline bytes are withheld because the caller lacks uds:sensitive-read. This also marks unavailable observations; it does not imply bytes exist."}},"required":["representation","reason"],"additionalProperties":false}],"description":"Evidence representation and measured metadata; no inline bytes are included in list/create responses."},"MessagePayloadWithheld":{"oneOf":[{"type":"object","properties":{"representation":{"const":"complete"},"reason":{"type":"string","minLength":1,"maxLength":2048},"reported_total_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"observed_length":{"type":"integer","minimum":0},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},{"type":"null"}]},"artifact_range":{"type":"object","properties":{"artifact_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"offset_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"length_bytes":{"type":"integer","minimum":0,"maximum":104857600},"sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"}},"required":["artifact_id","offset_bytes","length_bytes","sha256"],"additionalProperties":false},"raw_fields_withheld":{"const":true,"description":"Inline bytes are withheld because the caller lacks uds:sensitive-read. This also marks unavailable observations; it does not imply bytes exist."}},"required":["representation","observed_length","sha256","raw_fields_withheld"],"additionalProperties":false},{"type":"object","properties":{"representation":{"const":"partial"},"reason":{"type":"string","minLength":1,"maxLength":2048},"reported_total_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"observed_length":{"type":"integer","minimum":0},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},{"type":"null"}]},"missing_ranges":{"type":"array","items":{"type":"object","properties":{"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["start","end"],"additionalProperties":false},"maxItems":256},"segments":{"type":"array","items":{"type":"object","properties":{"ordinal":{"type":"integer","minimum":0},"offset_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"observed_length":{"type":"integer","minimum":0},"sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"}},"required":["ordinal","offset_bytes","sha256"],"additionalProperties":false}},"raw_fields_withheld":{"const":true,"description":"Inline bytes are withheld because the caller lacks uds:sensitive-read. This also marks unavailable observations; it does not imply bytes exist."}},"required":["representation","segments","observed_length","raw_fields_withheld"],"additionalProperties":false},{"type":"object","properties":{"representation":{"const":"unavailable"},"reason":{"type":"string","minLength":1,"maxLength":2048},"reported_total_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"observed_length":{"type":"integer","minimum":0},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},{"type":"null"}]},"raw_fields_withheld":{"const":true,"description":"Inline bytes are withheld because the caller lacks uds:sensitive-read. This also marks unavailable observations; it does not imply bytes exist."}},"required":["representation","reason","raw_fields_withheld"],"additionalProperties":false}],"description":"Protected detail projection returned without uds:sensitive-read; segments retain measured metadata and never inline bytes."},"MessagePayloadDetail":{"oneOf":[{"type":"object","properties":{"representation":{"const":"complete"},"reason":{"type":"string","minLength":1,"maxLength":2048},"reported_total_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"observed_length":{"type":"integer","minimum":0},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},{"type":"null"}]},"artifact_range":{"type":"object","properties":{"artifact_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"offset_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"length_bytes":{"type":"integer","minimum":0,"maximum":104857600},"sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"}},"required":["artifact_id","offset_bytes","length_bytes","sha256"],"additionalProperties":false},"payload_hex":{"type":"string","pattern":"^(?:[0-9A-F]{2})+$"}},"required":["representation","observed_length","sha256"],"additionalProperties":false,"anyOf":[{"required":["payload_hex"]},{"required":["artifact_range"]}]},{"type":"object","properties":{"representation":{"const":"partial"},"reason":{"type":"string","minLength":1,"maxLength":2048},"reported_total_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"observed_length":{"type":"integer","minimum":0},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},{"type":"null"}]},"missing_ranges":{"type":"array","items":{"type":"object","properties":{"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["start","end"],"additionalProperties":false},"maxItems":256},"segments":{"type":"array","items":{"type":"object","properties":{"ordinal":{"type":"integer","minimum":0},"offset_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"observed_length":{"type":"integer","minimum":0},"sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},"payload_hex":{"type":"string","pattern":"^(?:[0-9A-F]{2})+$"}},"required":["ordinal","offset_bytes","sha256","payload_hex"],"additionalProperties":false}}},"required":["representation","segments","observed_length"],"additionalProperties":false},{"type":"object","properties":{"representation":{"const":"unavailable"},"reason":{"type":"string","minLength":1,"maxLength":2048},"reported_total_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"observed_length":{"type":"integer","minimum":0},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},{"type":"null"}]}},"required":["representation","reason"],"additionalProperties":false},{"$ref":"#/components/schemas/MessagePayloadWithheld"}]},"MessageMetadata":{"type":"object","properties":{"session_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"source_record_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"external_record_key":{"type":"string","minLength":1,"maxLength":191},"client_namespace":{"type":"string","minLength":1,"maxLength":128},"layer":{"type":"string","enum":["uds_pdu","can_frame","transport_packet","unknown","other"]},"direction":{"type":"string","enum":["tester_to_ecu","ecu_to_tester","peer_to_peer","unknown"]},"source_direction":{"type":"string","minLength":1,"maxLength":64},"source_order":{"type":"string","pattern":"^[0-9]{1,20}$"},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"connection_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"endpoint_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extraction_run_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"payload":{"$ref":"#/components/schemas/MessagePayloadMetadata"},"extraction_quality":{"type":"string","enum":["exact","transcribed","uncertain","unknown"]},"diagnostic_status":{"type":"string","minLength":1,"maxLength":64},"transport_outcome":{"type":"string","minLength":1,"maxLength":64},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","source_record_id","external_record_key","client_namespace","layer","payload","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"MessageDetail":{"type":"object","properties":{"session_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"source_record_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"external_record_key":{"type":"string","minLength":1,"maxLength":191},"client_namespace":{"type":"string","minLength":1,"maxLength":128},"layer":{"type":"string","enum":["uds_pdu","can_frame","transport_packet","unknown","other"]},"direction":{"type":"string","enum":["tester_to_ecu","ecu_to_tester","peer_to_peer","unknown"]},"source_direction":{"type":"string","minLength":1,"maxLength":64},"source_order":{"type":"string","pattern":"^[0-9]{1,20}$"},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"connection_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"endpoint_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extraction_run_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"payload":{"$ref":"#/components/schemas/MessagePayloadDetail"},"extraction_quality":{"type":"string","enum":["exact","transcribed","uncertain","unknown"]},"diagnostic_status":{"type":"string","minLength":1,"maxLength":64},"transport_outcome":{"type":"string","minLength":1,"maxLength":64},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","source_record_id","external_record_key","client_namespace","layer","payload","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"MessageCreated":{"type":"object","properties":{"session_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"source_record_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"external_record_key":{"type":"string","minLength":1,"maxLength":191},"client_namespace":{"type":"string","minLength":1,"maxLength":128},"layer":{"type":"string","enum":["uds_pdu","can_frame","transport_packet","unknown","other"]},"direction":{"type":"string","enum":["tester_to_ecu","ecu_to_tester","peer_to_peer","unknown"]},"source_direction":{"type":"string","minLength":1,"maxLength":64},"source_order":{"type":"string","pattern":"^[0-9]{1,20}$"},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"connection_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"endpoint_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extraction_run_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"payload":{"$ref":"#/components/schemas/MessagePayloadMetadata"},"extraction_quality":{"type":"string","enum":["exact","transcribed","uncertain","unknown"]},"diagnostic_status":{"type":"string","minLength":1,"maxLength":64},"transport_outcome":{"type":"string","minLength":1,"maxLength":64},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"outcome":{"type":"string","enum":["created","existing"]},"warnings":{"type":"array","items":{"type":"string","description":"Safe validation warning, for example unvalidated_extension:<namespace>."}},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["session_id","source_record_id","external_record_key","client_namespace","layer","payload","outcome","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"MessageList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MessageMetadata"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"artifact":{"type":"object","properties":{"availability":{"type":"string","enum":["upload","external","unavailable"]},"size_bytes":{"type":"integer","minimum":0,"maximum":104857600},"sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},"media_type":{"type":"string","minLength":1,"maxLength":191},"external_reference":{"type":"string","minLength":1,"maxLength":2048},"reason":{"type":"string","minLength":1,"maxLength":2048}},"required":[],"additionalProperties":false,"allOf":[{"if":{"properties":{"availability":{"enum":["external","unavailable"]}},"required":["availability"]},"then":{"required":["reason"]},"else":{"required":["size_bytes","sha256","media_type"]}},{"if":{"properties":{"availability":{"const":"external"}},"required":["availability"]},"then":{"required":["external_reference"]}}]},"ArtifactMetadata":{"type":"object","properties":{"availability":{"type":"string","enum":["upload","external","unavailable"]},"size_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":104857600},{"type":"null"}]},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},{"type":"null"}]},"media_type":{"type":"string","minLength":1,"maxLength":191},"external_reference":{"type":"string","minLength":1,"maxLength":2048},"reason":{"type":"string","minLength":1,"maxLength":2048},"source_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"state":{"type":"string","enum":["pending","uploading","available","failed","external","unavailable","purging","purged"]},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["source_id","state","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ArtifactRegistered":{"type":"object","properties":{"availability":{"type":"string","enum":["upload","external","unavailable"]},"size_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":104857600},{"type":"null"}]},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},{"type":"null"}]},"media_type":{"type":"string","minLength":1,"maxLength":191},"external_reference":{"type":"string","minLength":1,"maxLength":2048},"reason":{"type":"string","minLength":1,"maxLength":2048},"source_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"state":{"type":"string","enum":["pending","uploading","available","failed","external","unavailable","purging","purged"]},"upload":{"type":"object","properties":{"method":{"const":"PUT"},"url":{"type":"string","format":"uri-reference"},"content_type":{"const":"application/octet-stream"},"requires_authorization":{"const":true}},"required":["method","url","content_type","requires_authorization"],"additionalProperties":false},"complete_url":{"type":"string","format":"uri-reference"},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["source_id","state","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ArtifactUpload":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"state":{"const":"pending"},"next":{"type":"string"}},"required":["id","state","next"],"additionalProperties":false},"ArtifactComplete":{"type":"object","properties":{"availability":{"type":"string","enum":["upload","external","unavailable"]},"size_bytes":{"type":"integer","minimum":1,"maximum":104857600},"sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},"media_type":{"type":"string","minLength":1,"maxLength":191},"external_reference":{"type":"string","minLength":1,"maxLength":2048},"reason":{"type":"string","minLength":1,"maxLength":2048},"source_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"state":{"const":"available"},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["source_id","state","sha256","size_bytes","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ArtifactList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ArtifactMetadata"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"import":{"type":"object","properties":{"client_namespace":{"type":"string","minLength":1,"maxLength":128},"external_key":{"type":"string","minLength":1,"maxLength":191},"purpose":{"type":"string","minLength":1,"maxLength":2048}},"required":["client_namespace","external_key"],"additionalProperties":false},"ImportMetadata":{"type":"object","properties":{"client_namespace":{"type":"string","minLength":1,"maxLength":128},"external_key":{"type":"string","minLength":1,"maxLength":191},"purpose":{"type":"string","minLength":1,"maxLength":2048},"status":{"type":"string","enum":["open","processing","completed","completed_with_errors","failed","cancelled"]},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["client_namespace","external_key","status","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ImportDetail":{"type":"object","properties":{"client_namespace":{"type":"string","minLength":1,"maxLength":128},"external_key":{"type":"string","minLength":1,"maxLength":191},"purpose":{"type":"string","minLength":1,"maxLength":2048},"status":{"type":"string","enum":["open","processing","completed","completed_with_errors","failed","cancelled"]},"sealed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"cancelled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["client_namespace","external_key","status","sealed_at","cancelled_at","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"ImportList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ImportMetadata"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"BatchCounts":{"type":"object","properties":{"received":{"type":"integer","minimum":0},"created":{"type":"integer","minimum":0},"existing":{"type":"integer","minimum":0},"rejected":{"type":"integer","minimum":0},"cancelled":{"type":"integer","minimum":0},"processed":{"type":"integer","minimum":0}},"required":["received","created","existing","rejected","cancelled","processed"],"additionalProperties":false},"BatchMetadata":{"type":"object","properties":{"import_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"batch_key":{"type":"string","minLength":1,"maxLength":191},"status":{"type":"string","enum":["queued","processing","completed","completed_with_errors","failed","cancelled"]},"counts":{"type":"object","properties":{"received":{"type":"integer","minimum":0},"created":{"type":"integer","minimum":0},"existing":{"type":"integer","minimum":0},"rejected":{"type":"integer","minimum":0},"cancelled":{"type":"integer","minimum":0}},"required":["received","created","existing","rejected","cancelled"],"additionalProperties":false},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["import_id","batch_key","status","counts","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"BatchDetail":{"type":"object","properties":{"import_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"batch_key":{"type":"string","minLength":1,"maxLength":191},"status":{"type":"string","enum":["queued","processing","completed","completed_with_errors","failed","cancelled"]},"counts":{"$ref":"#/components/schemas/BatchCounts"},"attempts":{"type":"integer","minimum":0},"limits":{"$ref":"#/components/schemas/Limits"},"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$","readOnly":true},"version":{"type":"integer","minimum":1,"readOnly":true},"received_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string","readOnly":true},"review_state":{"type":"string","enum":["unreviewed","verified","rejected","superseded"],"readOnly":true},"contract_version":{"type":"string","examples":["1.1.0"],"readOnly":true}},"required":["import_id","batch_key","status","counts","attempts","limits","id","version","received_at","created_by","review_state","contract_version"],"additionalProperties":false},"BatchList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BatchMetadata"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"contract_version":{"type":"string"}},"required":["data","has_more","next_cursor","contract_version"],"additionalProperties":false},"BatchMessage":{"oneOf":[{"type":"object","properties":{"session_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"source_record_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"external_record_key":{"type":"string","minLength":1,"maxLength":191},"client_namespace":{"type":"string","minLength":1,"maxLength":128},"layer":{"type":"string","enum":["uds_pdu","can_frame","transport_packet","unknown","other"]},"direction":{"type":"string","enum":["tester_to_ecu","ecu_to_tester","peer_to_peer","unknown"]},"source_direction":{"type":"string","minLength":1,"maxLength":64},"source_order":{"type":"string","pattern":"^[0-9]{1,20}$"},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"connection_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"endpoint_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extraction_run_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"payload":{"type":"object","properties":{"representation":{"type":"string","enum":["complete","partial","unavailable"]},"payload_hex":{"type":"string","minLength":1,"maxLength":131072},"payload_base64":{"type":"string","minLength":1,"maxLength":87384},"artifact_range":{"type":"object","properties":{"artifact_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"offset_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"length_bytes":{"type":"integer","minimum":0,"maximum":104857600},"sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"}},"required":["artifact_id","offset_bytes","length_bytes","sha256"],"additionalProperties":false},"reason":{"type":"string","minLength":1,"maxLength":2048},"reported_total_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_ranges":{"type":"array","items":{"type":"object","properties":{"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["start","end"],"additionalProperties":false},"maxItems":256},"segments":{"type":"array","items":{"type":"object","properties":{"ordinal":{"type":"integer","minimum":0,"maximum":2147483647},"offset_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"payload_hex":{"type":"string","minLength":1,"maxLength":131072},"payload_base64":{"type":"string","minLength":1,"maxLength":87384}},"required":["ordinal"],"additionalProperties":false},"maxItems":1024}},"required":["representation"],"additionalProperties":false},"extraction_quality":{"type":"string","enum":["exact","transcribed","uncertain","unknown"]},"diagnostic_status":{"type":"string","minLength":1,"maxLength":64},"transport_outcome":{"type":"string","minLength":1,"maxLength":64},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}}},"required":["session_id","source_record_id","external_record_key","layer","payload"],"additionalProperties":false},{"type":"object","properties":{"session_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"external_record_key":{"type":"string","minLength":1,"maxLength":191},"client_namespace":{"type":"string","minLength":1,"maxLength":128},"layer":{"type":"string","enum":["uds_pdu","can_frame","transport_packet","unknown","other"]},"direction":{"type":"string","enum":["tester_to_ecu","ecu_to_tester","peer_to_peer","unknown"]},"source_direction":{"type":"string","minLength":1,"maxLength":64},"source_order":{"type":"string","pattern":"^[0-9]{1,20}$"},"observed_at":{"type":"object","properties":{"raw":{"type":"string","minLength":1,"maxLength":256},"normalized_utc":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$"},"timezone":{"type":"string","minLength":1,"maxLength":128},"precision":{"type":"string","minLength":1,"maxLength":32},"clock_domain":{"type":"string","minLength":1,"maxLength":128},"conversion_method":{"type":"string","minLength":1,"maxLength":256},"relative_nanoseconds":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","maxLength":80},"accuracy":{"type":"string","minLength":1,"maxLength":128}},"required":[],"additionalProperties":false},"connection_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"endpoint_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"extraction_run_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"payload":{"type":"object","properties":{"representation":{"type":"string","enum":["complete","partial","unavailable"]},"payload_hex":{"type":"string","minLength":1,"maxLength":131072},"payload_base64":{"type":"string","minLength":1,"maxLength":87384},"artifact_range":{"type":"object","properties":{"artifact_id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"offset_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"length_bytes":{"type":"integer","minimum":0,"maximum":104857600},"sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"}},"required":["artifact_id","offset_bytes","length_bytes","sha256"],"additionalProperties":false},"reason":{"type":"string","minLength":1,"maxLength":2048},"reported_total_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_ranges":{"type":"array","items":{"type":"object","properties":{"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["start","end"],"additionalProperties":false},"maxItems":256},"segments":{"type":"array","items":{"type":"object","properties":{"ordinal":{"type":"integer","minimum":0,"maximum":2147483647},"offset_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"payload_hex":{"type":"string","minLength":1,"maxLength":131072},"payload_base64":{"type":"string","minLength":1,"maxLength":87384}},"required":["ordinal"],"additionalProperties":false},"maxItems":1024}},"required":["representation"],"additionalProperties":false},"extraction_quality":{"type":"string","enum":["exact","transcribed","uncertain","unknown"]},"diagnostic_status":{"type":"string","minLength":1,"maxLength":64},"transport_outcome":{"type":"string","minLength":1,"maxLength":64},"extensions":{"type":"object","maxProperties":32,"propertyNames":{"pattern":"^[a-z][a-z0-9_.-]{0,127}$"},"additionalProperties":{"type":"object","properties":{"schema_version":{"type":"string","minLength":1,"maxLength":32},"data":{"type":"object","maxProperties":256}},"required":["schema_version","data"],"additionalProperties":false}},"inline_source_record":{"$ref":"#/components/schemas/source_record"}},"required":["session_id","external_record_key","layer","payload","inline_source_record"],"additionalProperties":false}],"description":"A valid item supplies source_record_id or inline_source_record, never both. client_namespace may be omitted to inherit the import namespace; an explicit mismatch is rejected. Inline provenance commits atomically with its message."},"batch":{"type":"object","properties":{"batch_key":{"type":"string","minLength":1,"maxLength":191},"items":{"type":"array","items":{"description":"Any JSON item is durably accepted for per-item validation. Correct client submissions follow BatchMessage; invalid items produce rejected outcomes.","x-valid-item-schema":{"$ref":"#/components/schemas/BatchMessage"}},"maxItems":500,"minItems":1}},"required":["batch_key","items"],"additionalProperties":false},"CancelledItem":{"type":"object","properties":{"code":{"const":"import_cancelled"},"status":{"const":409}},"required":["code","status"],"additionalProperties":false},"BatchItem":{"type":"object","properties":{"ordinal":{"type":"integer","minimum":0},"external_record_key":{"anyOf":[{"type":"string","maxLength":191},{"type":"null"}]},"status":{"type":"string","enum":["queued","created","existing","rejected","cancelled"]},"resource_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},{"type":"null"}]},"outcome":{"anyOf":[{"$ref":"#/components/schemas/MessageCreated"},{"$ref":"#/components/schemas/Problem"},{"$ref":"#/components/schemas/CancelledItem"},{"type":"null"}],"description":"Created/existing resource metadata, a rejection Problem, a cancellation code, or null while queued."}},"required":["ordinal","external_record_key","status","resource_id","outcome"],"additionalProperties":false},"BatchItemList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BatchItem"}},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["data","has_more","next_cursor"],"additionalProperties":false},"PublicProtocol":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"},"title":{"type":"string"},"summary":{"type":"string"},"document":{"type":"object","properties":{"protocol":{"const":"UDS"},"make":{"type":"string","minLength":1,"maxLength":120},"model":{"type":"string","minLength":1,"maxLength":120},"ecu":{"type":"string","minLength":1,"maxLength":120},"hardwareIdentifiers":{"type":"array","items":{"type":"string","minLength":1,"maxLength":191},"maxItems":50},"softwareIdentifiers":{"type":"array","items":{"type":"string","minLength":1,"maxLength":191},"maxItems":50},"applicability":{"type":"string","minLength":1,"maxLength":4000},"notes":{"type":"string","minLength":1,"maxLength":8000},"steps":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string","minLength":1,"maxLength":1000},"requestHex":{"type":"string","pattern":"^(?:[A-Fa-f0-9]{2}){1,4096}$"},"expectedResponsePrefixHex":{"type":"string","pattern":"^(?:[A-Fa-f0-9]{2}){1,4096}$"},"waitMs":{"type":"integer","minimum":0,"maximum":60000}},"required":["description","requestHex"],"additionalProperties":false},"maxItems":100,"minItems":1}},"required":["protocol","ecu","applicability","steps"],"additionalProperties":false},"publishedAt":{"type":"string","format":"date-time"}},"required":["id","title","summary","document","publishedAt"],"additionalProperties":false}}},"security":[{"bearerAuth":[]}]}