Uphold KYB API

Business User's KYB.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/uphold-kyb-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

uphold-kyb-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 0.1.0
  title: Core KYB API
  description: The Core API provides essential building blocks that empower businesses to embed financial services into their applications.
  contact:
    name: Uphold API Team
    email: developers@uphold.com
    url: https://developer.uphold.com
servers:
- url: https://api.enterprise.sandbox.uphold.com
  description: Sandbox
- url: https://api.enterprise.uphold.com
  description: Production
security:
- OAuth2: []
tags:
- name: KYB
  description: Business User's KYB.
paths: {}
webhooks:
  core.kyb.onboarding.status-changed:
    post:
      operationId: core.kyb-onboarding-status-changed
      summary: KYB Onboarding Status Changed
      description: The KYB onboarding status has changed.
      tags:
      - KYB
      parameters:
      - $ref: '#/components/parameters/webhook-id'
      - $ref: '#/components/parameters/webhook-timestamp'
      - $ref: '#/components/parameters/webhook-signature'
      requestBody:
        description: KYB onboarding status changed event.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/webhook-event'
              - type: object
                properties:
                  data:
                    type: object
                    properties:
                      status:
                        type: string
                        description: The status of the KYB onboarding process.
                        enum:
                        - running
                        - ok
                        - failed
                      userId:
                        type: string
                        description: The id of the user.
                        format: uuid
                    required:
                    - status
                    - userId
            examples:
              KYB Onboarding Status Changed:
                value:
                  id: 123e4567-e89b-12d3-a456-426614174000
                  type: core.kyb.onboarding.status-changed
                  createdAt: '2021-01-01T00:00:00Z'
                  data:
                    status: ok
                    userId: 123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
components:
  parameters:
    webhook-timestamp:
      name: webhook-timestamp
      description: The timestamp of the webhook, in seconds after the Unix epoch.
      in: header
      required: true
      schema:
        type: integer
      examples:
        Webhook Timestamp:
          value: 1614265330
    webhook-signature:
      name: webhook-signature
      description: The signature of the webhook.
      in: header
      required: true
      schema:
        type: string
      examples:
        Webhook Signature:
          value: v1,Hw8/adTzfYtjPGhuBahfmGhUROG3AvEKH3mvkeK791Q=
    webhook-id:
      name: webhook-id
      description: The unique identifier of the webhook.
      in: header
      required: true
      schema:
        type: string
      examples:
        Webhook ID:
          value: msg_p5jXN8AQM9LWM0D4loKWxJek
  schemas:
    webhook-event:
      description: The webhook event information.
      type: object
      properties:
        id:
          description: The id of the event.
          type: string
          format: uuid
        type:
          description: The type of event.
          type: string
        createdAt:
          description: The date and time when the event was created.
          type: string
          format: date-time
        data:
          description: The event payload.
          type: object
      required:
      - id
      - type
      - createdAt
      - data
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth 2.0 authentication.
      flows:
        clientCredentials:
          tokenUrl: /core/oauth2/token
          scopes:
            core.users:act-on-behalf-of: Grants access to act on behalf of a user
            core.users:create: Grants access to create users
            core.users:read: Grants access to view users
            core.users:delete: Grants access to delete users
            core.users.metadata:read: Grants access to view user metadata
            core.users.metadata:write: Grants access to modify user metadata
            core.kyc:read: Grants access to view KYC processes
            core.kyc.profile:update: Grants access to update profile KYC process
            core.kyc.address:update: Grants access to update address KYC process
            core.kyc.email:update: Grants access to update email KYC process
            core.kyc.phone:update: Grants access to update phone KYC process
            core.kyc.identity:update: Grants access to update identity KYC process
            core.kyc.proof-of-address:update: Grants access to update proof-of-address KYC process
            core.kyc.customer-due-diligence:update: Grants access to update customer due diligence KYC process
            core.kyc.enhanced-due-diligence:update: Grants access to update enhanced due diligence KYC process
            core.kyc.crypto-risk-assessment:update: Grants access to update crypto risk assessment KYC process
            core.kyc.self-categorization-statement:update: Grants access to update self-categorization statement KYC process
            core.kyc.tax-details:update: Grants access to update tax details KYC process
            core.capabilities:read: Grants access to view user capabilities
            core.terms-of-service:read: Grants access to view terms of service
            core.terms-of-service:accept: Grants access to accept terms of service
            core.files:create: Grants access to create files
            core.files:read: Grants access to view files
            core.files.metadata:read: Grants access to view files metadata
            core.files.metadata:write: Grants access to modify files metadata
            core.accounts:create: Grants access to create accounts
            core.accounts:read: Grants access to view accounts
            core.accounts:update: Grants access to update accounts
            core.accounts:archive: Grants access to archive accounts
            core.accounts:deposit-method: Grants access to deposit method needed for depositing into accounts
            core.accounts:use-test-helpers: Grants access to test helpers of accounts
            core.accounts.metadata:read: Grants access to view accounts metadata
            core.accounts.metadata:write: Grants access to modify accounts metadata
            core.assets:use-test-helpers: Grants access to test helpers of assets
            core.external-accounts:create: Grants access to create external accounts
            core.external-accounts:read: Grants access to view external accounts
            core.external-accounts:update: Grants access to update external accounts
            core.external-accounts:delete: Grants access to delete external accounts
            core.external-accounts.metadata:read: Grants access to view external accounts metadata
            core.external-accounts.metadata:write: Grants access to modify external accounts metadata
            core.transactions:create: Grants access to commit quotes
            core.transactions:read: Grants access to view transactions
            core.transactions.metadata:read: Grants access to view transactions metadata
            core.transactions.metadata:write: Grants access to modify transactions metadata
            core.transactions.requests-for-information:read: Grants access to view transactions requests for information
            core.transactions.requests-for-information:update: Grants access to update transactions requests for information
            core.portfolio:read: Grants access to view portfolio overview, performance, and historical balance
            core.statements:read: Grants access to read statements
            core.webhooks:management-link: Grants access to create webhook management links