> ## Documentation Index
> Fetch the complete documentation index at: https://docs.meld.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a provider's verification requirements

> Returns the provider's customer-verification requirements and legal agreements. Pass customerId to additionally get the customer's current (advisory) per-field verification status. Pass the order you intend to create — payment method, amount and corridor — to additionally get the provider's own outstanding KYC details: those are jurisdiction-, amount- and method-dependent, so they can only be reported against a concrete intent.



## OpenAPI

````yaml /openapi/crypto-20260203.json get /crypto/onramp/{serviceProvider}/requirements
openapi: 3.1.0
info:
  title: CRYPTO
  termsOfService: urn:tos
  license:
    name: Apache 2.0
    url: https://springdoc.org
  version: '2026-02-03'
  description: ''
servers:
  - url: https://api-sb.meld.io
    description: Meld API sandbox
  - url: https://api.meld.io
    description: Meld API production
security: []
tags:
  - name: Retail Ramp
    description: ''
  - name: Headless
    description: ''
  - name: Payment
    description: ''
  - name: Session
    description: ''
paths:
  /crypto/onramp/{serviceProvider}/requirements:
    get:
      tags:
        - Headless
      summary: Get a provider's verification requirements
      description: >-
        Returns the provider's customer-verification requirements and legal
        agreements. Pass customerId to additionally get the customer's current
        (advisory) per-field verification status. Pass the order you intend to
        create — payment method, amount and corridor — to additionally get the
        provider's own outstanding KYC details: those are jurisdiction-, amount-
        and method-dependent, so they can only be reported against a concrete
        intent.
      operationId: /crypto-onramp-verification-requirements-get
      parameters:
        - name: Meld-Version
          in: header
          description: Dated API version to use for this request, e.g. `2026-02-03`.
          required: false
          schema:
            type: string
            example: '2026-02-03'
        - name: serviceProvider
          in: path
          required: true
          schema:
            type: string
        - name: customerId
          in: query
          required: false
          schema:
            type: string
        - name: paymentMethodType
          in: query
          required: false
          schema:
            type: string
        - name: sourceCurrencyCode
          in: query
          required: false
          schema:
            type: string
        - name: sourceAmount
          in: query
          required: false
          schema:
            type: number
        - name: destinationCurrencyCode
          in: query
          required: false
          schema:
            type: string
        - name: destinationNetworkCode
          in: query
          required: false
          schema:
            type: string
        - name: countryCode
          in: query
          required: false
          schema:
            type: string
        - name: subdivision
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Requirements returned
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/VerificationRequirementsResponse'
        '400':
          description: 'Bad Request : check request values and format'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Unauthenticated or authenticated with insufficient access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: >-
            Server Error. This applies to all 5xx errors, including but not
            limited to 500, 501, 502, 503, and 504 errors. You should treat all
            of these errors the same.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    VerificationRequirementsResponse:
      type: object
      properties:
        customerStatus:
          $ref: '#/components/schemas/CustomerStatus'
        kycRequirements:
          type: array
          items:
            $ref: '#/components/schemas/KycRequirement'
        legalAgreements:
          type: array
          items:
            $ref: '#/components/schemas/LegalAgreement'
        serviceProvider:
          type: string
        verificationRequirements:
          $ref: '#/components/schemas/VerificationRequirements'
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: Stable identifier for the failure.
        errors:
          type: array
          items:
            type: string
          description: What was rejected, one entry per field or rule.
        message:
          type: string
          description: A description of what went wrong.
        requestId:
          type: string
          description: Quote this when asking Meld about a specific failure.
        serviceProviderDetails:
          type: object
          properties:
            code:
              type: string
              description: The provider's own error code, when it sent one.
            message:
              type: string
              description: The provider's own message.
          example:
            code: '5034'
            message: >-
              Digital currency and blockchain combination is restricted for
              customer's country
          description: >-
            The provider's own error detail, when the failure came from a
            service provider. Usually `code` and `message`; a few providers pass
            their own body through, so other keys can appear.
          additionalProperties: {}
        timestamp:
          type: string
          format: date-time
          description: >-
            When the failure occurred. ISO 8601, UTC
            (`YYYY-MM-DDThh:mm:ss.sss+00:00`).
          example: '2026-08-14T09:41:22.482+00:00'
    CustomerStatus:
      type: object
      properties:
        email:
          $ref: '#/components/schemas/FieldStatus'
        phone:
          $ref: '#/components/schemas/FieldStatus'
    KycRequirement:
      type: object
      properties:
        code:
          type: string
        missingFields:
          type: array
          items:
            type: string
        processStates:
          type: array
          items:
            $ref: '#/components/schemas/ProcessState'
        processes:
          type: array
          items:
            type: string
        reason:
          type: string
        status:
          type: string
          enum:
            - REQUIRED
            - PENDING
            - SATISFIED
            - BLOCKED
    LegalAgreement:
      type: object
      properties:
        region:
          type: string
        type:
          type: string
        url:
          type: string
    VerificationRequirements:
      type: object
      properties:
        email:
          $ref: '#/components/schemas/EmailRequirement'
        enforced:
          type: boolean
        phone:
          $ref: '#/components/schemas/PhoneRequirement'
    FieldStatus:
      type: object
      properties:
        reason:
          type: string
        satisfied:
          type: boolean
    ProcessState:
      type: object
      properties:
        code:
          type: string
        model:
          type: string
        reason:
          type: string
        status:
          type: string
        submittable:
          type: boolean
    EmailRequirement:
      type: object
      properties:
        required:
          type: boolean
    PhoneRequirement:
      type: object
      properties:
        requireLineType:
          type: string
        required:
          type: boolean
        reverifyWithinDays:
          type: integer
          format: int32
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      x-default: BASIC <Meld API Key>

````