dLocal · Arazzo Workflow

dLocal Create and Resolve KYC Verification

Version 1.0.0

Create a KYC verification, confirm it persisted, then branch on its status to update state or list documents.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub PaymentsEmerging MarketsPayinsPayoutsFintechLatin AmericaAfricaAsiaLocal Payment MethodsPayment ProcessingArazzoWorkflows

Provider

dlocal

Workflows

create-and-resolve-kyc-verification
Create a KYC verification and either advance its state or list its documents.
Creates a KYC verification, confirms it, and branches on the verification status to either update its state when PENDING or list its documents when resolved.
4 steps inputs: attributes, flow, newState, notificationUrl, type outputs: documents, verificationId
1
createVerification
Submit a KYC verification for the client.
2
confirmVerification
Retrieve the verification to confirm it persisted and inspect its current status.
3
advanceState
updateVerificationState
Update the verification state to move a pending verification forward.
4
listDocuments
getVerificationDocuments
List the verification documents for a resolved verification for record keeping.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: dLocal Create and Resolve KYC Verification
  summary: Create a KYC verification, confirm it persisted, then branch on its status to update state or list documents.
  description: >-
    Drives a KYC verification to a decision point. The workflow creates a
    verification for a client, retrieves it to confirm it persisted, and then
    branches on the verification status: when it is still PENDING it updates the
    verification state to move it forward, and when it has resolved it lists the
    verification documents for record keeping. Every step spells out its request
    inline so the flow can be read and executed without opening the underlying
    OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: documentsApi
  url: ../openapi/d-local-documents-api-openapi.yml
  type: openapi
- name: verificationsApi
  url: ../openapi/d-local-verifications-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-and-resolve-kyc-verification
  summary: Create a KYC verification and either advance its state or list its documents.
  description: >-
    Creates a KYC verification, confirms it, and branches on the verification
    status to either update its state when PENDING or list its documents when
    resolved.
  inputs:
    type: object
    required:
    - type
    - notificationUrl
    - attributes
    properties:
      type:
        type: string
        description: Verification type (REMITTANCE or STANDALONE).
      notificationUrl:
        type: string
        description: URL to receive asynchronous verification result notifications.
      attributes:
        type: object
        description: Client information attributes (name, document, country, etc.).
      flow:
        type: string
        description: Verification flow (remitter, beneficiary, or standalone).
      newState:
        type: string
        description: State value to apply when advancing a pending verification.
  steps:
  - stepId: createVerification
    description: >-
      Submit a KYC verification for the client.
    operationId: createVerification
    requestBody:
      contentType: application/json
      payload:
        type: $inputs.type
        notification_url: $inputs.notificationUrl
        attributes: $inputs.attributes
        flow: $inputs.flow
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      verificationId: $response.body#/id
      status: $response.body#/status
  - stepId: confirmVerification
    description: >-
      Retrieve the verification to confirm it persisted and inspect its current
      status.
    operationId: getVerification
    parameters:
    - name: verification_id
      in: path
      value: $steps.createVerification.outputs.verificationId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
    onSuccess:
    - name: stillPending
      type: goto
      stepId: advanceState
      criteria:
      - context: $response.body
        condition: $.status == "PENDING"
        type: jsonpath
    - name: resolved
      type: goto
      stepId: listDocuments
      criteria:
      - context: $response.body
        condition: $.status != "PENDING"
        type: jsonpath
  - stepId: advanceState
    description: >-
      Update the verification state to move a pending verification forward.
    operationId: updateVerificationState
    parameters:
    - name: verification_id
      in: path
      value: $steps.createVerification.outputs.verificationId
    requestBody:
      contentType: application/json
      payload:
        state: $inputs.newState
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      updatedVerificationId: $steps.createVerification.outputs.verificationId
    onSuccess:
    - name: done
      type: end
  - stepId: listDocuments
    description: >-
      List the verification documents for a resolved verification for record
      keeping.
    operationId: getVerificationDocuments
    parameters:
    - name: verification_id
      in: path
      value: $steps.createVerification.outputs.verificationId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      documents: $response.body
  outputs:
    verificationId: $steps.createVerification.outputs.verificationId
    documents: $steps.listDocuments.outputs.documents

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • 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 workflow
curl "https://apis.io/api/v1/arazzo/dlocal-create-and-resolve-kyc-verification-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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