Ualá Orders API

Payment orders (checkout)

Operations 3

POST /checkout Crear orden (create a payment order) #
GET /orders/{uuid} Obtener orden (get an order) #
GET /orders Obtener órdenes (list orders by filter) #

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/ual-orders-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 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.

OpenAPI Specification

ual-orders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ualá Bis API Cobros Online v2 Orders API
  description: Ualá Bis online payments (checkout) API for Argentina. Creating an order returns a unique hosted checkout link where the buyer selects a payment method (credit card, debit card, and QR coming soon). Orders can be retrieved individually, listed with filters and cursor pagination, and refunded within 90 days. Status changes are pushed to a merchant-supplied notification_url via webhooks. Generated by API Evangelist from the published documentation at developers.ualabis.com.ar — the provider does not publish a machine-readable spec.
  version: '2'
  contact:
    email: developers.ualabis@uala.com.ar
    url: https://developers.ualabis.com.ar/
  x-apievangelist:
    provider: ual
    generated: '2026-07-21'
    method: generated
    source: https://developers.ualabis.com.ar/v2
servers:
- url: https://checkout.developers.ar.ua.la/v2/api
  description: Production
- url: https://checkout.stage.developers.ar.ua.la/v2/api
  description: Test (stage)
security:
- bearerAuth: []
tags:
- name: Orders
  description: Payment orders (checkout)
paths:
  /checkout:
    post:
      operationId: createOrder
      tags:
      - Orders
      summary: Crear orden (create a payment order)
      description: Creates a payment order and returns a unique checkout link where the buyer selects a payment method. Requires a bearer access token from the auth API.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
            example:
              amount: '3005'
              description: Descripción de la venta
              callback_fail: https://www.google.com/search?q=failed
              callback_success: https://www.google.com/search?q=success
              notification_url: https://www.notificationurl.com
              external_reference: external_reference
      responses:
        '200':
          description: Order created; response includes the hosted checkout link.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderResponse'
              example:
                uuid: 613d8938-8dab-41fd-9905-09d52e5312d0
                amount: 3005
                status: PENDING
                external_reference: 09d52e5312d009d52e5312d09905
                links:
                  checkout_link: https://uala-checkout.com/orders/66fe0b6e3c4cd5253c65a80e547
                  success: https://www.google.com/search?q=success
                  failed: https://www.google.com/search?q=failed
        '400':
          $ref: '#/components/responses/RequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ApiError'
  /orders/{uuid}:
    get:
      operationId: getOrder
      tags:
      - Orders
      summary: Obtener orden (get an order)
      description: Retrieves a payment order by its identifier. Order status is one of PENDING, PROCESSED, APPROVED, REJECTED, REFUNDED. Only APPROVED orders carry populated taxes and commissions.
      parameters:
      - name: uuid
        in: path
        required: true
        description: Unique order identifier.
        schema:
          type: string
      responses:
        '200':
          description: The order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '400':
          $ref: '#/components/responses/RequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ApiError'
  /orders:
    get:
      operationId: listOrders
      tags:
      - Orders
      summary: Obtener órdenes (list orders by filter)
      description: Lists orders for the account with optional filters. Returns 10 orders by default; the limit must be less than 50. Pagination is cursor-based via last_search_key + has_more_items.
      parameters:
      - name: limit
        in: query
        required: false
        description: Maximum number of orders to return (default 10; must be less than 50).
        schema:
          type: integer
          default: 10
          maximum: 50
      - name: fromDate
        in: query
        required: false
        description: Order-creation start date (YYYY-MM-DD).
        schema:
          type: string
          format: date
      - name: toDate
        in: query
        required: false
        description: Order-creation end date (YYYY-MM-DD).
        schema:
          type: string
          format: date
      - name: status
        in: query
        required: false
        description: Order status filter.
        schema:
          type: string
          enum:
          - PENDING
          - PROCESSED
          - APPROVED
          - REJECTED
      - name: last_search_key
        in: query
        required: false
        description: Cursor returned by a previous page to fetch the next page of orders.
        schema:
          type: string
      responses:
        '200':
          description: A page of orders.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderList'
        '400':
          $ref: '#/components/responses/RequestError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ApiError'
components:
  schemas:
    OrderList:
      type: object
      properties:
        last_search_key:
          type: string
          description: Cursor to request the next page.
        has_more_items:
          type: boolean
          description: Whether more items remain to be returned.
        orders:
          type: array
          items:
            $ref: '#/components/schemas/Order'
    Commission:
      type: object
      properties:
        amount:
          type: string
        percentage:
          type: string
        type:
          type: string
    CreateOrderResponse:
      type: object
      properties:
        uuid:
          type: string
        amount:
          type: number
        status:
          type: string
          enum:
          - PENDING
        external_reference:
          type: string
        links:
          type: object
          properties:
            checkout_link:
              type: string
              description: Hosted checkout page for the buyer.
            success:
              type: string
            failed:
              type: string
    Order:
      type: object
      properties:
        uuid:
          type: string
        amount:
          type: number
        status:
          type: string
          enum:
          - PENDING
          - PROCESSED
          - APPROVED
          - REJECTED
          - REFUNDED
        external_reference:
          type: string
        commissions:
          type: array
          description: Populated only for APPROVED orders.
          items:
            $ref: '#/components/schemas/Commission'
        taxes:
          type: array
          description: Populated only for APPROVED orders.
          items:
            $ref: '#/components/schemas/Tax'
        customer:
          $ref: '#/components/schemas/Customer'
        changelog:
          type: array
          items:
            $ref: '#/components/schemas/StatusChange'
        created_date:
          type: string
          format: date-time
        updated_date:
          type: string
          format: date-time
    CreateOrderRequest:
      type: object
      required:
      - amount
      - description
      - callback_fail
      - callback_success
      properties:
        amount:
          type: string
          description: Total amount to be charged at checkout (min 25.00, max 9999999.00).
        description:
          type: string
          description: Order description shown at checkout.
        callback_fail:
          type: string
          description: Redirect link on failed payment.
        callback_success:
          type: string
          description: Redirect link on successful payment.
        notification_url:
          type: string
          description: Status-notification webhook URL (optional).
        external_reference:
          type: string
          description: Merchant reference for the order, e.g. an internal ID (optional).
    StatusChange:
      type: object
      properties:
        new_status:
          type: string
        old_status:
          type: string
        updated_date:
          type: string
          format: date-time
    Card:
      type: object
      properties:
        holder_name:
          type: string
        issuer:
          type: string
          description: Card network/issuer label, e.g. MASTER.
        pan:
          type: string
          description: Masked card number.
        installments:
          type: object
          properties:
            number:
              type: integer
            total:
              type: number
            financial_cost:
              type: number
            value_per_installment:
              type: number
    Tax:
      type: object
      properties:
        percentage:
          type: string
        held_tax:
          type: string
        type:
          type: string
    Customer:
      type: object
      properties:
        name:
          type: string
        card:
          $ref: '#/components/schemas/Card'
    Error:
      type: object
      properties:
        code:
          type: string
          enum:
          - request_error
          - response_error
          - api_error
        message:
          type: string
        errors:
          type: array
          items:
            type: string
  responses:
    Forbidden:
      description: Expired token / explicit deny.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
          example:
            message: User is not authorized to access this resource with an explicit deny
    RequestError:
      description: Invalid request payload or query string.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: request_error
            message: Invalid request payload
            errors:
            - Invalid amount value. Amount must have only positive numbers and a single point
            - Invalid amount value. Minimum amount is 25.00
            - Invalid amount value. Maximum amount is 9999999.00
    ApiError:
      description: Internal error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: api_error
            message: Something bad happened. Please try again
    Unauthorized:
      description: Missing or invalid credentials.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
          example:
            message: Unauthorized
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Access token obtained from POST https://auth.developers.ar.ua.la/v2/api/auth/token with username, client_id, client_secret_id and grant_type=client_credentials. Credentials are issued in the Ualá Bis welcome email and in the mobile/web apps, for both test and production environments.