Shufti Pro Status API

The Status API from Shufti Pro — 2 operation(s) for status.

OpenAPI Specification

shuftipro-status-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Shufti Pro Verification Status API
  description: Specification of the Shufti Pro identity-verification API. A single REST endpoint accepts a verification request containing one or more service objects - document, face, address, consent, background_checks, and kyb - to run KYC, KYB, and AML compliance across 240+ countries and territories. Companion endpoints retrieve verification status and proofs and delete verification data. Requests authorize via HTTP Basic Auth (Client ID as username, Secret Key as password) or a short-lived Bearer access token.
  termsOfService: https://shuftipro.com/terms-conditions/
  contact:
    name: Shufti Pro Support
    url: https://shuftipro.com/contact-us/
  version: '1.0'
servers:
- url: https://api.shuftipro.com
tags:
- name: Status
paths:
  /status:
    post:
      operationId: getVerificationStatus
      tags:
      - Status
      summary: Get verification status and proofs.
      description: Retrieves the current status, event, and proof URLs for a previously submitted verification by posting its reference.
      security:
      - basicAuth: []
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatusRequest'
      responses:
        '200':
          description: Status response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerificationResponse'
  /delete:
    post:
      operationId: deleteVerification
      tags:
      - Status
      summary: Delete verification data.
      description: Deletes the stored verification data for a completed request by reference. Returns request.deleted on success or request.invalid if the reference is unknown or already deleted.
      security:
      - basicAuth: []
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatusRequest'
      responses:
        '200':
          description: Delete response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
components:
  schemas:
    DeleteResponse:
      type: object
      properties:
        reference:
          type: string
          example: '17374217'
        event:
          type: string
          enum:
          - request.deleted
          - request.invalid
          example: request.deleted
    VerificationResponse:
      type: object
      properties:
        reference:
          type: string
          example: '17374217'
        event:
          type: string
          description: Current verification event.
          enum:
          - request.received
          - request.pending
          - request.invalid
          - request.timeout
          - request.unauthorized
          - request.deleted
          - verification.accepted
          - verification.declined
          - verification.cancelled
          - verification.status.changed
        email:
          type: string
        country:
          type: string
        verification_url:
          type: string
          format: uri
          description: Onsite verification URL, when applicable.
        verification_result:
          type: object
          additionalProperties: true
          description: Per-service pass/fail result map.
        verification_data:
          type: object
          additionalProperties: true
          description: Extracted data per service.
        declined_reason:
          type: string
        declined_codes:
          type: array
          items:
            type: string
    StatusRequest:
      type: object
      required:
      - reference
      properties:
        reference:
          type: string
          description: Reference of the verification to query or delete.
          example: '17374217'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Auth using your Client ID as the username and your Secret Key as the password.
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer access token shared with the client; valid for 10 minutes and single use.