{
  "openapi": "3.0.1",
  "info": {
    "title": "KYC Identity Verification API - Global AML and eIDV",
    "description": "Verify a person against more than 200 government, credit bureau, utility, telco and electoral datasources in over 100 countries. One row per datasource, showing exactly which identity fields matched, plus the country and field configuration your own account is entitled to call.",
    "version": "0.1",
    "x-build-id": "eBCeyohlgg8abG8BN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~kyc-identity-verification-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-kyc-identity-verification-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/nabeelbaghoor~kyc-identity-verification-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-kyc-identity-verification-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/nabeelbaghoor~kyc-identity-verification-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-kyc-identity-verification-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "What to do",
            "enum": [
              "verify",
              "countryCodes",
              "fields",
              "testEntities"
            ],
            "type": "string",
            "description": "Verify checks people against the datasources. The other three read your own account: which countries it may call, which fields a given country needs, and the test identities to use against a sandbox account. Reading the configuration is never charged for.",
            "default": "verify"
          },
          "people": {
            "title": "People to verify",
            "type": "array",
            "description": "One object per person. Plain names are accepted and mapped to this provider's nested request for you: firstName, middleName, lastName, fullName, gender, dateOfBirth (YYYY-MM-DD), buildingNumber, unitNumber, streetName, streetType, city, suburb, county, state, postalCode, address1, telephone, mobileNumber, email, nationalId. A person may also carry a raw dataFields object in the provider's own spelling, and its own countryCode."
          },
          "countryCode": {
            "title": "Country",
            "type": "string",
            "description": "The two letter country code to verify against, for example US, GB, AU, CA, IN or SG. This provider is structured by country and your contract decides which ones are available, so run the country codes mode if you are not sure. Required for the fields and test entities modes.",
            "default": "US"
          },
          "authMode": {
            "title": "Credential type",
            "enum": [
              "oauth",
              "basic"
            ],
            "type": "string",
            "description": "Which credential your account was issued. The current platform uses an OAuth client id and secret. Long standing accounts on the normalised API use a username and password. The two authenticate against different endpoints, so choosing the wrong one reads as a rejected credential.",
            "default": "oauth"
          },
          "clientId": {
            "title": "Client id",
            "type": "string",
            "description": "Your own OAuth client id for this provider. Half of the credential pair, and stored encrypted. Used when the credential type is OAuth."
          },
          "clientSecret": {
            "title": "Client secret",
            "type": "string",
            "description": "Your own OAuth client secret for this provider. Used when the credential type is OAuth."
          },
          "username": {
            "title": "Username",
            "type": "string",
            "description": "Your own account username. Used when the credential type is Basic."
          },
          "password": {
            "title": "Password",
            "type": "string",
            "description": "Your own account password. Used when the credential type is Basic."
          },
          "region": {
            "title": "Region",
            "enum": [
              "global",
              "us",
              "eu",
              "apac",
              "ca"
            ],
            "type": "string",
            "description": "Which regional host to call. The global host routes to the fastest location; the regional hosts exist for contracts that require data residency in a particular place. Your credentials have to be issued for the region you pick.",
            "default": "global"
          },
          "configurationName": {
            "title": "Package name",
            "type": "string",
            "description": "The package your account is contracted under. Identity Verification is the usual value and the default. Change it only if your account was set up with a different package name.",
            "default": "Identity Verification"
          },
          "customerReferenceId": {
            "title": "Your reference",
            "type": "string",
            "description": "A string of your own that is sent with every verification and returned on every row, so a result can be tied back to the case or batch it came from."
          },
          "consentForDataSources": {
            "title": "Consent for data sources",
            "type": "array",
            "description": "The names of any datasources that require the individual's explicit consent before they may be queried. A source that needs consent is skipped unless it is named here, and it is your responsibility to hold that consent.",
            "items": {
              "type": "string"
            }
          },
          "cleansedAddress": {
            "title": "Return the cleansed address",
            "type": "boolean",
            "description": "Ask the provider to return its standardised version of the address it matched, where the country supports it.",
            "default": false
          },
          "skipNotVerified": {
            "title": "Only keep datasource matches",
            "type": "boolean",
            "description": "Leave datasource results that matched nothing out of the dataset entirely. Off by default, because a datasource that did not match is a real answer and is not charged for.",
            "default": false
          },
          "tokenUrl": {
            "title": "Token endpoint",
            "type": "string",
            "description": "Where to exchange the client id and secret for a bearer token. The default is the provider's published endpoint. Change it only if your credentials were issued on a dedicated authorisation server.",
            "default": "https://auth-api.trulioo.com/connect/token"
          },
          "scope": {
            "title": "OAuth scope",
            "type": "string",
            "description": "The scope requested with the token. The default is the one this provider documents for verification calls.",
            "default": "workflow.studio.api"
          },
          "baseUrl": {
            "title": "Custom host",
            "type": "string",
            "description": "Overrides the host outright. Leave empty unless your account was issued a dedicated hostname, in which case the region setting is ignored."
          },
          "maxResults": {
            "title": "Maximum rows",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many rows. Rows are charged individually, so this is the ceiling on what a run can cost.",
            "default": 100
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 600,
            "type": "integer",
            "description": "How fast to call the provider. Lower this if your contract has a tighter rate ceiling than the default.",
            "default": 60
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}