OpenAPI Specification
openapi: 3.1.0
info:
title: Ualá Bis API v2 Authentication Orders API
description: Token issuance for the Ualá Bis API Cobros Online v2. All integrations require generating an access token via a client-credentials style request (username, client_id, client_secret_id, grant_type). Credentials for both test and production environments are delivered in the Ualá Bis welcome email and in the mobile/web applications. Generated by API Evangelist from the published documentation — 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/authentication/create
servers:
- url: https://auth.developers.ar.ua.la/v2/api
description: Production
- url: https://auth.stage.developers.ar.ua.la/v2/api
description: Test (stage)
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:
StatusChange:
type: object
properties:
new_status:
type: string
old_status:
type: string
updated_date:
type: string
format: date-time
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'
Tax:
type: object
properties:
percentage:
type: string
held_tax:
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
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).
Commission:
type: object
properties:
amount:
type: string
percentage:
type: string
type:
type: string
Error:
type: object
properties:
code:
type: string
enum:
- request_error
- response_error
- api_error
message:
type: string
errors:
type: array
items:
type: string
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
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
Customer:
type: object
properties:
name:
type: string
card:
$ref: '#/components/schemas/Card'
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
Unauthorized:
description: Missing or invalid credentials.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example:
message: Unauthorized
ApiError:
description: Internal error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: api_error
message: Something bad happened. Please try again
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