{"openapi":"3.0.0","paths":{"/auth/token":{"get":{"operationId":"AuthController_token","parameters":[],"responses":{"200":{"description":""}},"tags":["auth"],"x-public":true}},"/auth/jwks":{"get":{"operationId":"AuthController_jwks","parameters":[],"responses":{"200":{"description":""}},"tags":["auth"],"x-public":true}},"/me":{"get":{"operationId":"AuthController_profile","parameters":[],"responses":{"200":{"description":""}},"tags":["auth"]},"patch":{"operationId":"AuthController_update","parameters":[],"responses":{"200":{"description":""}},"tags":["auth"]}},"/orgs":{"get":{"operationId":"OrgsController_list","parameters":[],"responses":{"200":{"description":""}},"tags":["organisations"],"x-permissions":["org.read"]},"post":{"operationId":"OrgsController_create","parameters":[],"responses":{"201":{"description":""}},"tags":["organisations"]}},"/orgs/{id}":{"get":{"operationId":"OrgsController_get","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["organisations"],"x-permissions":["org.read"]},"patch":{"operationId":"OrgsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["organisations"],"x-permissions":["org.update"]}},"/orgs/{id}/standing":{"post":{"operationId":"OrgsController_standing","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["organisations"],"x-permissions":["org.suspend"]}},"/orgs/{orgId}/users":{"get":{"operationId":"UsersController_list","parameters":[{"name":"orgId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["users"],"x-permissions":["user.read"]},"post":{"operationId":"UsersController_create","parameters":[{"name":"orgId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["users"],"x-permissions":["user.create"]}},"/users/{id}":{"patch":{"operationId":"UsersController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["users"],"x-permissions":["user.update"]}},"/countries":{"get":{"operationId":"CountriesController_list","parameters":[],"responses":{"200":{"description":""}},"tags":["countries"],"x-public":true}},"/countries/{code}":{"get":{"operationId":"CountriesController_get","parameters":[{"name":"code","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["countries"],"x-public":true},"patch":{"operationId":"CountriesController_update","parameters":[{"name":"code","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["countries"],"x-permissions":["country.configure"]}},"/api-clients":{"get":{"operationId":"ApiClientsController_list","parameters":[],"responses":{"200":{"description":""}},"tags":["api-clients"],"x-permissions":["apiclient.manage"]},"post":{"operationId":"ApiClientsController_create","parameters":[],"responses":{"201":{"description":""}},"tags":["api-clients"],"x-permissions":["apiclient.manage"]}},"/api-clients/permissions":{"get":{"operationId":"ApiClientsController_allowed","parameters":[],"responses":{"200":{"description":""}},"tags":["api-clients"],"x-permissions":["apiclient.manage"]}},"/api-clients/{id}":{"delete":{"operationId":"ApiClientsController_revoke","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["api-clients"],"x-permissions":["apiclient.manage"]}},"/directory/insurers":{"get":{"operationId":"DirectoryController_insurers","parameters":[],"responses":{"200":{"description":""}},"tags":["directory"],"x-public":true}},"/directory/bureaux":{"get":{"operationId":"DirectoryController_bureaux","parameters":[],"responses":{"200":{"description":""}},"tags":["directory"],"x-public":true}},"/holder-accounts/start":{"post":{"operationId":"HolderAccountsController_start","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string","minLength":20,"maxLength":4000}},"required":["token"],"additionalProperties":false}}}},"responses":{"200":{"description":""}},"tags":["policyholder-accounts"],"x-public":true}},"/holder-accounts/complete":{"post":{"operationId":"HolderAccountsController_complete","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string","minLength":20,"maxLength":4000},"code":{"type":"string","pattern":"^\\d{6}$"},"name":{"type":"string","minLength":2,"maxLength":120},"email":{"type":"string","maxLength":200,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"password":{"type":"string","minLength":12,"maxLength":128}},"required":["token","code","name","email","password"],"additionalProperties":false}}}},"responses":{"201":{"description":""}},"tags":["policyholder-accounts"],"x-public":true}}},"info":{"title":"Identity service","description":"Organisations, users, roles and permission codes, two-factor sign-in, sessions, API clients, service tokens, JWKS, country parameters and policyholder accounts opened from a certificate.","version":"1.0.0","contact":{}},"tags":[],"servers":[],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"An integration key, created under Integrations → Integration keys. It looks like `bc_1a2b3c4d_…` and is shown once, when you create it."},"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","description":"An integration key sent as `Authorization: Bearer bc_…`, or the session token of a signed-in user."}},"schemas":{}}}