SwiftID API Documentation

This page will help you get started with SwiftID KYC API.

SwiftID API Integration Guide

Welcome to the API documentation for SwiftID. This API provides various endpoints to facilitate interactions between SwiftID applications. Below, you'll find details about each endpoint along with their request and response bodies.

The SwiftID KYC API supports the following flows:

Authentication token

Create Wallet

Assign ID (CPF)

Name & ID Number Verification

Identification Document & Selfie Verification

Two-Factor Authentication

Proof of Address

Salary verification (Coming soon)

The following sections detail the usage of each implemented flow.


Endpoints

Authentication token

/v2/kyc/auth

  • Summary: Authenticates user

  • URL: https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/auth

  • Request:

    {
      "email": "[email protected]",
      "password": "Tester#1?",
      "device_id": "11DF4FD7-5813-4CCB-BB5B-8677AADA2F7C"
    }
    
    
  • Response:

    {
      "message": "Successfully logged in", 
      "status": 200, 
      "success": true, 
      "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lIjoiMjAyNC0wNC0zMCAxMjozOTo1Mi40MjkwNDMiLCJlbWFpbCI6InRlc3RlckBjbW9ycS5jb20ifQ.5178LSLWDd2O18o9OY0ZfDoGYCgy2r2rLWcvJBvYktc"
    }
    
    
  • Example:

    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lIjoiMjAyNC0wNC0zMCAxMjozOTo1Mi40MjkwNDMiLCJlbWFpbCI6InRlc3RlckBjbW9ycS5jb20ifQ.5178LSLWDd2O18o9OY0ZfDoGYCgy2r2rLWcvJBvYktc" \
      -d '{
            "email": "[email protected]",
            "password": "Tester#1?",
            "device_id": "11DF4FD7-5813-4CCB-BB5B-8677AADA2F7C"
          }' \
      https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/auth
    

To authenticate calls to the endpoints, include the following headers in your request:

{
  "Authorization": "Bearer {token}",
  "Content-Type": "application/json"
}

This ensures that your request is properly authenticated and processed.

Create Wallet

This flow generates a non-custodial CMORQ EVM address.

/v2/kyc/create_wallet

  • Summary: Create wallet for the user

  • URL: https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/create_wallet

  • Request:

    {
      "device_id": "11DF4FD7-5813-4CCB-BB5B-8677AADA2F7C" 
    }
    
    
    
  • Response:

    {
      "address": "0x2bC7b9b49722EfF5d0e712eE40e681dD61A5cDe0",
      "message": "Created onboarding wallets",
      "mnemonic": "", 
      "encrypted_wallet": {"shared" : "NA"},
      "status": 200
    }
    
    
  • Example:

    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lIjoiMjAyNC0wNi0yNyAxNTo0MTozOS4yMjY5MjYiLCJlbWFpbCI6InRlc3RlckBjbW9ycS5jb20ifQ.mVXd4QUCIA1xt2-B3GbqAkRR0oHtzjqQJTkKfzdoAD8" \
      -d '{
            "device_id": "11DF4FD7-5813-4CCB-BB5B-8677AADA2F7C"
          }' \
      https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/create_wallet
    

Assign ID (CPF)

This flow binds an existing CMORQ wallet with a provided CPF (Cadastro de Pessoas Físicas - Brazilian tax ID).

  • Ensure the user enters a valid CPF and the wallet is a valid CMORQ wallet. Currently, the SDK performs no validation for either.

/v2/kyc/assign_id

  • Summary: Create new user verification entry

  • URL: https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/assign_id

  • Request:

    {
      "device_id": "fb470b5b27b2c604-202404300912",
      "address": "0x56a809F68Afe5885f8f1D509421db2287291A129", 
      "tax_id": "33986798897",
      "cpf_hash": "84e6f96a2335ebb0a351bafd42aa9fe2f14cc3adc70323c9b4dae44fe84a2864"
    }
    
    
    
  • Response:

    {
      "does_cpf_exist": false, 
      "message": "Done.", 
      "status": 200
    }
    
    
  • Example 1:

    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lIjoiMjAyNC0wNi0yNyAxNTo0MTozOS4yMjY5MjYiLCJlbWFpbCI6InRlc3RlckBjbW9ycS5jb20ifQ.mVXd4QUCIA1xt2-B3GbqAkRR0oHtzjqQJTkKfzdoAD8" \
      -d '{
            "device_id": "11DF4FD7-5813-4CCB-BB5B-8677AADA2F7C",
            "address": "0x56a809F68Afe5885f8f1D509421db2287291A129", 
            "tax_id": "33936797897",
            "cpf_hash": "84e6f96a2335ebb0a351bafd42ba9fe2f14cc3adc70323c9b4dae44fe84a2864"
          }' \
      https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/assign_id
    
  • Example 2:

    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lIjoiMjAyNC0wNC0zMCAxMjozOTo1Mi40MjkwNDMiLCJlbWFpbCI6InRlc3RlckBjbW9ycS5jb20ifQ.5178LSLWDd2O18o9OY0ZfDoGYCgy2r2rLWcvJBvYktc" \
      -d '{
            "cpf_hash": "84e6f96a2335ebb0a351bafd42aa9fe2f14cc3adc70323c9b4dae44fe84a2864"
          }' \
      https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/assign_id
    

/v2/kyc/upload_kyc

  • Summary: Upload documents

  • URL: https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/upload_kyc

  • Request:

    {
     "device_id": "11DF4FD7-5813-4CCB-BB5B-8677AADA2F7C",
     "address": "0x56a809F68Afe5885f8f1D509421db2287291A129", 
     "tax_id": "33986798897",
     "physical_address" : "RUA SAO PAULO, 38, LIBERDADE, 01513-000 - SAO PAULO - SP",
     "files": [
        {
          "file_name": "front",
          "file_content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAArlBMVEX////y8vLq6urw8PD19fX+/v6mpqYfn5+b29vU1NT4+PjMzMz5+fnY2Njd3d1mZmZWVlbq6urp6enf398AAAD4+Pj19fW1tbV1dXV3d3evr69ubm7NzczMzMzMzPz8/Hz8/Nzc3Pz8/AwMDMzMzJycmfn5+VlZWbm5vz8/Pw8PDx8fHr6+vj4+PExMTGxsbKyspLS0tKSkpCAgL...AAAkklEQVR42mJQWLbNHCxJGQEQ6i6GnZGjYBoRVQMDD8PZQkLxy0wHq7MXbTPGJGJT9PwfYhBnHLY1B9JBodRvACqDmLw0W+KQqRhCkIdol3gj3JgGGzAQKM6EDnMKoMgiXhJvIEcFaiAiIfDwAMv0DNDjKGGkLMU0vJHA8VCYNt0kThv1QrBI6/UMAPyQQH4SgLzRmAQ3UUhfgAATzYAAAAAElFTkSuQmCC"
        },
        {
          "file_name": "back",
          "file_content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAArlBMVEX////y8vLq6urw8PD19fX+/v6mpqYfn5+b29vU1NT4+PjMzMz5+fnY2Njd3d1mZmZWVlbq6urp6enf398AAAD4+Pj19fW1tbV1dXV3d3evr69ubm7NzczMzMzMzPz8/Hz8/Nzc3Pz8/AwMDMzMzJycmfn5+VlZWbm5vz8/Pw8PDx8fHr6+vj4+PExMTGxsbKyspLS0tKSkpCAgL...AAAkklEQVR42mJQWLbNHCxJGQEQ6i6GnZGjYBoRVQMDD8PZQkLxy0wHq7MXbTPGJGJT9PwfYhBnHLY1B9JBodRvACqDmLw0W+KQqRhCkIdol3gj3JgGGzAQKM6EDnMKoMgiXhJvIEcFaiAiIfDwAMv0DNDjKGGkLMU0vJHA8VCYNt0kThv1QrBI6/UMAPyQQH4SgLzRmAQ3UUhfgAATzYAAAAAElFTkSuQmCC"
        },
        {
          "file_name": "selfie",
          "file_content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAArlBMVEX////y8vLq6urw8PD19fX+/v6mpqYfn5+b29vU1NT4+PjMzMz5+fnY2Njd3d1mZmZWVlbq6urp6enf398AAAD4+Pj19fW1tbV1dXV3d3evr69ubm7NzczMzMzMzPz8/Hz8/Nzc3Pz8/AwMDMzMzJycmfn5+VlZWbm5vz8/Pw8PDx8fHr6+vj4+PExMTGxsbKyspLS0tKSkpCAgL...AAAkklEQVR42mJQWLbNHCxJGQEQ6i6GnZGjYBoRVQMDD8PZQkLxy0wHq7MXbTPGJGJT9PwfYhBnHLY1B9JBodRvACqDmLw0W+KQqRhCkIdol3gj3JgGGzAQKM6EDnMKoMgiXhJvIEcFaiAiIfDwAMv0DNDjKGGkLMU0vJHA8VCYNt0kThv1QrBI6/UMAPyQQH4SgLzRmAQ3UUhfgAATzYAAAAAElFTkSuQmCC"
        }
      ]
    }
    
  • Response:

    {
      "files": {
        "image_back": "gs://cmorq-hawk/0x007accfa2f5b2b7cb0d13739b44c241a34a2c752-back-1",
        "image_front": "gs://cmorq-hawk/0x007accfa2f5b2b7cb0d13739b44c241a34a2c752-front-1",
        "image_selfie": "gs://cmorq-hawk/0x007accfa2f5b2b7cb0d13739b44c241a34a2c752-selfie-1"
      },
      "message": "Done.",
      "status": 200
    }
    
  • Example:

    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lIjoiMjAyNC0wNi0yNyAxNTo0MTozOS4yMjY5MjYiLCJlbWFpbCI6InRlc3RlckBjbW9ycS5jb20ifQ.mVXd4QUCIA1xt2-B3GbqAkRR0oHtzjqQJTkKfzdoAD8" \
      -d '{
      		 "device_id": "11DF4FD7-5813-4CCB-BB5B-8677AADA2F7C",
           "address": "0x007accfa2f5b2b7cb0d13739b44c241a34a2c752", 
           "tax_id": "33986798897",
      		 "physical_address" : "RUA SAO PAULO, 38, LIBERDADE, 01513-000 - SAO PAULO - SP",
           "files": [
              {
                "file_name": "front",
                "file_content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAArlBMVEX////y8vLq6urw8PD19fX+/v6mpqYfn5+b29vU1NT4+PjMzMz5+fnY2Njd3d1mZmZWVlbq6urp6enf398AAAD4+Pj19fW1tbV1dXV3d3evr69ubm7NzczMzMzMzPz8/Hz8/Nzc3Pz8/AwMDMzMzJycmfn5+VlZWbm5vz8/Pw8PDx8fHr6+vj4+PExMTGxsbKyspLS0tKSkpCAgL...AAAkklEQVR42mJQWLbNHCxJGQEQ6i6GnZGjYBoRVQMDD8PZQkLxy0wHq7MXbTPGJGJT9PwfYhBnHLY1B9JBodRvACqDmLw0W+KQqRhCkIdol3gj3JgGGzAQKM6EDnMKoMgiXhJvIEcFaiAiIfDwAMv0DNDjKGGkLMU0vJHA8VCYNt0kThv1QrBI6/UMAPyQQH4SgLzRmAQ3UUhfgAATzYAAAAAElFTkSuQmCC"
              },
              {
                "file_name": "back",
                "file_content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAArlBMVEX////y8vLq6urw8PD19fX+/v6mpqYfn5+b29vU1NT4+PjMzMz5+fnY2Njd3d1mZmZWVlbq6urp6enf398AAAD4+Pj19fW1tbV1dXV3d3evr69ubm7NzczMzMzMzPz8/Hz8/Nzc3Pz8/AwMDMzMzJycmfn5+VlZWbm5vz8/Pw8PDx8fHr6+vj4+PExMTGxsbKyspLS0tKSkpCAgL...AAAkklEQVR42mJQWLbNHCxJGQEQ6i6GnZGjYBoRVQMDD8PZQkLxy0wHq7MXbTPGJGJT9PwfYhBnHLY1B9JBodRvACqDmLw0W+KQqRhCkIdol3gj3JgGGzAQKM6EDnMKoMgiXhJvIEcFaiAiIfDwAMv0DNDjKGGkLMU0vJHA8VCYNt0kThv1QrBI6/UMAPyQQH4SgLzRmAQ3UUhfgAATzYAAAAAElFTkSuQmCC"
              },
              {
                "file_name": "selfie",
                "file_content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAArlBMVEX////y8vLq6urw8PD19fX+/v6mpqYfn5+b29vU1NT4+PjMzMz5+fnY2Njd3d1mZmZWVlbq6urp6enf398AAAD4+Pj19fW1tbV1dXV3d3evr69ubm7NzczMzMzMzPz8/Hz8/Nzc3Pz8/AwMDMzMzJycmfn5+VlZWbm5vz8/Pw8PDx8fHr6+vj4+PExMTGxsbKyspLS0tKSkpCAgL...AAAkklEQVR42mJQWLbNHCxJGQEQ6i6GnZGjYBoRVQMDD8PZQkLxy0wHq7MXbTPGJGJT9PwfYhBnHLY1B9JBodRvACqDmLw0W+KQqRhCkIdol3gj3JgGGzAQKM6EDnMKoMgiXhJvIEcFaiAiIfDwAMv0DNDjKGGkLMU0vJHA8VCYNt0kThv1QrBI6/UMAPyQQH4SgLzRmAQ3UUhfgAATzYAAAAAElFTkSuQmCC"
              }
            ]
          }' \
      https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/upload_kyc
    

Identification Document & Selfie Verification

This section explains the two methods for implementing ID and Selfie verification with the CMORK KYC SDK.

/v2/kyc/id_document_check

  • Summary: Processes incoming Hawk message

  • URL: https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/id_document_check

  • Request:

    {
     "device_id": "11DF4FD7-5813-4CCB-BB5B-8677AADA2F7C",
     "address": "0x56a809F68Afe5885f8f1D509421db2287291A129", 
     "tax_id": "33986798897",
     "image_front": "gs://cmorq-hawk/0x2fa84e96ea749a295fb5ce6a919c63c3819bf166-front-5", 
     "image_back": "gs://cmorq-hawk/0x2fa84e96ea749a295fb5ce6a919c63c3819bf166-back-5",
     "image_selfie": "gs://cmorq-hawk/0x2fa84e96ea749a295fb5ce6a919c63c3819bf166-selfie-5"
    }
    
  • Response:

    {
      "accepted": false, 
      "report": " **Final verdict:** Rejected.\n\n**Reasoning:**\nThe ID is invalid as it is of a cat, not a person. Additionally, the selfie does not meet the requirements as it is not a photo of the person on the ID. The person in the selfie is also wearing glasses, which is prohibited.\n\n**Inputs:**\n\n**ID:** Invalid (image of a cat)\n\n**Selfie:** Does not meet requirements (not a photo of the person on the ID, person is wearing glasses)\n\n**Location:** Not provided\n\n**Name:** Not provided\n\n**OFAC Check:** Not provided \n  * I see one face.\n* The eyes are brown.\n* The gender is not clear.\n* The skin color is light orange.\n* The face is round.\n* The nose is small and pink.\n* The eyes are almond-shaped.\n* The jawline is not defined.\n* The chin is small and pointed.\n* The lips are pink and closed.\n* The cheekbones are not prominent.\n* The nose is small and upturned.\n* This is not a selfie.\n* The person is not wearing glasses or a hat.\n* The person looks like they are young, possibly in their 20s.\n * There is one face.\n* The eyes are orange.\n* The gender is unknown.\n* The skin color is orange and white.\n* The face is round.\n* The nose is small and pink.\n* The eyes are almond-shaped.\n* The jawline is not defined.\n* The chin is small and pointed.\n* The lips are closed.\n* The cheekbones are not defined.\n* The nose is small and pink.\n* The person looks like a young adult.\n **Procedure:**\n- Image 1 is not a selfie, which is a violation of the procedure.\n- Neither image mentions the person is wearing glasses or a hat, so this criterion is not violated.\n\n**Likeness:**\n- Gender: Cannot be determined in either image.\n- Eye color: Contradicts (brown vs. orange).\n- Face shape: Matches (round).\n\n**Other characteristics:**\n- Skin color: Contradicts (light orange vs. orange and white).\n- Nose: Matches (small and pink).\n- Eye shape: Matches (almond-shaped).\n- Jawline: Matches (not defined).\n- Chin: Matches (small and pointed).\n- Lips: Contradicts (pink and closed vs. closed).\n- Cheekbones: Matches (not prominent).\n\n**Forensic confidence:** Low.\n**Likeness score:** 30.\n**Recommended verdict:** Reject.\n\n**Reasoning:**\nThere are several contradictions between the two descriptions, including eye color, skin color, and lip color. Additionally, the gender is unknown in both images, which makes it difficult to determine if they are the same person. While some characteristics match, the contradictions are significant enough to warrant a low confidence and recommendation for rejection.\n The ID is invalid.\n\nThe ID is of a cat, not a person. IDs must be issued to people.\n **Final verdict:** Rejected.\n\n**Reasoning:**\nThe ID is invalid as it is of a cat, not a person. Additionally, the selfie does not meet the requirements as it is not a photo of the person on the ID. The person in the selfie is also wearing glasses, which is prohibited.\n\n**Inputs:**\n\n**ID:** Invalid (image of a cat)\n\n**Selfie:** Does not meet requirements (not a photo of the person on the ID, person is wearing glasses)\n\n**Location:** Not provided\n\n**Name:** Not provided\n\n**OFAC Check:** Not provided", 
      "response_message": {"en": "Your verification is rejected. Please reach out to us over email to learn more or attempt again.", "pr": "Sua verifica\u00e7\u00e3o foi rejeitada. Por favor, entre em contato conosco por e-mail para saber mais ou tentar novamente", "sp": "Su verificaci\u00f3n ha sido rechazada. P\u00f3ngase en contacto con nosotros por correo electr\u00f3nico para obtener m\u00e1s informaci\u00f3n o vuelva a intentarlo."}, 
      "status": 200
    }
    
    
  • Example:

    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lIjoiMjAyNC0wNi0yNyAxNTo0MTozOS4yMjY5MjYiLCJlbWFpbCI6InRlc3RlckBjbW9ycS5jb20ifQ.mVXd4QUCIA1xt2-B3GbqAkRR0oHtzjqQJTkKfzdoAD8" \
      -d '{
      "tax_id": "33986798897",
      "address": "0x3005DF28866aAea160A1ad878bC3F7ADf2F36D18",
      "image_front": "gs://cmorq-hawk/0x007accfa2f5b2b7cb0d13739b44c241a34a2c752-front-19",
      "image_selfie": "gs://cmorq-hawk/0x007accfa2f5b2b7cb0d13739b44c241a34a2c752-selfie-19",
      "image_back": "gs://cmorq-hawk/0x007accfa2f5b2b7cb0d13739b44c241a34a2c752-back-19",
      "device_id": "11DF4FD7-5813-4CCB-BB5B-8677AADA2F7C"
    }' \
      https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/id_document_check
    

/v2/kyc/address_document_check

  • Summary: Processes incoming Hawk message

  • URL: https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/address_document_check

  • Request:

    {
      "document_image": "gs://cmorq-hawk/0x83bbdcfc0394a1b747b156eb5c394ba8d04c52b6-back-1", 
      "device_id": "6E041209-C684-4B60-9981-4A64BF754D3A",
      "tax_id": "33986798897",
      "address": "0x007accfa2f5b2b7cb0d13739b44c241a34a2c752",
      "physical_address" : "RUA SAO PAULO, 38, LIBERDADE, 01513-000 - SAO PAULO - SP"
    }
    
  • Response:

    {
      "accepted":false,
      "report":" Reject. \n\nThe image provided does not contain any information that can be used to verify the user's home address. Therefore, I am unable to confirm that the user has verified their home address.",
      "response_message":{
        "en":"Your verification is rejected. Please reach out to us over email to learn more or attempt again.",
        "pr":"Sua verifica\u00e7\u00e3o foi rejeitada. Por favor, entre em contato conosco por e-mail para saber mais ou tentar novamente",
        "sp":"Su verificaci\u00f3n ha sido rechazada. P\u00f3ngase en contacto con nosotros por correo electr\u00f3nico para obtener m\u00e1s informaci\u00f3n o vuelva a intentarlo."},
      "status":200
    }
    
  • Example:

    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lIjoiMjAyNC0wNi0yNyAxNTo0MTozOS4yMjY5MjYiLCJlbWFpbCI6InRlc3RlckBjbW9ycS5jb20ifQ.mVXd4QUCIA1xt2-B3GbqAkRR0oHtzjqQJTkKfzdoAD8" \
      -d '{
      "document_image": "gs://cmorq-hawk/0x83bbdcfc0394a1b747b156eb5c394ba8d04c52b6-back-1", 
      "device_id": "6E041209-C684-4B60-9981-4A64BF754D3A",
      "tax_id": "33986798897",
      "address": "0x007accfa2f5b2b7cb0d13739b44c241a34a2c752",
      "physical_address" : "RUA SAO PAULO, 38, LIBERDADE, 01513-000 - SAO PAULO - SP"
    }' \
      https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/address_document_check
    

/v2/kyc/business_document_check

  • Summary: Processes incoming Hawk message

  • URL: https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/business_document_check

  • Request:

    {
      "document_image": "gs://cmorq-hawk/0x83bbdcfc0394a1b747b156eb5c394ba8d04c52b6-pdf-1", 
      "device_id": "6E041209-C684-4B60-9981-4A64BF754D3A",
      "tax_id": "33986798897",
      "address": "0x007accfa2f5b2b7cb0d13739b44c241a34a2c752",
      "physical_address" : "RUA SAO PAULO, 38, LIBERDADE, 01513-000 - SAO PAULO - SP"
    }
    
  • Response:

    {
      "accepted":True,
    	"status":200
    }
    
  • Example:

    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lIjoiMjAyNC0wNy0xMSAyMTo1OTo0Ni45Nzk1NjYiLCJlbWFpbCI6InRlc3RlckBjbW9ycS5jb20ifQ.18TQx-4rhIg8JW-KKR7UU7j_oNLXkXBgCmXJ6zhG6CI" \
      -d '{
      "document_image": "gs://cmorq-hawk/0x25811928df2e1f963ad2ea4ac321acbe638a4db9-pdf-3", 
      "device_id": "6E041209-C684-4B60-9981-4A64BF754D3A",
      "tax_id": "33986798897",
      "address": "0x007accfa2f5b2b7cb0d13739b44c241a34a2c752",
      "physical_address" : "RUA SAO PAULO, 38, LIBERDADE, 01513-000 - SAO PAULO - SP"
    }' \
      https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/business_document_check
    

/v2/kyc/get_entry_by_id

  • Summary: KYC APP - Gets KYC entry by wallet address

  • URL: https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/get_entry_by_id

  • Request:

    {
      "address": "0x007accfa2f5b2b7cb0d13739b44c241a34a2c752",
      "cpf_hash": "84e6f96a2335ebb0a351bafd42aa9fe2f14cc3adc70323c9b4dae44fe84a2864" 
    }
    
    
  • Response:

    {
      "entries": [
        {
          "cpf_hash": "84e6f96a2335ebb0a351bafd42aa9fe2f14cc3adc70323c9b4dae44fe84a2864", 
          "created_at": null, "dob": null, 
          "full_name": "Maria da Silva", 
          "image_back": "tok_live_iPcMYmJjwpm5gwHMp7mnhV", 
          "image_back_direct": null, 
          "image_front": "tok_live_i1V2fRXTtNqoe4n66GS4Zd", 
          "image_front_direct": null, 
          "image_selfie": null, 
          "kyc_verified": true, 
          "kyc_verified_ai": false, 
          "tax_id": null, 
          "wallet_address": "0x7Da3dEBE6B3f5894615B0c9F1a51fc7B1C703084"
        }
      ], 
      "message": "Fetched entries", 
      "status": 200
    }
    
  • Example:

    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lIjoiMjAyNC0wNi0yNyAxNTo0MTozOS4yMjY5MjYiLCJlbWFpbCI6InRlc3RlckBjbW9ycS5jb20ifQ.mVXd4QUCIA1xt2-B3GbqAkRR0oHtzjqQJTkKfzdoAD8" \
      -d '{
            "cpf_hash": "84e6f96a2335ebb0a351bafd42aa9fe2f14cc3adc70323c9b4dae44fe84a2864", 
            "address": "0x007accfa2f5b2b7cb0d13739b44c241a34a2c752"
          }' \
      https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/get_entry_by_id
    

Two-Factor Authentication

This section explains the two methods for implementing Two-Factor Authentication (2FA) with the SwiftID KYC API.

/v2/kyc/send_mfa

  • Summary: Sends MFA to the user

  • URL: https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/send_mfa

  • Request:

    {
      "device_id": "6E041209-C684-4B60-9981-4A64BF754D3A",
      "phone_number": "16175995996",
      "address": "0x22310219835070caC8347D90FF65c270eC2D6975",
    }
    
  • Response:

    {
      "message": "Sent MFA",
      "sid": "",
      "status": 200
    }
    
  • Example:

    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lIjoiMjAyNC0wNC0zMCAxMjozOTo1Mi40MjkwNDMiLCJlbWFpbCI6InRlc3RlckBjbW9ycS5jb20ifQ.5178LSLWDd2O18o9OY0ZfDoGYCgy2r2rLWcvJBvYktc" \
      -d '{
            "phone_number": "16175995996",
            "address": "0x22310219835070caC8347D90FF65c270eC2D6975"
          }' \
      https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/send_mfa
    

/v2/kyc/verify_mfa

  • Summary: Verifies MFA for the user

  • URL: https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/verify_mfa

  • Request:

    {
      "device_id": "6E041209-C684-4B60-9981-4A64BF754D3A",
      "address": "0x22310219835070caC8347D90FF65c270eC2D6975",
      "phone_number": "55049999307389",
      "token": "680737",
    }
    
    
  • Response:

    {
      "is_valid": true,
      "message": "Verified MFA code",
      "status": 200,
    }
    
  • Example:

    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lIjoiMjAyNC0wNC0zMCAxMjozOTo1Mi40MjkwNDMiLCJlbWFpbCI6InRlc3RlckBjbW9ycS5jb20ifQ.5178LSLWDd2O18o9OY0ZfDoGYCgy2r2rLWcvJBvYktc" \
      -d '{
            "address": "0x22310219835070caC8347D90FF65c270eC2D6975",
            "phone_number": "16175995996",
            "token": "459414"
          }' \
      https://cmorq-vanguard-ju4bg3xx5q-uc.a.run.app/v2/kyc/verify_mfa