{"openapi":"3.1.0","jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","info":{"title":"VettiGuard API","version":"2026-08-08.3","summary":"Human verification, trust journeys, facial identity, and native device assurance.","description":"The canonical API base is https://api.vettiguard.com/v1. The legacy https://vettiguard.com/api/v1 base remains operational for backward compatibility but is deprecated for new integrations.","contact":{"name":"VettiGuard Support"},"license":{"name":"Proprietary"}},"servers":[{"url":"https://api.vettiguard.com/v1","description":"Canonical production API"},{"url":"https://vettiguard.com/api/v1","description":"Backward-compatible legacy base (deprecated)","x-deprecated":true}],"tags":[{"name":"API Protection"},{"name":"Account Defence"},{"name":"Agent Trust"},{"name":"Billing webhooks"},{"name":"Concurrency Control"},{"name":"Dependency Resilience"},{"name":"Detection intelligence"},{"name":"Developer sandbox"},{"name":"Edge Enforcement"},{"name":"Facial authorization"},{"name":"Facial enrollment"},{"name":"Facial liveness"},{"name":"Fraud Defence"},{"name":"Human verification"},{"name":"Mobile API Protection"},{"name":"Mobile Account Defence"},{"name":"Mobile Concurrency Control"},{"name":"Mobile Dependency Resilience"},{"name":"Mobile Fraud Defence"},{"name":"Mobile Rate Limiting"},{"name":"Mobile Session Integrity"},{"name":"Mobile Trust Orchestration"},{"name":"Mobile device authorization"},{"name":"Mobile facial authorization"},{"name":"Mobile facial enrollment"},{"name":"Mobile facial liveness"},{"name":"Mobile trust decisions"},{"name":"Mobile trust journeys"},{"name":"Native mobile verification"},{"name":"Ozibus integration"},{"name":"Platform"},{"name":"Rate Limiting"},{"name":"Session Integrity"},{"name":"Trust Orchestration"},{"name":"Trust decisions"},{"name":"Trust journeys"}],"paths":{"/":{"get":{"tags":["Platform"],"summary":"Inspect API availability and canonical links","description":"Public metadata endpoint that does not reveal private infrastructure details.","operationId":"getApiIndex","x-vettiguard-audience":"public","x-vettiguard-security-model":"none","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"service":"VettiGuard API","version":"v1","status":"available","base_url":"https://api.vettiguard.com/v1"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/account/assess":{"post":{"tags":["Account Defence"],"summary":"Assess an account-sensitive event","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postAccountAssess","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","risk_score":0.7199999999999999733546474089962430298328399658203125,"classification":"high","recommended_decision":"step_up","decision":"step_up","trusted_device":false,"reasons":["subject-failure-velocity","unfamiliar-device"]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","subject_id":"customer-1842","device_id":"browser-session-device","event_type":"login","outcome":"failure","account_age_days":420,"compromised_password":false}}}}}},"/account/feedback":{"post":{"tags":["Account Defence"],"summary":"Annotate an account-risk assessment","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postAccountFeedback","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"feedback_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","accepted":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","label":"credential_stuffing","reason_code":"customer-confirmed"}}}}}},"/account/password/range":{"post":{"tags":["Account Defence"],"summary":"Retrieve breached-password hash suffixes","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postAccountPasswordRange","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"prefix":"5BAA6","suffixes":[{"suffix":"1E4C9B93F3F0682250B6CF8331B7EE68FD8","count":100}]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","prefix":"5BAA6"}}}}}},"/account/trusted-device":{"post":{"tags":["Account Defence"],"summary":"Trust or revoke an account device","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postAccountTrustedDevice","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"status":"trusted"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","action":"trust","subject_id":"customer-1842","device_id":"browser-session-device","label":"Customer laptop"}}}}}},"/agents/approval/status":{"post":{"tags":["Agent Trust"],"summary":"Read a signed agent approval status","description":"Signed agent request using HMAC-SHA256 over timestamp, nonce, and the exact raw JSON body. Agent secrets must remain in a trusted server-side secret manager.","operationId":"postAgentsApprovalStatus","x-vettiguard-audience":"server","x-vettiguard-security-model":"agent_hmac","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"approval_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","status":"approved","action":"refund-create","scope":"refund.create","consumed":false}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"approval_id":"70f05cc7-989e-41f0-9a37-c9884d323a67"}}}},"security":[{"AgentSignature":[]}],"parameters":[{"name":"X-VettiGuard-Agent","in":"header","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public identifier of the registered agent."},{"name":"X-VettiGuard-Timestamp","in":"header","required":true,"schema":{"type":"string","pattern":"^[0-9]{10}$"},"description":"Current Unix timestamp in seconds. Requests outside the configured tolerance are rejected."},{"name":"X-VettiGuard-Nonce","in":"header","required":true,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"A cryptographically random, single-use nonce."}]}},"/agents/decision":{"post":{"tags":["Agent Trust"],"summary":"Evaluate a signed agent operation","description":"Signed agent request using HMAC-SHA256 over timestamp, nonce, and the exact raw JSON body. Agent secrets must remain in a trusted server-side secret manager.","operationId":"postAgentsDecision","x-vettiguard-audience":"server","x-vettiguard-security-model":"agent_hmac","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"decision_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","agent_id":"4d6ac1b0-2d0e-4b0b-9f50-42f36a0d3a24","identity_verified":true,"recommended_decision":"approval_required","decision":"approval_required","risk_score":0.61999999999999999555910790149937383830547332763671875,"classification":"elevated","reason_codes":["human-approval-required"],"approval_request_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"request_id":"agent-request-991","action":"order-status","scope":"orders.read","resource_id":"ORDER-9942","subject_id":"customer-1842","summary":"Read an order status for an authenticated customer."}}}},"security":[{"AgentSignature":[]}],"parameters":[{"name":"X-VettiGuard-Agent","in":"header","required":true,"schema":{"type":"string","format":"uuid"},"description":"Public identifier of the registered agent."},{"name":"X-VettiGuard-Timestamp","in":"header","required":true,"schema":{"type":"string","pattern":"^[0-9]{10}$"},"description":"Current Unix timestamp in seconds. Requests outside the configured tolerance are rejected."},{"name":"X-VettiGuard-Nonce","in":"header","required":true,"schema":{"type":"string","minLength":16,"maxLength":128},"description":"A cryptographically random, single-use nonce."}]}},"/api-protection/assess":{"post":{"tags":["API Protection"],"summary":"Assess API abuse and resource-exhaustion risk","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postApiProtectionAssess","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","policy_name":"Order writes","risk_score":0.7199999999999999733546474089962430298328399658203125,"classification":"high","recommended_decision":"challenge","decision":"challenge","retry_after_seconds":0,"reason_codes":["resource-cost-exceeded","subject-velocity-high"],"enforcement_mode":"challenge"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","method":"POST","path":"/api/orders","action":"order-create","authentication_present":true,"content_type":"application/json","subject_id":"customer-1842","device_id":"browser-device","request_id":"request-uuid","idempotency_key":"order-create-9942","payload_fingerprint":"sha256-canonical-payload","body_bytes":2048,"page_size":0,"query_depth":2,"resource_cost":25}}}}}},"/api-protection/feedback":{"post":{"tags":["API Protection"],"summary":"Annotate an API Protection assessment","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postApiProtectionFeedback","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"feedback_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","accepted":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","label":"legitimate","reason_code":"customer-confirmed"}}}}}},"/billing/stripe/webhook":{"post":{"tags":["Billing webhooks"],"summary":"Receive signed Stripe billing events","description":"Provider-to-provider callback. The signature must be verified before the event changes application state.","operationId":"postBillingStripeWebhook","x-vettiguard-audience":"webhook","x-vettiguard-security-model":"stripe_signature","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":[]}}},"parameters":[{"name":"Stripe-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"Stripe webhook signature verified against the configured endpoint secret."}]}},"/branding/{profile_id}/logo":{"get":{"tags":["Human verification"],"summary":"Retrieve a public branding logo","description":"Returns a normalized PNG logo for the UUID branding profile referenced by a challenge response. The asset contains presentation data only and is safe for cross-origin image rendering.","operationId":"getBrandingProfileLogo","x-vettiguard-audience":"browser","x-vettiguard-security-model":"none","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":[]}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/challenge":{"post":{"tags":["Human verification"],"summary":"Issue a browser verification challenge","description":"Called by a VettiGuard browser client. The real request validates the supplied public site key and the registered request origin.","operationId":"postChallenge","x-vettiguard-audience":"browser","x-vettiguard-security-model":"site_key_and_origin","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"challenge":{"challenge_id":"4d6ac1b0-2d0e-4b0b-9f50-42f36a0d3a24","type":"visual","expires_in":120,"branding":{"display_name":"","primary_color":"#1A73E8","primary_foreground":"#FFFFFF","primary_soft":"#E8F0FE","locale":"auto","widget_title":"Verify you are human","widget_description":"Complete this quick security check to continue.","logo_url":null,"support_url":null,"privacy_url":null,"terms_url":null,"show_vettiguard_attribution":true}}}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"site_key":"vg_site_replace_me","action":"contact-form"}}}}}},"/changelog.json":{"get":{"tags":["Platform"],"summary":"Read the machine-readable API changelog","description":"Public metadata endpoint that does not reveal private infrastructure details.","operationId":"getChangelogJson","x-vettiguard-audience":"public","x-vettiguard-security-model":"none","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"version":"v1","changes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/concurrency/acquire":{"post":{"tags":["Concurrency Control"],"summary":"Acquire an expiring workload concurrency lease","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postConcurrencyAcquire","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"decision_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","allowed":true,"recommended_decision":"allow","decision":"allow","retry_after_ms":0,"matched_policy_count":2,"in_flight":2,"limit":5,"lease":{"lease_token":"vgcl.70f05cc7-989e-41f0-9a37-c9884d323a67.signature","expires_at":"2026-08-08T18:15:00Z"},"reason_codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","action":"report.generate","method":"POST","subject_id":"customer-1842","route":"/api/reports","lease_ttl_seconds":120,"idempotency_key":"report-request-9942"}}}}}},"/concurrency/release":{"post":{"tags":["Concurrency Control"],"summary":"Release a workload concurrency lease","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postConcurrencyRelease","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"released":true,"lease_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","status":"released"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","lease_token":"vgcl.70f05cc7-989e-41f0-9a37-c9884d323a67.signature"}}}}}},"/concurrency/renew":{"post":{"tags":["Concurrency Control"],"summary":"Renew an active workload concurrency lease","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postConcurrencyRenew","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"renewed":true,"lease_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","status":"active","expires_at":"2026-08-08T18:17:00Z"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","lease_token":"vgcl.70f05cc7-989e-41f0-9a37-c9884d323a67.signature","lease_ttl_seconds":120}}}}}},"/dependency-resilience/admit":{"post":{"tags":["Dependency Resilience"],"summary":"Admit a downstream dependency call","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postDependencyResilienceAdmit","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"decision_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","allowed":true,"recommended_decision":"allow","decision":"allow","circuit_state":"closed","sample_count":42,"failure_rate":4.7599999999999997868371792719699442386627197265625,"in_flight":2,"retry_budget":{"used":1,"limit":8},"retry_after_seconds":0,"admission":{"admission_token":"vgdr.70f05cc7-989e-41f0-9a37-c9884d323a67.signature","expires_at":"2026-08-08T18:45:00Z"},"reason_codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","dependency_key":"payments-provider","action":"payment.capture","method":"POST","subject_id":"customer-1842","route":"/api/payments","is_retry":false,"admission_ttl_seconds":45}}}}}},"/dependency-resilience/feedback":{"post":{"tags":["Dependency Resilience"],"summary":"Report an admitted dependency outcome","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postDependencyResilienceFeedback","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"accepted":true,"admission_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","status":"completed","outcome":"success","circuit_state":"closed","sample_count":43,"failure_rate":4.6500000000000003552713678800500929355621337890625}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","admission_token":"vgdr.70f05cc7-989e-41f0-9a37-c9884d323a67.signature","outcome":"success","latency_ms":240}}}}}},"/detection/feedback":{"post":{"tags":["Detection intelligence"],"summary":"Annotate a detection assessment outcome","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postDetectionFeedback","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"feedback_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","accepted":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","assessment_id":"4d6ac1b0-2d0e-4b0b-9f50-42f36a0d3a24","label":"abuse","reason_code":"confirmed-credential-stuffing"}}}}}},"/edge/decision":{"post":{"tags":["Edge Enforcement"],"summary":"Post edge decision","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postEdgeDecision","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","decision":"challenge","recommended_decision":"challenge","risk_score":0.70999999999999996447286321199499070644378662109375,"classification":"high","preclearance_valid":false,"reason_codes":["fraud-risk","edge-policy"]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","method":"POST","path":"/checkout/confirm","hostname":"shop.example.com","action":"checkout-confirm","subject_id":"customer-1842","device_id":"browser-device","fraud_assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67"}}}}}},"/edge/preclearance/issue":{"post":{"tags":["Edge Enforcement"],"summary":"Post edge preclearance issue","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postEdgePreclearanceIssue","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"clearance_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","token":"vgec.payload.signature","expires_at":"2026-08-06T22:00:00Z","max_uses":100}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","decision_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","verification_succeeded":true,"hostname":"shop.example.com","action":"checkout-confirm","path_prefix":"/checkout","subject_id":"customer-1842","device_id":"browser-device"}}}}}},"/edge/preclearance/verify":{"post":{"tags":["Edge Enforcement"],"summary":"Post edge preclearance verify","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postEdgePreclearanceVerify","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"valid":true,"clearance_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","expires_at":"2026-08-06T22:00:00Z","remaining_uses":99}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","token":"vgec.payload.signature","hostname":"shop.example.com","path":"/checkout/confirm","action":"checkout-confirm","subject_id":"customer-1842","device_id":"browser-device"}}}}}},"/facial/authorization/complete":{"post":{"tags":["Facial authorization"],"summary":"Complete facial authorization capture","description":"Called by a VettiGuard browser client. The real request validates the supplied public site key and the registered request origin.","operationId":"postFacialAuthorizationComplete","x-vettiguard-audience":"browser","x-vettiguard-security-model":"site_key_and_origin","x-vettiguard-scopes":["site.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"response":"single-use-response-token","expires_in":120}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"site_key":"vg_site_replace_me","intent_token":"vg_authorization_intent_replace_me","consent_accepted":true}}}}}},"/facial/authorization/intent":{"post":{"tags":["Facial authorization"],"summary":"Create an operation-bound facial authorization intent","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postFacialAuthorizationIntent","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"intent_token":"vg_intent_replace_me","expires_in":300}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","subject_id":"customer-4821","action":"approve-transfer","operation_reference":"TRANSFER-12345"}}}}}},"/facial/authorization/session":{"post":{"tags":["Facial authorization"],"summary":"Start a facial authorization capture session","description":"Called by a VettiGuard browser client. The real request validates the supplied public site key and the registered request origin.","operationId":"postFacialAuthorizationSession","x-vettiguard-audience":"browser","x-vettiguard-security-model":"site_key_and_origin","x-vettiguard-scopes":["site.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"session_token":"vg_session_replace_me","expires_in":300}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"site_key":"vg_site_replace_me","intent_token":"vg_authorization_intent_replace_me","consent_accepted":true}}}}}},"/facial/authorization/siteverify":{"post":{"tags":["Facial authorization"],"summary":"Verify an operation-bound facial authorization proof","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postFacialAuthorizationSiteverify","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"requested-action","error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"site_key":"vg_site_replace_me","intent_token":"vg_authorization_intent_replace_me","consent_accepted":true}}}}}},"/facial/complete":{"post":{"tags":["Facial liveness"],"summary":"Complete a browser facial-liveness session","description":"Called by a VettiGuard browser client. The real request validates the supplied public site key and the registered request origin.","operationId":"postFacialComplete","x-vettiguard-audience":"browser","x-vettiguard-security-model":"site_key_and_origin","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"response":"single-use-response-token","expires_in":120}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"site_key":"vg_site_replace_me","session_token":"vg_facial_session_replace_me","capture":{"frames":["base64-jpeg-frame"]}}}}}}},"/facial/decision":{"post":{"tags":["Facial liveness"],"summary":"Select a browser facial verification level","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postFacialDecision","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"decision":"verify","method":"facial_identity_authorization","requested_assurance":"high","risk_level":"high","risk":{"outcome":"challenge","score":0.68000000000000004884981308350688777863979339599609375,"level":"high","engine_status":"evaluated","matched_rules":[{"policy_name":"Transaction protection","rule_name":"High request velocity","reason_code":"velocity-high","score_delta":0.200000000000000011102230246251565404236316680908203125,"outcome":"challenge"}]}}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","action":"account-recovery","subject_id":"customer-4821","risk_level":"high"}}}}}},"/facial/enrollment/complete":{"post":{"tags":["Facial enrollment"],"summary":"Complete facial enrollment capture","description":"Called by a VettiGuard browser client. The real request validates the supplied public site key and the registered request origin.","operationId":"postFacialEnrollmentComplete","x-vettiguard-audience":"browser","x-vettiguard-security-model":"site_key_and_origin","x-vettiguard-scopes":["site.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"response":"single-use-response-token","expires_in":120}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"site_key":"vg_site_replace_me","intent_token":"vg_enrollment_intent_replace_me","consent_accepted":true}}}}}},"/facial/enrollment/intent":{"post":{"tags":["Facial enrollment"],"summary":"Create a facial enrollment intent","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postFacialEnrollmentIntent","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"intent_token":"vg_intent_replace_me","expires_in":300}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","subject_id":"customer-4821","action":"identity-enrollment","consent_version":"2026-08"}}}}}},"/facial/enrollment/revoke":{"post":{"tags":["Facial enrollment"],"summary":"Revoke a facial enrollment","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postFacialEnrollmentRevoke","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"status":"revoked"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","subject_id":"customer-4821","reason":"customer-request"}}}}}},"/facial/enrollment/session":{"post":{"tags":["Facial enrollment"],"summary":"Start a facial enrollment capture session","description":"Called by a VettiGuard browser client. The real request validates the supplied public site key and the registered request origin.","operationId":"postFacialEnrollmentSession","x-vettiguard-audience":"browser","x-vettiguard-security-model":"site_key_and_origin","x-vettiguard-scopes":["site.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"session_token":"vg_session_replace_me","expires_in":300}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"site_key":"vg_site_replace_me","intent_token":"vg_enrollment_intent_replace_me","consent_accepted":true}}}}}},"/facial/enrollment/siteverify":{"post":{"tags":["Facial enrollment"],"summary":"Verify a facial enrollment proof","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postFacialEnrollmentSiteverify","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"requested-action","error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"site_key":"vg_site_replace_me","intent_token":"vg_enrollment_intent_replace_me","consent_accepted":true}}}}}},"/facial/enrollment/status":{"post":{"tags":["Facial enrollment"],"summary":"Read facial enrollment status","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postFacialEnrollmentStatus","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"status":"pending"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","subject_id":"customer-4821"}}}}}},"/facial/session":{"post":{"tags":["Facial liveness"],"summary":"Start a browser facial-liveness session","description":"Called by a VettiGuard browser client. The real request validates the supplied public site key and the registered request origin.","operationId":"postFacialSession","x-vettiguard-audience":"browser","x-vettiguard-security-model":"site_key_and_origin","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"session_token":"vg_session_replace_me","expires_in":300}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"site_key":"vg_site_replace_me","action":"account-recovery","consent_accepted":true}}}}}},"/facial/session/cancel":{"post":{"tags":["Facial liveness"],"summary":"Cancel a browser facial session","description":"Called by a VettiGuard browser client. The real request validates the supplied public site key and the registered request origin.","operationId":"postFacialSessionCancel","x-vettiguard-audience":"browser","x-vettiguard-security-model":"site_key_and_origin","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"status":"cancelled"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"site_key":"vg_site_replace_me","session_token":"vg_facial_session_replace_me"}}}}}},"/facial/session/status":{"post":{"tags":["Facial liveness"],"summary":"Read browser facial session status","description":"Called by a VettiGuard browser client. The real request validates the supplied public site key and the registered request origin.","operationId":"postFacialSessionStatus","x-vettiguard-audience":"browser","x-vettiguard-security-model":"site_key_and_origin","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"status":"pending"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"site_key":"vg_site_replace_me","session_token":"vg_facial_session_replace_me"}}}}}},"/facial/siteverify":{"post":{"tags":["Facial liveness"],"summary":"Verify a facial-liveness proof","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postFacialSiteverify","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"requested-action","error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","response":"vg_facial_response_replace_me","action":"account-recovery"}}}}}},"/fraud/email/assess":{"post":{"tags":["Fraud Defence"],"summary":"Assess email quality and disposable-address risk","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postFraudEmailAssess","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","assessment_type":"transaction","risk_score":0.7399999999999999911182158029987476766109466552734375,"classification":"high","recommended_decision":"step_up","decision":"step_up","reasons":["transaction-velocity","new-payee"]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","subject_id":"customer-1842","email":"customer@example.com","device_id":"browser-device","event_type":"signup","outcome":"attempt","email_verified":false,"disposable_email":false,"domain_age_days":3200}}}}}},"/fraud/feedback":{"post":{"tags":["Fraud Defence"],"summary":"Annotate a fraud-risk assessment","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postFraudFeedback","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"feedback_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","accepted":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","label":"payment_fraud","reason_code":"customer-confirmed"}}}}}},"/fraud/sms/assess":{"post":{"tags":["Fraud Defence"],"summary":"Assess SMS pumping and OTP abuse risk","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postFraudSmsAssess","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","assessment_type":"transaction","risk_score":0.7399999999999999911182158029987476766109466552734375,"classification":"high","recommended_decision":"step_up","decision":"step_up","reasons":["transaction-velocity","new-payee"]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","subject_id":"customer-1842","phone":"+2348000000000","device_id":"browser-device","event_type":"otp_request","outcome":"attempt","phone_verified":false,"high_cost_destination":false}}}}}},"/fraud/transaction/assess":{"post":{"tags":["Fraud Defence"],"summary":"Assess transaction and commerce fraud risk","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postFraudTransactionAssess","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","assessment_type":"transaction","risk_score":0.7399999999999999911182158029987476766109466552734375,"classification":"high","recommended_decision":"step_up","decision":"step_up","reasons":["transaction-velocity","new-payee"]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","subject_id":"customer-1842","transaction_id":"ORDER-9942","device_id":"browser-device","event_type":"payment","outcome":"attempt","amount":125000,"currency":"NGN","high_value":true,"new_payee":true,"email_verified":true,"phone_verified":true}}}}}},"/health":{"get":{"tags":["Platform"],"summary":"Check API health without infrastructure disclosure","description":"Public metadata endpoint that does not reveal private infrastructure details.","operationId":"getHealth","x-vettiguard-audience":"public","x-vettiguard-security-model":"none","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"status":"ok"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/integrations/ozibus/events":{"post":{"tags":["Ozibus integration"],"summary":"Post integrations ozibus events","description":"ozibus_hmac","operationId":"postIntegrationsOzibusEvents","x-vettiguard-audience":"webhook","x-vettiguard-security-model":"stripe_signature","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"accepted":true,"duplicate":false,"signal_id":"70f05cc7-989e-41f0-9a37-c9884d323a67"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"workspace_id":1,"event_id":"ozb-event-2048","channel":"sms","event_type":"delivered","assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","provider_status":"delivered","delivery_latency_ms":920}}}},"parameters":[{"name":"Stripe-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"Stripe webhook signature verified against the configured endpoint secret."}]}},"/integrations/ozibus/preflight":{"post":{"tags":["Ozibus integration"],"summary":"Post integrations ozibus preflight","description":"ozibus_hmac","operationId":"postIntegrationsOzibusPreflight","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","decision":"allow","risk_score":0.11999999999999999555910790149937383830547332763671875,"transport_provider":"ozibus","intelligence_mode":"hybrid"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"workspace_id":1,"channel":"sms","event_type":"otp_request","subject_id":"customer-1842","device_id":"browser-device","phone":"+2348000000000","high_cost_destination":false}}}}}},"/journeys/escalate":{"post":{"tags":["Trust journeys"],"summary":"Escalate a journey to assisted review","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postJourneysEscalate","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.journeys"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","session_token":"vg_journey_replace_me","reason_code":"accessibility-alternative-required","priority":"normal"}}}}}},"/journeys/siteverify":{"post":{"tags":["Trust journeys"],"summary":"Verify a Trust Journey step","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postJourneysSiteverify","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.journeys"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"requested-action","error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","session_token":"vg_journey_replace_me","response":"vg_response_replace_me","subject_id":"customer-4821","action":"approve-transfer","consent_accepted":true}}}}}},"/journeys/start":{"post":{"tags":["Trust journeys"],"summary":"Start a published Trust Journey","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postJourneysStart","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.journeys"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"session_token":"vg_journey_replace_me","method":"visual","expires_in":600}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","journey_key":"transaction-approval","subject_id":"customer-4821","action":"approve-transfer","operation_reference":"TRANSFER-12345","risk_score":0.419999999999999984456877655247808434069156646728515625,"request_velocity_5m":12,"transaction_amount":250000,"new_device":true}}}}}},"/journeys/status":{"post":{"tags":["Trust journeys"],"summary":"Read Trust Journey session status","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postJourneysStatus","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.journeys"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"status":"pending"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","session_token":"vg_journey_replace_me"}}}}}},"/mobile/account/assess":{"post":{"tags":["Mobile Account Defence"],"summary":"Assess a native account-sensitive event","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileAccountAssess","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","risk_score":0.7199999999999999733546474089962430298328399658203125,"classification":"high","recommended_decision":"step_up","decision":"step_up","trusted_device":false,"reasons":["subject-failure-velocity","unfamiliar-device"]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","subject_id":"customer-1842","device_id":"installation-id","event_type":"login","outcome":"success"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/account/feedback":{"post":{"tags":["Mobile Account Defence"],"summary":"Annotate a native account-risk assessment","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileAccountFeedback","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"feedback_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","accepted":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","label":"legitimate"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/account/password/range":{"post":{"tags":["Mobile Account Defence"],"summary":"Retrieve breached-password hash suffixes for native integrations","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileAccountPasswordRange","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"prefix":"5BAA6","suffixes":[{"suffix":"1E4C9B93F3F0682250B6CF8331B7EE68FD8","count":100}]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","prefix":"5BAA6"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/account/trusted-device":{"post":{"tags":["Mobile Account Defence"],"summary":"Trust or revoke a native account device","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileAccountTrustedDevice","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"status":"trusted"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","action":"trust","subject_id":"customer-1842","device_id":"installation-id"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/api-protection/assess":{"post":{"tags":["Mobile API Protection"],"summary":"Assess native API abuse and resource risk","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileApiProtectionAssess","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","policy_name":"Order writes","risk_score":0.7199999999999999733546474089962430298328399658203125,"classification":"high","recommended_decision":"challenge","decision":"challenge","retry_after_seconds":0,"reason_codes":["resource-cost-exceeded","subject-velocity-high"],"enforcement_mode":"challenge"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","method":"GET","path":"/api/catalog","action":"catalog-list","authentication_present":true,"device_id":"installation-id","request_id":"request-uuid","page_size":50,"query_depth":1,"resource_cost":10}}}},"security":[{"MobileBearer":[]}]}},"/mobile/api-protection/feedback":{"post":{"tags":["Mobile API Protection"],"summary":"Annotate a native API Protection assessment","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileApiProtectionFeedback","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"feedback_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","accepted":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","label":"legitimate"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/attest":{"post":{"tags":["Native mobile verification"],"summary":"Register or validate an App Attest key","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileAttest","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"app_key":"vg_mobile_replace_me","platform":"ios","app_id":"com.example.app","nonce_token":"signed-nonce","attestation":"base64-attestation"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/challenge":{"post":{"tags":["Native mobile verification"],"summary":"Issue a native verification challenge","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileChallenge","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"challenge":{"challenge_id":"4d6ac1b0-2d0e-4b0b-9f50-42f36a0d3a24","type":"visual","expires_in":120,"branding":{"display_name":"","primary_color":"#1A73E8","primary_foreground":"#FFFFFF","primary_soft":"#E8F0FE","locale":"auto","widget_title":"Verify you are human","widget_description":"Complete this quick security check to continue.","logo_url":null,"support_url":null,"privacy_url":null,"terms_url":null,"show_vettiguard_attribution":true}}}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"app_key":"vg_mobile_replace_me","platform":"android","app_id":"com.example.app","nonce_token":"signed-nonce","integrity_token":"provider-token"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/concurrency/acquire":{"post":{"tags":["Mobile Concurrency Control"],"summary":"Acquire a native workload concurrency lease","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileConcurrencyAcquire","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"decision_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","allowed":true,"recommended_decision":"allow","decision":"allow","retry_after_ms":0,"matched_policy_count":2,"in_flight":2,"limit":5,"lease":{"lease_token":"vgcl.70f05cc7-989e-41f0-9a37-c9884d323a67.signature","expires_at":"2026-08-08T18:15:00Z"},"reason_codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","action":"report.generate","method":"POST","subject_id":"customer-1842","device_id":"installation-id","route":"/api/reports","lease_ttl_seconds":120,"idempotency_key":"report-request-9942"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/concurrency/release":{"post":{"tags":["Mobile Concurrency Control"],"summary":"Release a native workload concurrency lease","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileConcurrencyRelease","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"released":true,"lease_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","status":"released"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","lease_token":"vgcl.70f05cc7-989e-41f0-9a37-c9884d323a67.signature"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/concurrency/renew":{"post":{"tags":["Mobile Concurrency Control"],"summary":"Renew a native workload concurrency lease","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileConcurrencyRenew","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"renewed":true,"lease_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","status":"active","expires_at":"2026-08-08T18:17:00Z"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","lease_token":"vgcl.70f05cc7-989e-41f0-9a37-c9884d323a67.signature","lease_ttl_seconds":120}}}},"security":[{"MobileBearer":[]}]}},"/mobile/dependency-resilience/admit":{"post":{"tags":["Mobile Dependency Resilience"],"summary":"Admit a native downstream dependency call","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileDependencyResilienceAdmit","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"decision_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","allowed":true,"recommended_decision":"allow","decision":"allow","circuit_state":"closed","sample_count":42,"failure_rate":4.7599999999999997868371792719699442386627197265625,"in_flight":2,"retry_budget":{"used":1,"limit":8},"retry_after_seconds":0,"admission":{"admission_token":"vgdr.70f05cc7-989e-41f0-9a37-c9884d323a67.signature","expires_at":"2026-08-08T18:45:00Z"},"reason_codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","dependency_key":"payments-provider","action":"payment.capture","method":"POST","subject_id":"customer-1842","device_id":"installation-id","route":"/api/payments","is_retry":false,"admission_ttl_seconds":45}}}},"security":[{"MobileBearer":[]}]}},"/mobile/dependency-resilience/feedback":{"post":{"tags":["Mobile Dependency Resilience"],"summary":"Report a native admitted dependency outcome","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileDependencyResilienceFeedback","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"accepted":true,"admission_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","status":"completed","outcome":"success","circuit_state":"closed","sample_count":43,"failure_rate":4.6500000000000003552713678800500929355621337890625}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","admission_token":"vgdr.70f05cc7-989e-41f0-9a37-c9884d323a67.signature","outcome":"success","latency_ms":240}}}},"security":[{"MobileBearer":[]}]}},"/mobile/detection/feedback":{"post":{"tags":["Native mobile verification"],"summary":"Annotate a native detection assessment outcome","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileDetectionFeedback","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"feedback_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","accepted":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","assessment_id":"4d6ac1b0-2d0e-4b0b-9f50-42f36a0d3a24","label":"legitimate","reason_code":"customer-confirmed"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/device-credentials/register":{"post":{"tags":["Mobile device authorization"],"summary":"Register a device-bound public credential","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileDeviceCredentialsRegister","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.device_authorization"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"credential_label":"Primary phone","public_key":"base64url-public-key","installation_id":"opaque-installation-id"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/device-credentials/revoke":{"post":{"tags":["Mobile device authorization"],"summary":"Revoke a device-bound credential","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileDeviceCredentialsRevoke","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.device_authorization"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"status":"revoked"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"credential_key":"vg_device_replace_me","reason":"device-replaced"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/device/authorization/complete":{"post":{"tags":["Mobile device authorization"],"summary":"Complete device-bound authorization","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileDeviceAuthorizationComplete","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.device_authorization"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"response":"single-use-response-token","expires_in":120}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"authorization_token":"vg_authorization_replace_me","credential_key":"vg_device_replace_me","signature":"base64url-signature"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/device/authorization/intent":{"post":{"tags":["Mobile device authorization"],"summary":"Create a device authorization intent","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileDeviceAuthorizationIntent","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.device_authorization"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"intent_token":"vg_intent_replace_me","expires_in":300}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"subject_id":"customer-4821","action":"approve-transfer","operation_reference":"TRANSFER-12345"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/device/authorization/siteverify":{"post":{"tags":["Mobile device authorization"],"summary":"Verify a device authorization proof","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileDeviceAuthorizationSiteverify","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.device_authorization"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"requested-action","error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"response":"vg_device_response_replace_me","action":"approve-transfer","operation_reference":"TRANSFER-12345"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/authorization/complete":{"post":{"tags":["Mobile facial authorization"],"summary":"Post mobile facial authorization complete","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialAuthorizationComplete","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"response":"single-use-response-token","expires_in":120}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/authorization/intent":{"post":{"tags":["Mobile facial authorization"],"summary":"Post mobile facial authorization intent","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialAuthorizationIntent","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"intent_token":"vg_intent_replace_me","expires_in":300}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/authorization/session":{"post":{"tags":["Mobile facial authorization"],"summary":"Post mobile facial authorization session","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialAuthorizationSession","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"session_token":"vg_session_replace_me","expires_in":300}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/authorization/siteverify":{"post":{"tags":["Mobile facial authorization"],"summary":"Post mobile facial authorization siteverify","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialAuthorizationSiteverify","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"requested-action","error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/complete":{"post":{"tags":["Mobile facial liveness"],"summary":"Post mobile facial complete","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialComplete","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"response":"single-use-response-token","expires_in":120}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/decision":{"post":{"tags":["Mobile facial liveness"],"summary":"Post mobile facial decision","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialDecision","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"decision":"verify","method":"facial_identity_authorization","requested_assurance":"high","risk_level":"high","risk":{"outcome":"challenge","score":0.68000000000000004884981308350688777863979339599609375,"level":"high","engine_status":"evaluated","matched_rules":[{"policy_name":"Transaction protection","rule_name":"High request velocity","reason_code":"velocity-high","score_delta":0.200000000000000011102230246251565404236316680908203125,"outcome":"challenge"}]}}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/enrollment/complete":{"post":{"tags":["Mobile facial enrollment"],"summary":"Post mobile facial enrollment complete","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialEnrollmentComplete","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"response":"single-use-response-token","expires_in":120}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/enrollment/intent":{"post":{"tags":["Mobile facial enrollment"],"summary":"Post mobile facial enrollment intent","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialEnrollmentIntent","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"intent_token":"vg_intent_replace_me","expires_in":300}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/enrollment/revoke":{"post":{"tags":["Mobile facial enrollment"],"summary":"Post mobile facial enrollment revoke","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialEnrollmentRevoke","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"status":"revoked"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/enrollment/session":{"post":{"tags":["Mobile facial enrollment"],"summary":"Post mobile facial enrollment session","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialEnrollmentSession","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"session_token":"vg_session_replace_me","expires_in":300}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/enrollment/siteverify":{"post":{"tags":["Mobile facial enrollment"],"summary":"Post mobile facial enrollment siteverify","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialEnrollmentSiteverify","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"requested-action","error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/enrollment/status":{"post":{"tags":["Mobile facial enrollment"],"summary":"Post mobile facial enrollment status","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialEnrollmentStatus","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.facial_identity"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"status":"pending"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/session":{"post":{"tags":["Mobile facial liveness"],"summary":"Post mobile facial session","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialSession","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"session_token":"vg_session_replace_me","expires_in":300}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/session/cancel":{"post":{"tags":["Mobile facial liveness"],"summary":"Post mobile facial session cancel","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialSessionCancel","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"status":"cancelled"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/session/status":{"post":{"tags":["Mobile facial liveness"],"summary":"Post mobile facial session status","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialSessionStatus","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"status":"pending"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/facial/siteverify":{"post":{"tags":["Mobile facial liveness"],"summary":"Post mobile facial siteverify","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFacialSiteverify","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"requested-action","error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"account-recovery","subject_id":"customer-4821","platform":"android","app_id":"com.example.app","consent_accepted":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/fraud/email/assess":{"post":{"tags":["Mobile Fraud Defence"],"summary":"Assess native email quality risk","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFraudEmailAssess","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","assessment_type":"transaction","risk_score":0.7399999999999999911182158029987476766109466552734375,"classification":"high","recommended_decision":"step_up","decision":"step_up","reasons":["transaction-velocity","new-payee"]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","subject_id":"customer-1842","email":"customer@example.com","device_id":"installation-id","event_type":"signup"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/fraud/feedback":{"post":{"tags":["Mobile Fraud Defence"],"summary":"Annotate a native fraud-risk assessment","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFraudFeedback","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"feedback_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","accepted":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","label":"legitimate"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/fraud/sms/assess":{"post":{"tags":["Mobile Fraud Defence"],"summary":"Assess native SMS pumping and OTP abuse risk","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFraudSmsAssess","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","assessment_type":"transaction","risk_score":0.7399999999999999911182158029987476766109466552734375,"classification":"high","recommended_decision":"step_up","decision":"step_up","reasons":["transaction-velocity","new-payee"]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","subject_id":"customer-1842","phone":"+2348000000000","device_id":"installation-id","event_type":"otp_request"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/fraud/transaction/assess":{"post":{"tags":["Mobile Fraud Defence"],"summary":"Assess native transaction and commerce fraud risk","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileFraudTransactionAssess","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","assessment_type":"transaction","risk_score":0.7399999999999999911182158029987476766109466552734375,"classification":"high","recommended_decision":"step_up","decision":"step_up","reasons":["transaction-velocity","new-payee"]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","subject_id":"customer-1842","transaction_id":"ORDER-9942","device_id":"installation-id","event_type":"payment","amount":125000,"currency":"NGN","high_value":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/journeys/escalate":{"post":{"tags":["Mobile trust journeys"],"summary":"Escalate a native journey to assisted review","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileJourneysEscalate","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.journeys"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"journey_key":"account-recovery","subject_id":"customer-4821","action":"recover-account","platform":"ios","app_id":"com.example.app","risk_score":0.5500000000000000444089209850062616169452667236328125,"new_device":true,"unusual_time":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/journeys/siteverify":{"post":{"tags":["Mobile trust journeys"],"summary":"Verify a native Trust Journey step","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileJourneysSiteverify","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.journeys"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"requested-action","error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"journey_key":"account-recovery","subject_id":"customer-4821","action":"recover-account","platform":"ios","app_id":"com.example.app","risk_score":0.5500000000000000444089209850062616169452667236328125,"new_device":true,"unusual_time":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/journeys/start":{"post":{"tags":["Mobile trust journeys"],"summary":"Start a native Trust Journey","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileJourneysStart","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.journeys"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"session_token":"vg_journey_replace_me","method":"visual","expires_in":600}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"journey_key":"account-recovery","subject_id":"customer-4821","action":"recover-account","platform":"ios","app_id":"com.example.app","risk_score":0.5500000000000000444089209850062616169452667236328125,"new_device":true,"unusual_time":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/journeys/status":{"post":{"tags":["Mobile trust journeys"],"summary":"Read native Trust Journey status","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileJourneysStatus","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.journeys"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"status":"pending"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"journey_key":"account-recovery","subject_id":"customer-4821","action":"recover-account","platform":"ios","app_id":"com.example.app","risk_score":0.5500000000000000444089209850062616169452667236328125,"new_device":true,"unusual_time":true}}}},"security":[{"MobileBearer":[]}]}},"/mobile/nonce":{"post":{"tags":["Native mobile verification"],"summary":"Issue a signed mobile request nonce","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileNonce","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"app_key":"vg_mobile_replace_me","platform":"android","app_id":"com.example.app","action":"sign-in","installation_id":"opaque-installation-id"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/rate-limit/check":{"post":{"tags":["Mobile Rate Limiting"],"summary":"Atomically check and consume native rate-limit capacity","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileRateLimitCheck","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"decision_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","allowed":true,"recommended_decision":"allow","decision":"allow","retry_after_ms":0,"matched_policy_count":3,"remaining":74,"adaptive_multiplier":1,"reason_codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","action":"payment.create","method":"POST","subject_id":"customer-1842","device_id":"installation-id","route":"/api/payments","cost":1}}}},"security":[{"MobileBearer":[]}]}},"/mobile/session/assess":{"post":{"tags":["Mobile Session Integrity"],"summary":"Assess native session continuity risk","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileSessionAssess","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","session_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","status":"challenged","recommended_decision":"challenge","decision":"challenge","risk_score":0.7399999999999999911182158029987476766109466552734375,"classification":"high","reason_codes":["device-binding-changed"],"step_up_required":true,"session_revoked":false}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","session_token":"vgsess_replace_me","device_id":"installation-id","network_reference":"mobile-network-bucket","action":"approve-transfer"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/session/revoke":{"post":{"tags":["Mobile Session Integrity"],"summary":"Revoke a native authenticated session","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileSessionRevoke","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"session_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","status":"revoked"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","session_token":"vgsess_replace_me","reason":"device-sign-out"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/session/start":{"post":{"tags":["Mobile Session Integrity"],"summary":"Start a native authenticated session","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileSessionStart","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"session_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","session_token":"vgsess_replace_me","status":"active","trust_level":"standard","expires_at":"2026-08-07T22:00:00Z","enforcement_mode":"observe"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","subject_id":"customer-1842","device_id":"installation-id","network_reference":"mobile-network-bucket","country_code":"NG","action":"sign-in"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/siteverify":{"post":{"tags":["Native mobile verification"],"summary":"Verify a native challenge token","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileSiteverify","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"requested-action","score":0.91000000000000003108624468950438313186168670654296875,"assessment_id":"4d6ac1b0-2d0e-4b0b-9f50-42f36a0d3a24","error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","response":"single-use-mobile-token","action":"sign-in","expected_platform":"android","expected_app_id":"com.example.app"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/solve":{"post":{"tags":["Native mobile verification"],"summary":"Solve a native verification challenge","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileSolve","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"response":"single-use-response-token","expires_in":120}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"app_key":"vg_mobile_replace_me","challenge_id":"4d6ac1b0-2d0e-4b0b-9f50-42f36a0d3a24","answer":true,"action":"sign-in"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/trust/decision":{"post":{"tags":["Mobile trust decisions"],"summary":"Select a native trust method","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileTrustDecision","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"decision":"verify","method":"facial_identity_authorization","requested_assurance":"high","risk_level":"high","risk":{"outcome":"challenge","score":0.68000000000000004884981308350688777863979339599609375,"level":"high","engine_status":"evaluated","matched_rules":[{"policy_name":"Transaction protection","rule_name":"High request velocity","reason_code":"velocity-high","score_delta":0.200000000000000011102230246251565404236316680908203125,"outcome":"challenge"}]}}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"approve-transfer","subject_id":"customer-4821","requested_assurance":"device-bound","platform":"android","app_id":"com.example.app","risk_score":0.419999999999999984456877655247808434069156646728515625,"failed_attempts_5m":2,"new_device":true,"anonymous_network":false}}}},"security":[{"MobileBearer":[]}]}},"/mobile/trust/feedback":{"post":{"tags":["Mobile Trust Orchestration"],"summary":"Annotate a native unified trust decision outcome","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileTrustFeedback","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"feedback_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","accepted":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","decision_id":"9ecb38c1-fc29-4cb8-bbd5-18272070db4d","label":"legitimate"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/trust/orchestrate":{"post":{"tags":["Mobile Trust Orchestration"],"summary":"Produce a native unified trust decision and signed receipt","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileTrustOrchestrate","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"decision_id":"9ecb38c1-fc29-4cb8-bbd5-18272070db4d","risk_score":0.2800000000000000266453525910037569701671600341796875,"assurance_level":"high","classification":"low","recommended_decision":"allow","decision":"allow","reason_codes":["assurance-requirements-met"],"enforcement_mode":"challenge","receipt":{"receipt_id":"61df2804-779a-48cb-97fd-b5b2c44d5903","token":"vgtr.payload.signature","expires_at":"2026-08-06T23:30:00+00:00","max_uses":1}}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","action":"transfer.submit","subject_id":"customer-1842","session_id":"session-uuid","transaction_id":"transfer-9942","resource_id":"beneficiary-204","context":"native-transfer","evidence":[{"source":"session","assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67"},{"source":"fraud","assessment_id":"9ecb38c1-fc29-4cb8-bbd5-18272070db4d"}]}}}},"security":[{"MobileBearer":[]}]}},"/mobile/trust/receipt/verify":{"post":{"tags":["Mobile Trust Orchestration"],"summary":"Verify and consume a native trust receipt","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileTrustReceiptVerify","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"valid":true,"decision_id":"9ecb38c1-fc29-4cb8-bbd5-18272070db4d","decision":"challenge","action":"checkout.submit","remaining_uses":0}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_mobile_secret_replace_me","platform":"android","app_id":"com.example.app","receipt":"vgtr.payload.signature","action":"transfer.submit","subject_id":"customer-1842","resource_id":"beneficiary-204","context":"native-transfer"}}}},"security":[{"MobileBearer":[]}]}},"/mobile/trust/siteverify":{"post":{"tags":["Mobile trust decisions"],"summary":"Verify a native trust proof","description":"Called by a registered native application or its backend using mobile application identity, scoped credentials, and the configured integrity policy.","operationId":"postMobileTrustSiteverify","x-vettiguard-audience":"mobile","x-vettiguard-security-model":"mobile_bearer_or_legacy_secret","x-vettiguard-scopes":["mobile.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"requested-action","error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"action":"approve-transfer","subject_id":"customer-4821","requested_assurance":"device-bound","platform":"android","app_id":"com.example.app","risk_score":0.419999999999999984456877655247808434069156646728515625,"failed_attempts_5m":2,"new_device":true,"anonymous_network":false}}}},"security":[{"MobileBearer":[]}]}},"/openapi.json":{"get":{"tags":["Platform"],"summary":"Download the OpenAPI 3.1 contract","description":"Public metadata endpoint that does not reveal private infrastructure details.","operationId":"getOpenapiJson","x-vettiguard-audience":"public","x-vettiguard-security-model":"none","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"openapi":"3.1.0","info":{"title":"VettiGuard API"}}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/postman-collection.json":{"get":{"tags":["Platform"],"summary":"Download the Postman collection","description":"Public metadata endpoint that does not reveal private infrastructure details.","operationId":"getPostmanCollectionJson","x-vettiguard-audience":"public","x-vettiguard-security-model":"none","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"info":{"name":"VettiGuard API"}}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/rate-limit/check":{"post":{"tags":["Rate Limiting"],"summary":"Atomically check and consume rate-limit capacity","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postRateLimitCheck","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"decision_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","allowed":true,"recommended_decision":"allow","decision":"allow","retry_after_ms":0,"matched_policy_count":3,"remaining":74,"adaptive_multiplier":1,"reason_codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","action":"payment.create","method":"POST","subject_id":"customer-1842","device_id":"browser-device","route":"/api/payments","cost":1,"api_protection_assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67"}}}}}},"/sandbox/issue":{"post":{"tags":["Developer sandbox"],"summary":"Issue a non-production sandbox response token","description":"Public metadata endpoint that does not reveal private infrastructure details.","operationId":"postSandboxIssue","x-vettiguard-audience":"public","x-vettiguard-security-model":"none","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"response":"vgsbx.generated-token","scenario":"success","expires_in":900,"production_compatible":false}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"site_key":"vg_test_site_key","scenario":"success","action":"checkout","hostname":"sandbox.example.test"}}}}}},"/sandbox/scenarios":{"get":{"tags":["Developer sandbox"],"summary":"List deterministic sandbox verification scenarios","description":"Public metadata endpoint that does not reveal private infrastructure details.","operationId":"getSandboxScenarios","x-vettiguard-audience":"public","x-vettiguard-security-model":"none","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"site_key":"vg_test_site_key","production_compatible":false,"scenarios":{"success":{"label":"Successful verification","description":"Returns an accepted proof with a high score and matching context.","http_status":200},"low_score":{"label":"Low risk score","description":"Returns a structurally valid proof that fails the configured score threshold.","http_status":200},"expired":{"label":"Expired response","description":"Returns timeout-or-duplicate so expiry handling can be exercised.","http_status":200},"action_mismatch":{"label":"Action mismatch","description":"Returns a valid proof for a different protected action.","http_status":200},"hostname_mismatch":{"label":"Hostname mismatch","description":"Returns an accepted proof bound to a different hostname.","http_status":200},"replayed":{"label":"Replayed response","description":"Returns timeout-or-duplicate for idempotency and replay handling.","http_status":200},"service_unavailable":{"label":"Temporary service failure","description":"Returns HTTP 503 with a stable service-unavailable error.","http_status":503}}}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/sandbox/siteverify":{"post":{"tags":["Developer sandbox"],"summary":"Verify a deterministic sandbox response token","description":"Public metadata endpoint that does not reveal private infrastructure details.","operationId":"postSandboxSiteverify","x-vettiguard-audience":"public","x-vettiguard-security-model":"none","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"checkout","hostname":"sandbox.example.test","score":0.95999999999999996447286321199499070644378662109375,"sandbox":true,"production_compatible":false,"error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_test_secret_demo_only","response":"vgsbx.generated-token","action":"checkout"}}}}}},"/session/assess":{"post":{"tags":["Session Integrity"],"summary":"Assess authenticated-session continuity risk","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postSessionAssess","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"assessment_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","session_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","status":"challenged","recommended_decision":"challenge","decision":"challenge","risk_score":0.7399999999999999911182158029987476766109466552734375,"classification":"high","reason_codes":["device-binding-changed"],"step_up_required":true,"session_revoked":false}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","session_token":"vgsess_replace_me","device_id":"browser-device","network_reference":"network-bucket-19","country_code":"NG","action":"checkout-confirm","authentication_age_seconds":900}}}}}},"/session/revoke":{"post":{"tags":["Session Integrity"],"summary":"Revoke an authenticated session","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postSessionRevoke","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"session_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","status":"revoked"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","session_token":"vgsess_replace_me","reason":"customer-sign-out"}}}}}},"/session/start":{"post":{"tags":["Session Integrity"],"summary":"Start a continuously assessed authenticated session","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postSessionStart","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"session_id":"70f05cc7-989e-41f0-9a37-c9884d323a67","session_token":"vgsess_replace_me","status":"active","trust_level":"standard","expires_at":"2026-08-07T22:00:00Z","enforcement_mode":"observe"}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","subject_id":"customer-1842","device_id":"browser-device","network_reference":"network-bucket-19","country_code":"NG","action":"sign-in","trust_level":"standard"}}}}}},"/siteverify":{"post":{"tags":["Human verification"],"summary":"Verify and consume a browser response token","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postSiteverify","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"requested-action","score":0.91000000000000003108624468950438313186168670654296875,"assessment_id":"4d6ac1b0-2d0e-4b0b-9f50-42f36a0d3a24","error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","response":"single-use-response-token","remoteip":"203.0.113.10","action":"contact-form"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/SiteVerifyRequest"}}}}}},"/solve":{"post":{"tags":["Human verification"],"summary":"Solve a browser verification challenge","description":"Called by a VettiGuard browser client. The real request validates the supplied public site key and the registered request origin.","operationId":"postSolve","x-vettiguard-audience":"browser","x-vettiguard-security-model":"site_key_and_origin","x-vettiguard-scopes":[],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"response":"single-use-response-token","expires_in":120}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"site_key":"vg_site_replace_me","challenge_id":"4d6ac1b0-2d0e-4b0b-9f50-42f36a0d3a24","answer":true,"action":"contact-form","telemetry":{"elapsed_ms":2450}}}}}}},"/trust/decision":{"post":{"tags":["Trust decisions"],"summary":"Select the required assurance method","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postTrustDecision","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"decision":"verify","method":"facial_identity_authorization","requested_assurance":"high","risk_level":"high","risk":{"outcome":"challenge","score":0.68000000000000004884981308350688777863979339599609375,"level":"high","engine_status":"evaluated","matched_rules":[{"policy_name":"Transaction protection","rule_name":"High request velocity","reason_code":"velocity-high","score_delta":0.200000000000000011102230246251565404236316680908203125,"outcome":"challenge"}]}}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","action":"approve-transfer","subject_id":"customer-4821","requested_assurance":"standard","risk_score":0.419999999999999984456877655247808434069156646728515625,"request_velocity_5m":12,"failed_attempts_5m":2,"transaction_amount":250000,"new_device":true,"anonymous_network":false,"country_code":"NG","network_type":"mobile"}}}}}},"/trust/feedback":{"post":{"tags":["Trust Orchestration"],"summary":"Annotate a unified trust decision outcome","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postTrustFeedback","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"feedback_id":"bca30ea6-72d7-42e2-a6d3-2c1b350551c5","accepted":true}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","decision_id":"9ecb38c1-fc29-4cb8-bbd5-18272070db4d","label":"legitimate","reason_code":"order-completed"}}}}}},"/trust/orchestrate":{"post":{"tags":["Trust Orchestration"],"summary":"Produce a unified trust decision and signed receipt","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postTrustOrchestrate","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"decision_id":"9ecb38c1-fc29-4cb8-bbd5-18272070db4d","risk_score":0.2800000000000000266453525910037569701671600341796875,"assurance_level":"high","classification":"low","recommended_decision":"allow","decision":"allow","reason_codes":["assurance-requirements-met"],"enforcement_mode":"challenge","receipt":{"receipt_id":"61df2804-779a-48cb-97fd-b5b2c44d5903","token":"vgtr.payload.signature","expires_at":"2026-08-06T23:30:00+00:00","max_uses":1}}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","action":"checkout.submit","subject_id":"customer-1842","session_id":"session-uuid","transaction_id":"order-9942","resource_id":"cart-9942","context":"production-checkout","evidence":[{"source":"captcha","assessment_id":"4d6ac1b0-2d0e-4b0b-9f50-42f36a0d3a24"},{"source":"session","assessment_id":"70f05cc7-989e-41f0-9a37-c9884d323a67"},{"source":"fraud","assessment_id":"9ecb38c1-fc29-4cb8-bbd5-18272070db4d"}]}}}}}},"/trust/receipt/verify":{"post":{"tags":["Trust Orchestration"],"summary":"Verify and consume a context-bound trust receipt","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postTrustReceiptVerify","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"valid":true,"decision_id":"9ecb38c1-fc29-4cb8-bbd5-18272070db4d","decision":"challenge","action":"checkout.submit","remaining_uses":0}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","receipt":"vgtr.payload.signature","action":"checkout.submit","subject_id":"customer-1842","resource_id":"cart-9942","context":"production-checkout"}}}}}},"/trust/siteverify":{"post":{"tags":["Trust decisions"],"summary":"Verify and consume a normalised trust proof","description":"Server-to-server operation. Keep private credentials outside browser and mobile application bundles and validate the complete response contract.","operationId":"postTrustSiteverify","x-vettiguard-audience":"server","x-vettiguard-security-model":"scoped_credential_or_legacy_secret","x-vettiguard-scopes":["site.verify"],"responses":{"200":{"description":"Successful response.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"},"example":{"success":true,"action":"requested-action","error-codes":[]}}}},"400":{"description":"The request is missing required input or contains invalid input.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Rate limit or configured usage quota exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"},"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"schema":{"type":"integer"}},"X-RateLimit-Remaining":{"schema":{"type":"integer"}},"X-RateLimit-Reset":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiRequest"},"example":{"secret":"vg_secret_replace_me","response":"single-use-response-token","action":"approve-transfer","expected_assurance":"high","require_identity":true,"require_liveness":true}}}}}},"/visual-assets/{challenge_id}/{item_id}":{"get":{"tags":["Human verification"],"summary":"Retrieve a short-lived visual challenge asset","description":"Returns an opaque challenge image after validating the challenge and item references. The asset URL is intentionally short-lived and must not be cached as application content.","operationId":"getVisualChallengeAsset","x-vettiguard-audience":"browser","x-vettiguard-security-model":"none","x-vettiguard-scopes":[],"responses":{"200":{"description":"Visual challenge image.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"image/webp":{"schema":{"type":"string","contentEncoding":"binary"}},"image/svg+xml":{"schema":{"type":"string"}}}},"401":{"description":"The supplied private credential is invalid or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"The origin, workspace, application, policy, or credential scope does not permit the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Known endpoint called with an unsupported HTTP method.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"The service is temporarily unavailable. Retry only according to the response and your bounded backoff policy.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"X-VettiGuard-API-Base":{"$ref":"#/components/headers/CanonicalApiBase"},"X-VettiGuard-API-Version":{"$ref":"#/components/headers/ApiVersion"},"X-VettiGuard-Contract-Version":{"$ref":"#/components/headers/ContractVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"name":"challenge_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"item_id","in":"path","required":true,"schema":{"type":"string","minLength":10,"maxLength":40}}]}}},"components":{"securitySchemes":{"MobileBearer":{"type":"http","scheme":"bearer","bearerFormat":"VettiGuard scoped API credential","description":"Use a scoped mobile API credential. Legacy application secrets remain accepted only for backward compatibility where documented."},"AgentSignature":{"type":"apiKey","in":"header","name":"X-VettiGuard-Signature","description":"Lowercase hexadecimal HMAC-SHA256 of timestamp + \".\" + nonce + \".\" + the exact raw JSON request body, signed with the registered agent secret."}},"headers":{"RequestId":{"description":"Opaque support-correlation identifier.","schema":{"type":"string"}},"CanonicalApiBase":{"description":"Canonical API base URL.","schema":{"type":"string","format":"uri"}},"ApiVersion":{"description":"Resolved VettiGuard API version.","schema":{"type":"string"}},"ContractVersion":{"description":"Published API contract revision.","schema":{"type":"string"}}},"schemas":{"ApiRequest":{"type":"object","additionalProperties":true,"description":"Endpoint-specific JSON request. Use the operation example and linked guide for the required fields and policy bindings."},"SiteVerifyRequest":{"type":"object","required":["secret","response"],"properties":{"secret":{"type":"string","writeOnly":true},"response":{"type":"string","writeOnly":true},"remoteip":{"type":"string"},"action":{"type":"string"}},"additionalProperties":false},"ApiResponse":{"type":"object","additionalProperties":true,"properties":{"success":{"type":"boolean"}}},"ApiError":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","const":false},"error":{"type":"string"},"message":{"type":"string"},"reference":{"type":"string","description":"Privacy-safe support reference when present."},"error-codes":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}}},"externalDocs":{"description":"Interactive API reference and integration guides","url":"https://vettiguard.com/developers/api-reference"},"x-vettiguard-legacy-base-url":"https://vettiguard.com/api/v1","x-vettiguard-changelog":"https://vettiguard.com/developers/api-changelog"}