{"openapi": "3.1.0", "info": {"title": "Storemate KYC service", "version": "2.0.0", "description": ""}, "paths": {"/api/v1/kyc/branding": {"get": {"operationId": "kyc_api_branding", "summary": "Branding", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BrandingOut"}}}}}, "description": "Branding for the calling project -- name, logo, colour -- so the\nverification SDK can theme itself.", "security": [{"ProjectAuth": []}]}}, "/api/v1/kyc/access-token": {"post": {"operationId": "kyc_api_access_token", "summary": "Access Token", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessTokenOut"}}}}}, "description": "Create/link the applicant (first call only) and mint a short-lived SDK\ntoken. The engine (Sumsub or in-house) is chosen from the project.", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ExternalUserIn"}}}, "required": true}, "security": [{"ProjectAuth": []}]}}, "/api/v1/kyc/status/{external_user_id}": {"get": {"operationId": "kyc_api_get_status", "summary": "Get Status", "parameters": [{"in": "path", "name": "external_user_id", "schema": {"title": "External User Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StatusOut"}}}}}, "security": [{"ProjectAuth": []}]}}, "/api/v1/kyc/refresh": {"post": {"operationId": "kyc_api_refresh_status", "summary": "Refresh Status", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StatusOut"}}}}}, "description": "Force an authoritative re-pull from the provider.", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ExternalUserIn"}}}, "required": true}, "security": [{"ProjectAuth": []}]}}, "/api/v1/kyc/reset": {"post": {"operationId": "kyc_api_reset", "summary": "Reset", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MessageOut"}}}}}, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ExternalUserIn"}}}, "required": true}, "security": [{"ProjectAuth": []}]}}}, "components": {"schemas": {"BrandingOut": {"properties": {"project": {"title": "Project", "type": "string"}, "name": {"title": "Name", "type": "string"}, "logo_url": {"default": "", "title": "Logo Url", "type": "string"}, "primary_color": {"default": "", "title": "Primary Color", "type": "string"}, "support_email": {"default": "", "title": "Support Email", "type": "string"}, "provider": {"title": "Provider", "type": "string"}}, "required": ["project", "name", "provider"], "title": "BrandingOut", "type": "object"}, "AccessTokenOut": {"properties": {"token": {"title": "Token", "type": "string"}, "user_id": {"title": "User Id", "type": "string"}, "project": {"title": "Project", "type": "string"}, "provider": {"title": "Provider", "type": "string"}, "level_name": {"title": "Level Name", "type": "string"}, "ttl_secs": {"title": "Ttl Secs", "type": "integer"}, "status": {"title": "Status", "type": "string"}, "is_verified": {"title": "Is Verified", "type": "boolean"}, "api_base": {"default": "", "title": "Api Base", "type": "string"}}, "required": ["token", "user_id", "project", "provider", "level_name", "ttl_secs", "status", "is_verified"], "title": "AccessTokenOut", "type": "object"}, "ExternalUserIn": {"properties": {"external_user_id": {"title": "External User Id", "type": "string"}, "level_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Level Name"}}, "required": ["external_user_id"], "title": "ExternalUserIn", "type": "object"}, "StatusOut": {"properties": {"external_user_id": {"title": "External User Id", "type": "string"}, "project": {"default": "", "title": "Project", "type": "string"}, "provider": {"title": "Provider", "type": "string"}, "status": {"title": "Status", "type": "string"}, "is_verified": {"title": "Is Verified", "type": "boolean"}, "can_start": {"title": "Can Start", "type": "boolean"}, "level_name": {"default": "", "title": "Level Name", "type": "string"}, "review_status": {"default": "", "title": "Review Status", "type": "string"}, "review_answer": {"default": "", "title": "Review Answer", "type": "string"}, "reject_type": {"default": "", "title": "Reject Type", "type": "string"}, "reject_labels": {"default": [], "items": {"type": "string"}, "title": "Reject Labels", "type": "array"}, "moderation_comment": {"default": "", "title": "Moderation Comment", "type": "string"}, "applicant_id": {"default": "", "title": "Applicant Id", "type": "string"}, "verified_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Verified At"}, "last_synced_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Last Synced At"}, "updated_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Updated At"}}, "required": ["external_user_id", "provider", "status", "is_verified", "can_start"], "title": "StatusOut", "type": "object"}, "MessageOut": {"properties": {"detail": {"title": "Detail", "type": "string"}, "status": {"title": "Status", "type": "string"}}, "required": ["detail", "status"], "title": "MessageOut", "type": "object"}}, "securitySchemes": {"ProjectAuth": {"type": "apiKey", "in": "header", "name": "X-Api-Key"}}}, "servers": []}