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

# Create fiat account for sell and pay

> <Warning>This step is crucial for optimal performance. Creating the fiat account in advance prevents delays during the first Sell and Pay transaction.</Warning> Creates a fiat account linked to the customer for Sell and Pay operations. Use this endpoint to pre-create the account and avoid latency during the first Sell and Pay request.

Call this endpoint after KYC completion and before starting any Sell and Pay transaction. If not created beforehand, the account will be automatically created during the first operation, adding extra delay.

<Note>**Country support**: Only applicable to Argentina (ARS). For Colombia (COP), Sell and Pay does not require a customer fiat account.</Note>

<Note>
  **Only applicable to Argentina (ARS).** For Colombia (COP), Sell and Pay does not require a customer fiat account.
</Note>


## OpenAPI

````yaml ramps-api/openapi.json POST /api/v1/sellAndPays/fiatAccounts/
openapi: 3.1.0
info:
  title: Ripio Ramp API
  version: v1
  description: >-
    API for Ripio ramp services, enabling partners to integrate On-Ramp,
    Off-Ramp, customer management, KYC processes, and other financial
    functionalities. This API is RESTful, uses JSON for requests and responses,
    and standard HTTP status codes. This document is based on the
    'onramp-api.pdf' provided and aims to be compliant with OpenAPI
    Specification v3.1.0. The PDF indicates that the API documentation is a
    draft and subject to change.
servers:
  - url: https://skala-sandbox.ripio.com
    description: Sandbox environment
  - url: https://skala.ripio.com
    description: Production environment
security:
  - BearerToken: []
tags:
  - name: Authentication
    description: Operations related to API authentication and authorization.
  - name: Support Tickets
    description: >-
      Operations for raising and tracking customer support tickets with Ripio's
      support team. This feature must be enabled for your account by the Ripio
      team.
  - name: Customers
    description: Operations related to customer management.
  - name: KYC
    description: Operations related to Know Your Customer processes.
  - name: Fiat Accounts
    description: Operations related to managing fiat accounts and their requirements.
  - name: Quotes
    description: Operations related to obtaining and managing conversion quotes.
  - name: On-Ramp
    description: Operations related to fiat-to-crypto (on-ramp) processes.
  - name: Off-Ramp
    description: Operations related to crypto-to-fiat (off-ramp) processes.
  - name: Transactions
    description: Operations related to listing and managing all transaction types.
  - name: Networks
    description: >-
      Operations related to retrieving available deposit and withdrawal
      networks.
  - name: Rates
    description: Operations related to retrieving market rates.
  - name: Transaction Limits
    description: >-
      Operations related to retrieving per-transaction limits by currency and
      ramp operation.
  - name: Sandbox
    description: Operations specific to the sandbox environment for testing purposes.
  - name: Webhooks
    description: Webhook event notifications from Ripio Ramp API.
  - name: Sell and Pay
    description: >-
      Endpoints for managing Sell and Pay transactions, which allow customers to
      convert cryptocurrency to fiat currency and pay merchants via QR codes
paths:
  /api/v1/sellAndPays/fiatAccounts/:
    post:
      tags:
        - Sell and Pay
      summary: Create fiat account for sell and pay
      description: >-
        <Warning>This step is crucial for optimal performance. Creating the fiat
        account in advance prevents delays during the first Sell and Pay
        transaction.</Warning> Creates a fiat account linked to the customer for
        Sell and Pay operations. Use this endpoint to pre-create the account and
        avoid latency during the first Sell and Pay request.


        Call this endpoint after KYC completion and before starting any Sell and
        Pay transaction. If not created beforehand, the account will be
        automatically created during the first operation, adding extra delay.


        <Note>**Country support**: Only applicable to Argentina (ARS). For
        Colombia (COP), Sell and Pay does not require a customer fiat
        account.</Note>
      operationId: createSellAndPayFiatAccount
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - customerId
              properties:
                customerId:
                  type: string
                  format: uuid
                  description: >-
                    The unique identifier of the customer for whom to create the
                    fiat account.
                  example: 964c8c8c-573d-4f8f-bd2e-8645c3124e74
      responses:
        '201':
          description: Fiat account successfully created. Returns an empty response body.
          content:
            application/json:
              schema:
                type: object
                description: Empty response body on successful creation
        '400':
          description: >-
            Bad Request. Possible causes:

            - KYC is not approved for the customer.

            - The customer's account country does not require a fiat account for
            Sell and Pay (e.g. Colombia).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                KycNotApproved:
                  summary: KYC not approved
                  value:
                    code: 20007
                    type: KycNotApprovedException
                    detail:
                      message: >-
                        KYC for customer '50277a14-2376-4e42-985e-4bc1f7303dc3 -
                        eduardo.perez@ripio.com' is not approved.
                    status: 400
                FiatAccountNotRequired:
                  summary: Fiat account not required for the country (e.g., Colombia)
                  value:
                    code: 20049
                    type: SellAndPayFiatAccountNotRequiredException
                    detail:
                      message: >-
                        Sell and Pay for country 'CO' does not require a fiat
                        account.
                    status: 400
                InvalidPaymentMethod:
                  summary: Payment method not enabled for the Account
                  value:
                    code: 20050
                    type: InvalidFiatAccountPaymentMethodException
                    detail:
                      message: >-
                        The payment method 'bank_transfer' does not exist or is
                        disabled for this Account.
                    status: 400
        '401':
          description: Unauthorized - Invalid or missing access token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                code: 40001
                type: NotAuthenticated
                detail:
                  message: Authentication credentials were not provided.
                  code: not_authenticated
                status: 401
        '403':
          description: >-
            Forbidden - QR payments are not enabled for this account. Every Sell
            and Pay endpoint requires QR payments to be enabled; contact Ripio
            to enable it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                code: 40003
                type: QrPaymentsNotEnabledException
                detail:
                  message: QR payments are not enabled for this account.
                status: 403
        '404':
          description: Not Found - Customer not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                code: 40004
                type: NotFound
                detail:
                  message: Customer not found.
                  code: not_found
                status: 404
      security:
        - BearerToken: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        code:
          type: integer
          description: Application-specific error code.
        type:
          type: string
          description: Type of error or exception.
        detail:
          type: object
          properties:
            message:
              type: string
              description: Detailed error message.
          additionalProperties: true
        status:
          type: integer
          description: HTTP status code.
      required:
        - code
        - type
        - detail
        - status
  securitySchemes:
    BearerToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Access token obtained via
        [/oauth2/token/](/ramps-api/authentication/acquire-access-token). Use as
        `Authorization: Bearer <access_token>`.

````