{"success":true,"data":{"openapi":"3.2.0","info":{"title":"opsregistry registry API","version":"0.1.0"},"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key"},"RefreshTokenCookie":{"type":"apiKey","in":"cookie","name":"refresh_token"},"RegistryClient":{"type":"http","scheme":"bearer","description":"Independent, revocable Registry client credential; registration grants no organization authority."}},"schemas":{},"parameters":{}},"paths":{"/api/organizations":{"get":{"operationId":"get_organizations","summary":"Find registered organizations","description":"Public organization cards. Exact INN or OGRN/OGRNIP lookup, literal name search and bounded UUID pagination. INN lookup may return several registrations for a sole proprietor.","tags":["Organizations"],"parameters":[{"schema":{"type":"string"},"required":false,"name":"inn","in":"query"},{"schema":{"type":"string"},"required":false,"name":"registrationNumber","in":"query"},{"schema":{"type":"string","enum":["legal_entity","sole_proprietor"]},"required":false,"name":"kind","in":"query"},{"schema":{"type":"string","minLength":2,"maxLength":120,"pattern":"^[^\\u0000-\\u001f\\u007f]*$"},"required":false,"name":"q","in":"query"},{"schema":{"type":"string","format":"uuid"},"required":false,"name":"after","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":20},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"organizationId":{"type":"string","format":"uuid"},"countryCode":{"type":"string","enum":["RU"]},"kind":{"type":"string","enum":["legal_entity","sole_proprietor"]},"inn":{"type":"string"},"registrationType":{"type":"string","enum":["ogrn","ogrnip"]},"registrationNumber":{"type":"string"},"legalName":{"type":"string"},"registrationAddress":{"type":["string","null"]},"verificationStatus":{"type":"string","enum":["unverified"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["organizationId","countryCode","kind","inn","registrationType","registrationNumber","legalName","registrationAddress","verificationStatus","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"type":["string","null"],"format":"uuid"}},"required":["items","nextCursor"]}}}},"400":{"description":"Bad request / validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}}}},"post":{"operationId":"post_organizations","summary":"Find or register a legal entity or sole proprietor","description":"Requires a separate registry client bearer token with registration permission and an Idempotency-Key header (1–128 ASCII letters/digits or . _ : -). registrationNumber is OGRN for legal_entity and OGRNIP for sole_proprietor. Adds an unverified public card without granting representation rights. Existing card fields are preserved; later submissions become private provenance.","tags":["Organizations"],"security":[{"RegistryClient":[]}],"x-agent-guide":{"module":"directory","purpose":"Resolve a permanent organizationId from Russian registration identifiers","sideEffect":"write","invariants":["A registration does not grant organization authority","Retry the same payload with the same Idempotency-Key","No temporary global organizationId is issued"],"schemaVersion":1,"key":"post /api/organizations","method":"POST","path":"/api/organizations","write":true},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"countryCode":{"type":"string","enum":["RU"],"default":"RU"},"kind":{"type":"string","enum":["legal_entity","sole_proprietor"]},"inn":{"type":"string"},"registrationNumber":{"type":"string"},"legalName":{"type":"string","minLength":1,"maxLength":500,"pattern":"^[^\\u0000-\\u001f\\u007f]*$"},"registrationAddress":{"type":"string","minLength":1,"maxLength":1000,"pattern":"^[^\\u0000-\\u001f\\u007f]*$"}},"required":["kind","inn","registrationNumber","legalName"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"object","properties":{"organizationId":{"type":"string","format":"uuid"},"countryCode":{"type":"string","enum":["RU"]},"kind":{"type":"string","enum":["legal_entity","sole_proprietor"]},"inn":{"type":"string"},"registrationType":{"type":"string","enum":["ogrn","ogrnip"]},"registrationNumber":{"type":"string"},"legalName":{"type":"string"},"registrationAddress":{"type":["string","null"]},"verificationStatus":{"type":"string","enum":["unverified"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["organizationId","countryCode","kind","inn","registrationType","registrationNumber","legalName","registrationAddress","verificationStatus","createdAt","updatedAt"],"additionalProperties":false},"created":{"type":"boolean"}},"required":["organization","created"]}}}},"201":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"object","properties":{"organizationId":{"type":"string","format":"uuid"},"countryCode":{"type":"string","enum":["RU"]},"kind":{"type":"string","enum":["legal_entity","sole_proprietor"]},"inn":{"type":"string"},"registrationType":{"type":"string","enum":["ogrn","ogrnip"]},"registrationNumber":{"type":"string"},"legalName":{"type":"string"},"registrationAddress":{"type":["string","null"]},"verificationStatus":{"type":"string","enum":["unverified"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["organizationId","countryCode","kind","inn","registrationType","registrationNumber","legalName","registrationAddress","verificationStatus","createdAt","updatedAt"],"additionalProperties":false},"created":{"type":"boolean"}},"required":["organization","created"]}}}},"400":{"description":"Bad request / validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}]}},"/api/registry":{"get":{"operationId":"get_registry","summary":"Read registry catalog","description":"Returns six current definition collections and preserved operation/event versions with validated references. Does not include runtime registrations or executions.","tags":["Registry"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"domains":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"tags":{"type":"array","items":{"type":"string","minLength":1},"default":[]},"translations":{"type":"object","additionalProperties":{"type":"object","properties":{"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1}},"required":["title","summary"]},"default":{}}},"required":["code","title","summary","status"]}},"operations":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"tags":{"type":"array","items":{"type":"string","minLength":1},"default":[]},"requestDescription":{"type":"string","minLength":1},"responseDescription":{"type":"string","minLength":1},"annotations":{"type":"object","properties":{"readOnlyHint":{"type":"boolean"},"destructiveHint":{"type":"boolean"},"idempotentHint":{"type":"boolean"},"openWorldHint":{"type":"boolean"}},"required":["readOnlyHint","destructiveHint","idempotentHint","openWorldHint"]},"translations":{"type":"object","additionalProperties":{"type":"object","properties":{"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"requestDescription":{"type":"string","minLength":1},"responseDescription":{"type":"string","minLength":1}},"required":["title","summary"]},"default":{}}},"required":["code","title","summary","version","status"]}},"providers":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"website":{"type":"string","format":"uri"},"taxIds":{"type":"object","properties":{"inn":{"type":"string","pattern":"^\\d{10}(\\d{2})?$"}},"required":["inn"]},"countryCodes":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2},"default":[]},"tags":{"type":"array","items":{"type":"string","minLength":1},"default":[]}},"required":["code","title","summary","status"]}},"capabilities":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"providerCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"operationCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"executionMode":{"type":"string","enum":["native","adapter"]},"visibility":{"type":"string","enum":["public","private-preview","private"],"default":"public"},"authModes":{"type":"array","items":{"type":"string","enum":["public","authorized"]},"minItems":1,"default":["authorized"]},"defaultAuthMode":{"type":"string","enum":["public","authorized"],"default":"authorized"},"tags":{"type":"array","items":{"type":"string","minLength":1},"default":[]}},"required":["code","providerCode","operationCode","title","summary","status","executionMode"]}},"adapters":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"capabilityCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"providerCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"operationCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"implementationStatus":{"type":"string","enum":["planned","stub","partial","ready","implemented"],"default":"stub"},"kind":{"type":"string","enum":["http","sdk","manual","internal"],"default":"http"},"authModes":{"type":"array","items":{"type":"string","enum":["public","authorized"]},"minItems":1,"default":["authorized"]},"defaultAuthMode":{"type":"string","enum":["public","authorized"],"default":"authorized"},"notes":{"type":"string","minLength":1},"implementation":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["direct"]},"contractVersion":{"type":"string","minLength":1},"emitsEvents":{"type":"array","items":{"type":"object","properties":{"eventCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"version":{"type":"string","minLength":1}},"required":["eventCode","version"],"additionalProperties":false},"default":[]}},"required":["kind","contractVersion"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["composite"]},"contractVersion":{"type":"string","minLength":1},"emitsEvents":{"type":"array","items":{"type":"object","properties":{"eventCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"version":{"type":"string","minLength":1}},"required":["eventCode","version"],"additionalProperties":false},"default":[]},"operationDependencies":{"type":"array","items":{"type":"object","properties":{"operationCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"version":{"type":"string","minLength":1}},"required":["operationCode","version"],"additionalProperties":false},"minItems":1,"description":"Unordered contract requirements only. Does not describe step order, data bindings or an executable composition."}},"required":["kind","contractVersion","operationDependencies"],"additionalProperties":false}],"description":"Implementation metadata only; execution plans and runtime guarantees belong to the consumer."}},"required":["code","capabilityCode","providerCode","operationCode","title","summary","status"]}},"events":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"payloadContract":{"type":"string","minLength":1},"deliverySemantics":{"type":"string","enum":["atLeastOnceUnordered"]},"providers":{"type":"array","items":{"type":"object","properties":{"providerCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"transport":{"type":"string","enum":["webhook","polling"]},"authenticity":{"type":"string","enum":["signature","apiVerificationRequired"]},"historyReplay":{"type":"boolean"},"externalChannelCoverage":{"type":"string","enum":["verified","unverified","unsupported"]}},"required":["providerCode","transport","authenticity","historyReplay","externalChannelCoverage"]},"default":[]}},"required":["code","title","summary","version","status","payloadContract","deliverySemantics"]}},"operationVersions":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"tags":{"type":"array","items":{"type":"string","minLength":1},"default":[]},"requestDescription":{"type":"string","minLength":1},"responseDescription":{"type":"string","minLength":1},"annotations":{"type":"object","properties":{"readOnlyHint":{"type":"boolean"},"destructiveHint":{"type":"boolean"},"idempotentHint":{"type":"boolean"},"openWorldHint":{"type":"boolean"}},"required":["readOnlyHint","destructiveHint","idempotentHint","openWorldHint"]},"translations":{"type":"object","additionalProperties":{"type":"object","properties":{"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"requestDescription":{"type":"string","minLength":1},"responseDescription":{"type":"string","minLength":1}},"required":["title","summary"]},"default":{}}},"required":["code","title","summary","version","status"]},"default":[]},"eventVersions":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"payloadContract":{"type":"string","minLength":1},"deliverySemantics":{"type":"string","enum":["atLeastOnceUnordered"]},"providers":{"type":"array","items":{"type":"object","properties":{"providerCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"transport":{"type":"string","enum":["webhook","polling"]},"authenticity":{"type":"string","enum":["signature","apiVerificationRequired"]},"historyReplay":{"type":"boolean"},"externalChannelCoverage":{"type":"string","enum":["verified","unverified","unsupported"]}},"required":["providerCode","transport","authenticity","historyReplay","externalChannelCoverage"]},"default":[]}},"required":["code","title","summary","version","status","payloadContract","deliverySemantics"]},"default":[]}},"required":["domains","operations","providers","capabilities","adapters","events"]}}}},"400":{"description":"Bad request / validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}}}}},"/api/capabilities":{"get":{"operationId":"get_capabilities","summary":"List capabilities","description":"Returns published provider capabilities for the registry operations.","tags":["Registry"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"providerCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"operationCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"executionMode":{"type":"string","enum":["native","adapter"]},"visibility":{"type":"string","enum":["public","private-preview","private"],"default":"public"},"authModes":{"type":"array","items":{"type":"string","enum":["public","authorized"]},"minItems":1,"default":["authorized"]},"defaultAuthMode":{"type":"string","enum":["public","authorized"],"default":"authorized"},"tags":{"type":"array","items":{"type":"string","minLength":1},"default":[]}},"required":["code","providerCode","operationCode","title","summary","status","executionMode"]}}},"required":["items"]}}}},"400":{"description":"Bad request / validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}}}}},"/api/domains":{"get":{"operationId":"get_domains","summary":"List operation domains","description":"Returns top-level domains used to group universal registry operations.","tags":["Registry"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"tags":{"type":"array","items":{"type":"string","minLength":1},"default":[]},"translations":{"type":"object","additionalProperties":{"type":"object","properties":{"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1}},"required":["title","summary"]},"default":{}}},"required":["code","title","summary","status"]}}},"required":["items"]}}}},"400":{"description":"Bad request / validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}}}}},"/api/operations":{"get":{"operationId":"get_operations","summary":"List operations","description":"Returns operation definitions from the git-first registry.","tags":["Registry"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"tags":{"type":"array","items":{"type":"string","minLength":1},"default":[]},"requestDescription":{"type":"string","minLength":1},"responseDescription":{"type":"string","minLength":1},"annotations":{"type":"object","properties":{"readOnlyHint":{"type":"boolean"},"destructiveHint":{"type":"boolean"},"idempotentHint":{"type":"boolean"},"openWorldHint":{"type":"boolean"}},"required":["readOnlyHint","destructiveHint","idempotentHint","openWorldHint"]},"translations":{"type":"object","additionalProperties":{"type":"object","properties":{"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"requestDescription":{"type":"string","minLength":1},"responseDescription":{"type":"string","minLength":1}},"required":["title","summary"]},"default":{}}},"required":["code","title","summary","version","status"]}}},"required":["items"]}}}},"400":{"description":"Bad request / validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}}}}},"/api/providers":{"get":{"operationId":"get_providers","summary":"List providers","description":"Returns providers with published capabilities and optional adapters.","tags":["Registry"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"website":{"type":"string","format":"uri"},"taxIds":{"type":"object","properties":{"inn":{"type":"string","pattern":"^\\d{10}(\\d{2})?$"}},"required":["inn"]},"countryCodes":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2},"default":[]},"tags":{"type":"array","items":{"type":"string","minLength":1},"default":[]},"capabilities":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"providerCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"operationCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"executionMode":{"type":"string","enum":["native","adapter"]},"visibility":{"type":"string","enum":["public","private-preview","private"],"default":"public"},"authModes":{"type":"array","items":{"type":"string","enum":["public","authorized"]},"minItems":1,"default":["authorized"]},"defaultAuthMode":{"type":"string","enum":["public","authorized"],"default":"authorized"},"tags":{"type":"array","items":{"type":"string","minLength":1},"default":[]}},"required":["code","providerCode","operationCode","title","summary","status","executionMode"]},"default":[]},"adapters":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"capabilityCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"providerCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"operationCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"implementationStatus":{"type":"string","enum":["planned","stub","partial","ready","implemented"],"default":"stub"},"kind":{"type":"string","enum":["http","sdk","manual","internal"],"default":"http"},"authModes":{"type":"array","items":{"type":"string","enum":["public","authorized"]},"minItems":1,"default":["authorized"]},"defaultAuthMode":{"type":"string","enum":["public","authorized"],"default":"authorized"},"notes":{"type":"string","minLength":1},"implementation":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["direct"]},"contractVersion":{"type":"string","minLength":1},"emitsEvents":{"type":"array","items":{"type":"object","properties":{"eventCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"version":{"type":"string","minLength":1}},"required":["eventCode","version"],"additionalProperties":false},"default":[]}},"required":["kind","contractVersion"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["composite"]},"contractVersion":{"type":"string","minLength":1},"emitsEvents":{"type":"array","items":{"type":"object","properties":{"eventCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"version":{"type":"string","minLength":1}},"required":["eventCode","version"],"additionalProperties":false},"default":[]},"operationDependencies":{"type":"array","items":{"type":"object","properties":{"operationCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"version":{"type":"string","minLength":1}},"required":["operationCode","version"],"additionalProperties":false},"minItems":1,"description":"Unordered contract requirements only. Does not describe step order, data bindings or an executable composition."}},"required":["kind","contractVersion","operationDependencies"],"additionalProperties":false}],"description":"Implementation metadata only; execution plans and runtime guarantees belong to the consumer."}},"required":["code","capabilityCode","providerCode","operationCode","title","summary","status"]},"default":[]},"events":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"payloadContract":{"type":"string","minLength":1},"deliverySemantics":{"type":"string","enum":["atLeastOnceUnordered"]},"providers":{"type":"array","items":{"type":"object","properties":{"providerCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"transport":{"type":"string","enum":["webhook","polling"]},"authenticity":{"type":"string","enum":["signature","apiVerificationRequired"]},"historyReplay":{"type":"boolean"},"externalChannelCoverage":{"type":"string","enum":["verified","unverified","unsupported"]}},"required":["providerCode","transport","authenticity","historyReplay","externalChannelCoverage"]},"default":[]}},"required":["code","title","summary","version","status","payloadContract","deliverySemantics"]},"default":[]},"operationCodes":{"type":"array","items":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"default":[]}},"required":["code","title","summary","status"]}}},"required":["items"]}}}},"400":{"description":"Bad request / validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}}}}},"/api/adapters":{"get":{"operationId":"get_adapters","summary":"List adapters","description":"Returns adapter metadata, including declared implementation dependencies when provided.","tags":["Registry"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"capabilityCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"providerCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"operationCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"implementationStatus":{"type":"string","enum":["planned","stub","partial","ready","implemented"],"default":"stub"},"kind":{"type":"string","enum":["http","sdk","manual","internal"],"default":"http"},"authModes":{"type":"array","items":{"type":"string","enum":["public","authorized"]},"minItems":1,"default":["authorized"]},"defaultAuthMode":{"type":"string","enum":["public","authorized"],"default":"authorized"},"notes":{"type":"string","minLength":1},"implementation":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["direct"]},"contractVersion":{"type":"string","minLength":1},"emitsEvents":{"type":"array","items":{"type":"object","properties":{"eventCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"version":{"type":"string","minLength":1}},"required":["eventCode","version"],"additionalProperties":false},"default":[]}},"required":["kind","contractVersion"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["composite"]},"contractVersion":{"type":"string","minLength":1},"emitsEvents":{"type":"array","items":{"type":"object","properties":{"eventCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"version":{"type":"string","minLength":1}},"required":["eventCode","version"],"additionalProperties":false},"default":[]},"operationDependencies":{"type":"array","items":{"type":"object","properties":{"operationCode":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"version":{"type":"string","minLength":1}},"required":["operationCode","version"],"additionalProperties":false},"minItems":1,"description":"Unordered contract requirements only. Does not describe step order, data bindings or an executable composition."}},"required":["kind","contractVersion","operationDependencies"],"additionalProperties":false}],"description":"Implementation metadata only; execution plans and runtime guarantees belong to the consumer."}},"required":["code","capabilityCode","providerCode","operationCode","title","summary","status"]}}},"required":["items"]}}}},"400":{"description":"Bad request / validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}}}}},"/api/operations/versions":{"get":{"operationId":"get_operations_versions","summary":"List archived operation versions","description":"Returns preserved definitions keyed by code and exact version. Current collection routes keep their existing meaning.","tags":["Registry"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"tags":{"type":"array","items":{"type":"string","minLength":1},"default":[]},"requestDescription":{"type":"string","minLength":1},"responseDescription":{"type":"string","minLength":1},"annotations":{"type":"object","properties":{"readOnlyHint":{"type":"boolean"},"destructiveHint":{"type":"boolean"},"idempotentHint":{"type":"boolean"},"openWorldHint":{"type":"boolean"}},"required":["readOnlyHint","destructiveHint","idempotentHint","openWorldHint"]},"translations":{"type":"object","additionalProperties":{"type":"object","properties":{"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"requestDescription":{"type":"string","minLength":1},"responseDescription":{"type":"string","minLength":1}},"required":["title","summary"]},"default":{}}},"required":["code","title","summary","version","status"]}}},"required":["items"]}}}},"400":{"description":"Bad request / validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}}}}},"/api/events/versions":{"get":{"operationId":"get_events_versions","summary":"List archived event versions","description":"Returns preserved definitions keyed by code and exact version. Current collection routes keep their existing meaning.","tags":["Registry"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"payloadContract":{"type":"string","minLength":1},"deliverySemantics":{"type":"string","enum":["atLeastOnceUnordered"]},"providers":{"type":"array","items":{"type":"object","properties":{"providerCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"transport":{"type":"string","enum":["webhook","polling"]},"authenticity":{"type":"string","enum":["signature","apiVerificationRequired"]},"historyReplay":{"type":"boolean"},"externalChannelCoverage":{"type":"string","enum":["verified","unverified","unsupported"]}},"required":["providerCode","transport","authenticity","historyReplay","externalChannelCoverage"]},"default":[]}},"required":["code","title","summary","version","status","payloadContract","deliverySemantics"]}}},"required":["items"]}}}},"400":{"description":"Bad request / validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}}}}},"/api/organizations/{organizationId}":{"get":{"operationId":"get_organizations_by_organization_id","summary":"Read a public organization card","tags":["Organizations"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"organizationId","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string","format":"uuid"},"countryCode":{"type":"string","enum":["RU"]},"kind":{"type":"string","enum":["legal_entity","sole_proprietor"]},"inn":{"type":"string"},"registrationType":{"type":"string","enum":["ogrn","ogrnip"]},"registrationNumber":{"type":"string"},"legalName":{"type":"string"},"registrationAddress":{"type":["string","null"]},"verificationStatus":{"type":"string","enum":["unverified"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["organizationId","countryCode","kind","inn","registrationType","registrationNumber","legalName","registrationAddress","verificationStatus","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Bad request / validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}}}}},"/api/events":{"get":{"operationId":"get_events","summary":"List events","description":"Returns event definitions from the git-first registry.","tags":["Registry"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][A-Za-z0-9]*(\\.[a-z][A-Za-z0-9]*){2,}$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"status":{"type":"string","enum":["draft","active","deprecated"]},"payloadContract":{"type":"string","minLength":1},"deliverySemantics":{"type":"string","enum":["atLeastOnceUnordered"]},"providers":{"type":"array","items":{"type":"object","properties":{"providerCode":{"type":"string","pattern":"^[a-z][a-z0-9-]*$"},"transport":{"type":"string","enum":["webhook","polling"]},"authenticity":{"type":"string","enum":["signature","apiVerificationRequired"]},"historyReplay":{"type":"boolean"},"externalChannelCoverage":{"type":"string","enum":["verified","unverified","unsupported"]}},"required":["providerCode","transport","authenticity","historyReplay","externalChannelCoverage"]},"default":[]}},"required":["code","title","summary","version","status","payloadContract","deliverySemantics"]}}},"required":["items"]}}}},"400":{"description":"Bad request / validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}}}}},"/api/docs/openapi.json":{"get":{"operationId":"get_docs_openapi_json","summary":"Get OpenAPI document","description":"Returns the generated OpenAPI specification for the public registry API.","tags":["Documentation"],"responses":{"200":{"description":"Successful response"},"400":{"description":"Bad request / validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"code":{"type":"number"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}}},"required":["success","error","code"]}}}}}}}},"webhooks":{}}}