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

# Create an intent order



## OpenAPI

````yaml /api-reference/partner_external.yaml post /api/partner/v1/ext/ramp_order/checkout
openapi: 3.1.0
info:
  description: API for partner_external service
  title: partner service
  version: 0.0.1
servers:
  - description: Base URL for Production Rampnow APIs
    url: https://api.rampnow.io
  - description: Base URL for Sandbox Rampnow APIs
    url: https://api.sandbox.rampnow.io
security:
  - apiKeyAuth: []
paths:
  /api/partner/v1/ext/ramp_order/checkout:
    post:
      tags:
        - Onramp & Offramp Intent
      summary: Create an intent order
      operationId: CreateCheckoutOrder
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/CreateCheckoutOrderResponse'
                  displayError:
                    description: For client display
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                  - code
                  - message
                  - traceId
                  - data
                type: object
          description: OK
components:
  schemas:
    CreateOrderRequest:
      properties:
        addressTag:
          description: >-
            Destination address memo/tag for chains that require one (XRP, XLM,
            TON, …)
          type: string
        dstAmount:
          description: Destination-side amount; set this OR `srcAmount`, not both
          type: string
        dstChain:
          description: >-
            Destination chain (`fiat` for fiat legs)


            Supported Blockchains like ethereum, bitcoin etc. For additional
            options, see the [full list](/quickstart/resources/blockchain-list).
          externalDocs:
            description: Supported Blockchains like ethereum, bitcoin etc.
            url: https://docs.rampnow.io/quickstart/resources/blockchain-list
          type: string
        dstCurrency:
          description: >-
            Destination currency (crypto for buy, fiat for sell)


            Supported Crypto Currencies like EUR, USDT etc. For additional
            options, see the [full
            list](/quickstart/resources/supported-assets).
          externalDocs:
            description: Supported Crypto Currencies like EUR, USDT etc.
            url: https://docs.rampnow.io/quickstart/resources/supported-assets
          type: string
        externalOrderUid:
          description: Your unique reference for this order (idempotency key)
          type: string
        orderType:
          $ref: '#/components/schemas/OrderType'
          description: Order direction (`buy`, `sell`, …)
        partnerFixedFee:
          description: Overrides the account-side partner fixed fee for this order
          type: number
        partnerPctFee:
          description: Overrides the account-side partner fee percentage for this order
          type: number
        paymentMode:
          description: >-
            Preferred payment method; if omitted the customer picks during
            checkout


            Payment Methods & Limits like sepa, card, wire etc. For additional
            options, see the [full
            list](/quickstart/resources/payment-methods#payment-methods).
          externalDocs:
            description: Payment Methods & Limits like sepa, card, wire etc.
            url: >-
              https://docs.rampnow.io/quickstart/resources/payment-methods#payment-methods
          type: string
        returnUrl:
          description: URL to redirect the customer to after checkout completes
          type: string
        srcAmount:
          description: Source-side amount; set this OR `dstAmount`, not both
          type: string
        srcChain:
          description: >-
            Source chain (`fiat` for fiat legs)


            Supported Blockchains like ethereum, bitcoin etc. For additional
            options, see the [full list](/quickstart/resources/blockchain-list).
          externalDocs:
            description: Supported Blockchains like ethereum, bitcoin etc.
            url: https://docs.rampnow.io/quickstart/resources/blockchain-list
          type: string
        srcCurrency:
          description: >-
            Source currency (fiat for buy, crypto for sell)


            Supported Crypto Currencies like EUR, USDT etc. For additional
            options, see the [full
            list](/quickstart/resources/supported-assets).
          externalDocs:
            description: Supported Crypto Currencies like EUR, USDT etc.
            url: https://docs.rampnow.io/quickstart/resources/supported-assets
          type: string
        user:
          $ref: '#/components/schemas/CreateUserReq'
          description: Customer profile; upserted by email
        wallet:
          $ref: '#/components/schemas/WalletInfo'
          description: Beneficiary wallet / bank account for the destination leg
        webhookUrl:
          description: >-
            Per-order override for the status-change webhook URL; falls back to
            the account-level webhook
          type: string
      required:
        - orderType
        - externalOrderUid
        - srcCurrency
        - srcChain
        - user
      type: object
    CreateCheckoutOrderResponse:
      properties:
        orderUid:
          description: Rampnow order UID (also emitted on webhooks for this order)
          type: string
        redirectUrl:
          description: Hosted checkout URL — open this in the customer's browser
          type: string
        userUid:
          description: >-
            Rampnow customer UID (existing or newly created from the `user`
            payload)
          type: string
      required:
        - orderUid
        - userUid
        - redirectUrl
      type: object
    OrderType:
      enum:
        - unknown
        - buy
        - sell
        - swap
        - payment
        - refill
        - payout
        - cross_border
        - payroll
        - sendout
        - escrow
      type: string
    CreateUserReq:
      description: >-
        CreateUserReq is the customer profile supplied when creating (or
        upserting) a user under a

        partner account. `email` is the unique key — repeated calls for the same
        email return the

        existing user.
      properties:
        address:
          $ref: '#/components/schemas/Address'
          description: Customer's residential address
        businessDetail:
          $ref: '#/components/schemas/BusinessDetail'
          description: Business profile — required when `userType` is `company`
        country:
          description: >-
            Customer's country of residence (ISO 3166-1 alpha-2)


            Supported Countries like DE, US etc. For additional options, see the
            [full list](/quickstart/resources/supported-countries).
          externalDocs:
            description: Supported Countries like DE, US etc.
            url: https://docs.rampnow.io/quickstart/resources/supported-countries
          type: string
        dateOfBirth:
          description: Date of birth, `YYYY-MM-DD`
          type: string
        email:
          description: Customer email; unique per user under a partner
          type: string
        firstName:
          description: Legal first / given name
          type: string
        gender:
          $ref: '#/components/schemas/GenderType'
          description: Customer gender
        lastName:
          description: Legal last / family name
          type: string
        phone:
          description: Phone in E.164 format (e.g. `+14155550100`)
          type: string
        userType:
          $ref: '#/components/schemas/UserType'
          description: '`individual` (default) or `company`'
      required:
        - email
        - firstName
        - lastName
        - phone
        - dateOfBirth
        - gender
        - country
      type: object
    WalletInfo:
      description: >-
        WalletInfo is the destination account for a ramp order — either a crypto
        wallet (for buy) or a

        bank account (for sell). Populate `crytpoAccountDetail` OR
        `bankAccountDetail` depending on the

        destination-leg type.
      properties:
        address:
          description: >-
            Deprecated: use `crytpoAccountDetail.address`. Kept for backward
            compatibility.
          type: string
        associateType:
          $ref: '#/components/schemas/AssociateType'
          description: >-
            Who owns the wallet (`customer`, `partner`, `merchant`); defaults to
            `customer`
        bankAccountDetail:
          $ref: '#/components/schemas/BankAccountDetail'
          description: Bank account destination for fiat payouts
        crytpoAccountDetail:
          $ref: '#/components/schemas/CryptoAccountDetail'
          description: 'On-chain destination account (note: field name has a preserved typo)'
        custodyType:
          $ref: '#/components/schemas/WalletCustodyType'
          description: >-
            Deprecated: use `crytpoAccountDetail.custodyType`. Kept for backward
            compatibility.
        name:
          description: Optional label for the wallet / account
          type: string
      required:
        - address
        - custodyType
      type: object
    Address:
      properties:
        city:
          description: City / locality
          type: string
        country:
          description: >-
            ISO 3166-1 alpha-2 country code


            Supported Countries like DE, US etc. For additional options, see the
            [full list](/quickstart/resources/supported-countries).
          externalDocs:
            description: Supported Countries like DE, US etc.
            url: https://docs.rampnow.io/quickstart/resources/supported-countries
          type: string
        line1:
          description: Street address, line 1
          type: string
        line2:
          description: Street address, line 2 (apt, suite, unit, etc.)
          type: string
        postalCode:
          description: Postal / ZIP code
          type: string
        state:
          description: State / region; ISO 3166-2 subdivision code where applicable
          type: string
        subDivision:
          description: Finer subdivision (county, district) — optional
          type: string
      required:
        - line1
        - city
        - country
        - postalCode
      type: object
    BusinessDetail:
      description: >-
        BusinessDetail is the business profile supplied when `userType` is
        `company`. Rampnow uses this

        for KYB verification.
      properties:
        associatedPersons:
          description: UBOs, directors and signers linked to the business
          items:
            $ref: '#/components/schemas/AssociatedPersonInfo'
          type: array
        businessDescription:
          description: Short description of the business activity
          type: string
        businessLegalName:
          description: Registered legal name of the business
          type: string
        businessType:
          $ref: '#/components/schemas/BusinessType'
          description: Legal form (`corporation`, `llc`, `partnership`, `sole_prop`, …)
        registeredAddress:
          $ref: '#/components/schemas/Address'
          description: Registered / head-office address
      required:
        - businessLegalName
        - businessType
        - businessDescription
        - associatedPersons
      type: object
    GenderType:
      enum:
        - unknown
        - male
        - female
      type: string
    UserType:
      enum:
        - individual
        - company
      type: string
    AssociateType:
      enum:
        - unknown
        - customer
        - partner
        - merchant
        - rampnow
      type: string
    BankAccountDetail:
      description: >-
        BankAccountDetail is the payout/beneficiary bank account. Which fields
        are required varies by

        currency (see the per-currency validation in ValidateBankAccountDetail).
        Check

        constants/bank_details.go for the corporate bank details Rampnow settles
        into for each currency.
      properties:
        accountNumber:
          description: Bank account number (required unless `iban` is supplied)
          type: string
        accountType:
          description: >-
            Account type (e.g. `Savings Account`, `Current Account`) — required
            for some currencies
          type: string
        address:
          description: Account holder's address (single-line string)
          type: string
        bankName:
          description: Name of the bank
          type: string
        bic:
          description: >-
            Bank identifier: SWIFT/BIC for international, IFSC for INR, routing
            code otherwise
          type: string
        branchName:
          description: Bank branch name
          type: string
        country:
          description: >-
            ISO 3166-1 alpha-2 country of the bank account


            Supported Countries like DE, US etc. For additional options, see the
            [full list](/quickstart/resources/supported-countries).
          externalDocs:
            description: Supported Countries like DE, US etc.
            url: https://docs.rampnow.io/quickstart/resources/supported-countries
          type: string
        currency:
          description: >-
            Account currency; drives which fields are required


            Supported Crypto Currencies like EUR, USDT etc. For additional
            options, see the [full
            list](/quickstart/resources/supported-assets).
          externalDocs:
            description: Supported Crypto Currencies like EUR, USDT etc.
            url: https://docs.rampnow.io/quickstart/resources/supported-assets
          type: string
        email:
          description: Account holder's email
          type: string
        iban:
          description: IBAN, when applicable to the currency
          type: string
        name:
          description: Account holder's name
          type: string
        phone:
          description: Account holder's phone number
          type: string
        taxId:
          description: Tax ID for the account holder (e.g. PAN number for INR accounts)
          type: string
        transferCode:
          description: Local rail transfer/routing code (e.g. US ACH routing number)
          type: string
      type: object
    CryptoAccountDetail:
      description: >-
        CryptoAccountDetail identifies the on-chain destination for a crypto
        payout / beneficiary wallet.
      properties:
        address:
          description: On-chain wallet address (EOA or smart-wallet address)
          type: string
        custodyType:
          $ref: '#/components/schemas/WalletCustodyType'
          description: '`hosted` (custodial exchange/broker) or `unhosted` (self-custody)'
        externalAddress:
          description: >-
            Underlying externally-owned account behind a smart wallet;
            smart-wallet accounts only
          type: string
        smartAccountType:
          description: Smart-wallet standard (e.g. `eip_7702`); smart-wallet accounts only
          type: string
      required:
        - custodyType
        - address
      type: object
    WalletCustodyType:
      enum:
        - unknown
        - hosted
        - unhosted
      type: string
    AssociatedPersonInfo:
      description: >-
        AssociatedPersonInfo describes a person linked to a business customer —
        ultimate beneficial

        owners, directors, and authorised signers. At least one associated
        person is normally required

        for KYB (Know-Your-Business).
      properties:
        address:
          $ref: '#/components/schemas/Address'
          description: Residential address
        dateOfBirth:
          description: Date of birth, `YYYY-MM-DD`
          type: string
        email:
          description: Contact email for the person
          type: string
        firstName:
          description: Legal first name
          type: string
        hasControl:
          description: True if this person has effective control of the business
          type: boolean
        hasOwnership:
          description: True if this person owns any stake in the business
          type: boolean
        idDocs:
          description: Government-issued ID documents for KYC
          items:
            $ref: '#/components/schemas/IdDoc'
          type: array
        isDirector:
          description: True if this person is a director / board member
          type: boolean
        isSigner:
          description: True if this person is an authorised signer on the account
          type: boolean
        lastName:
          description: Legal last name
          type: string
        ownershipPercentage:
          description: Ownership percentage held, 0–100
          type: number
        title:
          description: Job title / role at the business (e.g. CEO, CFO)
          type: string
      required:
        - firstName
        - lastName
        - email
        - dateOfBirth
        - idDocs
        - hasOwnership
        - hasControl
        - isSigner
        - isDirector
        - title
      type: object
    BusinessType:
      enum:
        - unknown
        - corporation
        - llc
        - partnership
        - sole_prop
        - cooperative
        - trust
        - other
      type: string
    IdDoc:
      description: >-
        IdDoc is one government-issued identity document supplied for KYC.
        `documentId` carries the

        document number; the *SideUrl fields point at previously-uploaded scans
        of the document (see the

        document upload endpoint — the same URL is passed back here).
      properties:
        backSideUrl:
          description: URL of the uploaded back-side scan/photo (when the document has one)
          type: string
        docSetType:
          $ref: '#/components/schemas/DocSetType'
          description: >-
            Document kind (`passport`, `aadhar_card`, `pan_card`,
            `driving_license`, `national_id`, …)
        documentId:
          description: Document number (Passport number, Aadhar number, PAN, etc.)
          type: string
        expiration:
          description: Document expiry date, when applicable
          format: date-time
          type: string
        frontSideUrl:
          description: URL of the uploaded front-side scan/photo
          type: string
        issuingCountry:
          description: >-
            ISO 3166-1 alpha-2 country that issued the document


            Supported Countries like DE, US etc. For additional options, see the
            [full list](/quickstart/resources/supported-countries).
          externalDocs:
            description: Supported Countries like DE, US etc.
            url: https://docs.rampnow.io/quickstart/resources/supported-countries
          type: string
      required:
        - docSetType
        - documentId
        - frontSideUrl
        - backSideUrl
      type: object
    DocSetType:
      enum:
        - unknown
        - certificate_of_good_standing
        - certificate_of_incumbency
        - certificate_of_incorporation
        - business_license
        - commercial_register_extract
        - register_of_shareholders
        - memorandum_and_articles_of_association
        - internal_control_procedures
        - aml_policies
        - compliance_officer_details
        - ubo
        - passport
        - utility_bill
        - pep_declaration
        - sanctions_exposure
        - financial
        - aadhar_card
        - pan_card
        - national_id
        - other
        - driving_license
        - ssn
        - itin
        - tin
      type: string
  securitySchemes:
    apiKeyAuth:
      description: >-
        Partner API key sent in the X-RAMPNOW-API-KEY header. Every request must
        ALSO send X-RAMPNOW-TIMESTAMP (unix seconds) and X-RAMPNOW-SIGN (hex
        HMAC-SHA256 of `timestamp + METHOD + requestURI + rawBody`, keyed with
        your API secret). See the Authentication guide.
      in: header
      name: X-RAMPNOW-API-KEY
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.