openapi: 3.0.1 info: title: Default module description: Conomy API specification for authentication, identities, accounts, payments, checkout sessions, and related resources. version: 1.0.0 tags: - name: Auth - name: Identities - name: Payments - name: Settlement - name: Accounts - name: Payment-methods - name: Payment-attempts - name: Payment-links - name: internal - name: Checkout-sessions - name: Settlement-transactions - name: Rules - name: Customers paths: /auth: post: summary: Authentication deprecated: false description: Authenticates a client application and returns an access token. operationId: auth tags: - Auth parameters: - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: false example: '' schema: type: string requestBody: content: application/json: schema: type: object properties: clientId: type: string description: >- The unique identifier assigned to the client requesting authentication. clientSecret: type: string description: The secret key associated with the client ID required: - clientSecret - clientId examples: {} responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: accessToken: type: string description: >- The JWT (JSON Web Token) issued. It is used to authorize API requests. tokenType: type: string description: ndicates the type of token issued. expiresIn: type: number description: >- The duration (in seconds) for which the access token remains valid before it expires. required: - accessToken - tokenType - expiresIn headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: [] /identities/{id}/permissions: post: summary: Add Permissions over another identity deprecated: false description: >- Allows an identity to operate in behalf of an other from the same client id operationId: add-permissions tags: - Identities parameters: - name: id in: path description: Unique identifier for the identity that is receiving permissions required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/Scopes' example: - resource: IDENTITY reference: f47ac10b-58cc-4372-a567-0e02b2c3d479 permissions: - admin responses: '201': description: Resource created successfully. content: application/json: schema: type: object properties: {} headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] get: summary: Get Permissions of an identity deprecated: false description: >- Permissons allows an identity to operate in behalf of an other from the same client id, this endpoint retrieves the list of permissions an identity has operationId: get-permissions tags: - Identities parameters: - name: id in: path description: Unique identifier for the identity. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: array items: $ref: '#/components/schemas/Scopes' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /identities/{id}/permissions/{toremoveId}: delete: summary: Remove Permissions over another identity deprecated: false description: >- Permissons allows an identity to operate in behalf of an other from the same client id, this endpoint removes an specific permission operationId: remove-permission tags: - Identities parameters: - name: id in: path description: Identity that has permissions over another identity required: true schema: type: string - name: toremoveId in: path description: Identity id to be removed required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '204': description: Request processed successfully. No response body is returned. content: application/json: schema: type: object properties: {} headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /identities: post: summary: Create Identity deprecated: false description: Creates a new identity (user or organization). operationId: create-identity tags: - Identities parameters: - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: ConomyApp/2.1.1 schema: type: string requestBody: content: application/json: schema: type: object properties: type: $ref: '#/components/schemas/identity-type' name: type: string description: ' The name of the entity (for users) or the official name (for organizations).' nickname: type: string description: An alternative or preferred name for the entity. email: type: string format: email description: The email address associated with the entity. phone: type: string description: >- he phone number linked to the entity. Include +(phone country code) documentNumber: type: string description: >- The document number associated with the entity for identification purposes. documentType: type: string description: >- The type of document (e.g., PASSPORT, NATIONAL_ID, RUT, CURP, etc). idv: type: string description: Identity verification reference securityOptions: type: object properties: twoFactorAuth: type: boolean description: Indicates whether two-factor authentication is enabled signTrx: type: boolean description: >- Determines if the entity is required to sign transactions signAccountsOperations: type: boolean description: >- Determines if the entity is required to sign account-related operations accessControl: type: object properties: scopes: type: array items: type: object properties: resource: type: string description: >- Kind of resource we are giving access to (e.g., IDENTITY) reference: type: string description: Reference which identificates the resource permissions: type: array items: type: string description: >- Permissions allowed to perform on behalf of the resource required: - resource - reference - permissions description: List of scopes required: - scopes description: Dashboard access control assigned to the identity country: $ref: '#/components/schemas/country' children: type: array items: type: object properties: id: type: string description: ID name: type: string email: type: string required: - id - email - name description: >- A list of related entities (e.g., subsidiaries for organizations or dependent users externalId: type: string description: External reference ID (client purpose). lastname: type: string description: The last name of the user (if applicable). bankAccount: type: object properties: accountNumber: type: string description: The bank account number. nickname: type: string description: A friendly name assigned to the bank account. bank: type: string description: The name of the bank where the account is held. currency: $ref: '#/components/schemas/currency' typeAccount: type: string description: The type of bank account. CHECKING_ACOUNT, SAVINGS accountHolder: type: string description: The full name of the account holder. accountHolderDni: type: string description: >- The national identification number or tax ID of the account holder. country: $ref: '#/components/schemas/country' description: A reference to the associated bank account required: - accountNumber - bank - currency - accountHolder - accountHolderDni - country rules: type: object properties: {} description: 'Custom rules or policies applicable to the entity. ' required: - name - email - phone - documentNumber - documentType - idv example: type: USER name: Juan Pérez nickname: juanp email: juan.perez-3@example.com phone: '+56912345674' documentType: RUT documentNumber: '123125' status: ACTIVE idv: iv-23123 country: CHL securityOptions: twoFactorEnabled: false accessControl: scopes: - resource: IDENTITY reference: 6808d26af21dc6b97c1cc12a permissions: - account:write - account:read children: [] responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/identity' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] get: summary: Get Identities deprecated: false description: Lists identities with optional filters and pagination. operationId: get-identities tags: - Identities parameters: - name: type in: query description: Filters identities by type (`USER` or `ORGANIZATION`). required: false schema: $ref: '#/components/schemas/identity-type' - name: email in: query description: identity email required: false schema: type: string format: email - name: documentNumber in: query description: identity document number required: false schema: type: string - name: phone in: query description: identity phone number required: false schema: type: string - name: country in: query description: Filters identities by country code. required: false schema: $ref: '#/components/schemas/country' - name: status in: query description: identity status required: false schema: type: string - name: limit in: query description: Specifies the maximum number of items to return in a single request. required: false schema: type: string - name: next in: query description: A cursor indicating the position of the last retrieved item. required: false schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: ConomyApp schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/identity' description: >- An array containing the list of retrieved identities based on the provided pagination parameters. pagination: $ref: '#/components/schemas/pagination' required: - data - pagination headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /identities/{id}: get: summary: Get Identity deprecated: false description: Retrieves a single identity by ID. operationId: get-identity tags: - Identities parameters: - name: id in: path description: Unique identifier for the identity. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: ConomyApp schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/identity' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] patch: summary: Update Identity deprecated: false description: Updates mutable fields of an existing identity. operationId: update-identity tags: - Identities parameters: - name: id in: path description: Unique identifier for the identity. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: type: object properties: name: type: string description: ' The name of the entity (for users) or the official name (for organizations).' nickname: type: string description: An alternative or preferred name for the entity. securityOptions: type: object properties: twoFactorAuth: type: boolean description: Indicates whether two-factor authentication is enabled signTrx: type: boolean description: >- Determines if the entity is required to sign transactions signAccountsOperations: type: boolean description: >- Determines if the entity is required to sign account-related operations accessControl: type: object properties: scopes: type: array items: type: object properties: resource: type: string description: >- Kind of resource we are giving access to (e.g., IDENTITY) reference: type: string description: Reference which identificates the resource permissions: type: array items: type: string description: >- Permissions allowed to perform on behalf of the resource required: - resource - reference - permissions description: List of scopes required: - scopes description: Dashboard access control assigned to the identity country: $ref: '#/components/schemas/country' children: type: array items: type: object properties: id: type: string description: ID name: type: string email: type: string required: - id - email - name description: >- A list of related entities (e.g., subsidiaries for organizations or dependent users externalId: type: string description: External reference ID (client purpose). lastname: type: string description: The last name of the user (if applicable). bankAccount: type: object properties: externalId: type: string description: External reference identifier for integrations. accountNumber: type: string description: The bank account number. nickname: type: string description: A friendly name assigned to the bank account. bank: type: string description: The name of the bank where the account is held. currency: $ref: '#/components/schemas/currency' typeAccount: type: string description: The type of bank account. CHECKING_ACOUNT, SAVINGS accountHolder: type: string description: The full name of the account holder. accountHolderDni: type: string description: >- The national identification number or tax ID of the account holder. country: type: string required: - accountNumber - bank - currency - accountHolder - accountHolderDni - country rules: type: object properties: {} description: 'Custom rules or policies applicable to the entity. ' gender: type: string description: Gender information (if applicable address: description: Address information. $ref: '#/components/schemas/address' example: nickname: Thomas responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: id: description: ' Unique identifier for the entity.' $ref: '#/components/schemas/_id' type: $ref: '#/components/schemas/identity-type' name: type: string description: ' The name of the entity (for users) or the official name (for organizations).' nickname: type: string description: An alternative or preferred name for the entity. email: type: string format: email description: The email address associated with the entity. phone: type: string description: >- the phone number linked to the entity. Include +(phone country code) documentNumber: type: string description: >- The document number associated with the entity for identification purposes. documentType: $ref: '#/components/schemas/document-type' idv: type: string description: Identity verification reference securityOptions: type: object properties: twoFactorAuth: type: boolean description: Indicates whether two-factor authentication is enabled signTrx: type: boolean description: >- Determines if the entity is required to sign transactions signAccountsOperations: type: boolean description: >- Determines if the entity is required to sign account-related operations accessControl: type: object properties: scopes: type: array items: type: object properties: resource: type: string description: >- Kind of resource we are giving access to (e.g., IDENTITY) reference: type: string description: Reference which identificates the resource permissions: type: array items: type: string description: >- Permissions allowed to perform on behalf of the resource required: - resource - reference - permissions description: List of scopes required: - scopes description: Dashboard access control assigned to the identity country: $ref: '#/components/schemas/country' children: type: array items: type: object properties: id: type: string description: ID name: type: string email: type: string required: - id - email - name description: >- A list of related entities (e.g., subsidiaries for organizations or dependent users status: type: string description: >- The current status of the entity. PENDING, PENDING_EMAIL_VALIDATION, PENDING_PHONE_VALIDATION, SCREENING, ACTIVE externalId: type: string description: External reference ID (client purpose). lastname: type: string description: The last name of the user (if applicable). bankAccount: description: A reference to the associated bank account $ref: '#/components/schemas/bank-account' rules: type: object properties: {} description: 'Custom rules or policies applicable to the entity. ' gender: type: string description: Gender information (if applicable kyc: type: object properties: {} description: Information related to Know Your Customer (KYC) compliance watchList: type: object properties: {} description: Watchlist information for compliance or fraud detection. extendedData: type: array items: type: string description: Additional data. createdAt: type: string format: date-time description: Creation date UTC format. updatedAt: type: string format: date-time description: Time of last update made to the entity, UTC format. address: description: Address information. $ref: '#/components/schemas/address' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] delete: summary: Delete Identity deprecated: false description: Deletes an identity by ID. operationId: delete-identity tags: - Identities parameters: - name: id in: path description: Unique identifier for the identity. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: ConomyApp schema: type: string responses: '204': description: Request processed successfully. No response body is returned. content: application/json: schema: type: object properties: {} headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /identities/{id}/children: post: summary: Add Child to Identity Children deprecated: false description: Add children to an identity. The _id as path param is the identityId. operationId: add-children tags: - Identities parameters: - name: id in: path description: Unique identifier for the identity. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: type: object properties: children: type: array items: $ref: '#/components/schemas/_id' description: >- Array of identity ids (strings) that are going to be linked as child to the identityId father required: - children example: children: - 1a5925ac-4629-f7bf-db28-ac0f655e3eef - 3cbf2e28-ff31-804c-829e-bf97ed3d44a2 responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/identity' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] delete: summary: Remove Child from Children deprecated: false description: Removes one or more child identities from a parent identity. operationId: remove-children tags: - Identities parameters: - name: id in: path description: Unique identifier for the identity. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: type: object properties: children: type: array items: $ref: '#/components/schemas/_id' description: >- Identity Ids of those identities that are going to be removed from the list of children of that specific father required: - children example: children: - 67fee5eb0bfde89026114369 responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/identity' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /payments: post: summary: Create Payment deprecated: false description: >- When creating a transaction, this endpoint provides a payment method and a provider system to process the payment. operationId: create-payment tags: - Payments parameters: - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: type: object properties: externalId: type: string description: External reference identifier for integrations. identityId: type: string description: >- Identifier linking the transaction to a specific user or organization. identityExternalId: type: string description: >- External reference identifier for the identity associated with the transaction. accountNumber: type: string description: The account number involved in the transaction. totalAmount: type: string description: The total amount of the transaction. currency: $ref: '#/components/schemas/currency' description: type: string description: A brief description of the transaction. type: $ref: '#/components/schemas/payment-type' purchaseAmount: type: string description: The amount paid in the transaction. purchaseCurrency: $ref: '#/components/schemas/currency' expiresAt: type: string description: >- Timestamp indicating when the transaction expires, if applicable. origins: type: array description: A list of sources for the transaction. items: $ref: '#/components/schemas/payment-node' destinations: type: array description: A list of destinations for the transaction. items: $ref: '#/components/schemas/payment-node' required: - externalId - identityId - accountNumber - totalAmount - currency - type example: identityId: 679c482ee4420cb5b0966c9a accountNumber: '123456' product: ARS:ARS type: PAYMENT purchaseAmount: '100' purchaseCurrency: ARS currency: ARS origins: - name: ETPAY type: PAYMENT_INITATION amount: '100' currency: ARS paymentInitiation: origin: ETPAY referenceId: external_payment_id_1 destinations: - type: ACCOUNT amount: '100' currency: ARS identity: userId: 679c482ee4420cb5b0966c9a name: Juan Pérez lastname: Zúñiga nickname: Juanpe dni: '12312252' account: accountNumber: '123456' responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/payment' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] get: summary: Get Payments deprecated: false description: Lists payments with filtering and pagination options. operationId: get-payments tags: - Payments parameters: - name: identityId in: query description: Identity Id required: false example: 1234a schema: type: string - name: type in: query description: Filters payments by payment type. required: false example: PURCHASE schema: $ref: '#/components/schemas/payment-type' - name: accountNumber in: query description: Account Number required: false example: '1234' schema: type: string - name: status in: query description: Payment status required: false example: CREATED schema: type: string - name: startDate in: query description: '(dd/mm/yyyy) Start date filters created Date min ' required: false example: 01/04/2025 schema: type: string - name: endDate in: query description: (dd/mm/yyyy) End date filters created Date max required: false example: 08/04/2025 schema: type: string - name: sort in: query description: Sorts the results by param:asc | param:desc required: false example: createdAt:desc schema: type: string - name: limit in: query description: Specifies the maximum number of items to return in a single request. required: false example: '50' schema: type: string - name: offset in: query description: Skips the input value from the current view required: false example: '0' schema: type: string - name: checkoutSessionId in: query description: checkout session Id required: false schema: type: string - name: conomyhq-api-version in: header description: 'v1: empty ; v2: 24-04-2025' required: false example: 24-04-2025 schema: type: string default: none, is the first API version - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: pagination: $ref: '#/components/schemas/pagination-cursor' description: Pagination cursor object results: type: array items: type: object properties: id: $ref: '#/components/schemas/_id' externalId: type: string description: External reference identifier for integrations. identityId: type: string description: >- Identifier linking the transaction to a specific user or organization. identityExternalId: type: string description: >- External reference identifier for the identity associated with the transaction. accountNumber: type: string description: The account number involved in the transaction. totalAmount: type: string description: The total amount of the transaction. currency: $ref: '#/components/schemas/currency' description: type: string description: A brief description of the transaction. product: type: string description: >- The product or service related to the transaction. purchaseCurrency:Currency status: type: string description: >- The current status of the transaction (e.g., PENDING, AUTHORIZED, CAPTURED, ATTEMPT, REFUNDED). type: $ref: '#/components/schemas/payment-type' purchaseAmount: type: string description: The amount paid in the transaction. purchaseCurrency: $ref: '#/components/schemas/currency' fees: type: array description: A list of fees associated with the transaction. items: $ref: '#/components/schemas/fee' createdAt: type: string description: >- Timestamp indicating when the transaction was created. updatedAt: type: string description: >- Timestamp indicating the last update to the transaction. expiresAt: type: string description: >- Timestamp indicating when the transaction expires, if applicable. capturedAt: type: string description: >- Timestamp indicating when the transaction was captured. authorizedAt: type: string description: >- Timestamp indicating when the transaction was authorized. refundedAt: type: string description: >- Timestamp indicating when the transaction was refunded, if applicable. origins: type: array description: A list of sources for the transaction. items: $ref: '#/components/schemas/payment-node' destinations: type: array description: A list of destinations for the transaction. items: $ref: '#/components/schemas/payment-node' settlement: type: string description: Settlement period for the transaction. required: - id - externalId - identityId - accountNumber - totalAmount - currency - product - status - type - purchaseAmount - purchaseCurrency - fees - createdAt - updatedAt - origins - destinations description: Items from the current page required: - results - pagination headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /payments/{id}/authorized: post: summary: Authorize Payment deprecated: false description: >- This endpoint authorizes a transaction before it is captured, ensuring that the payment method has sufficient funds or credit availability. Authorization does not finalize the payment but reserves the amount until the capture is completed. operationId: authorize-payment tags: - Payments parameters: - name: id in: path description: Unique identifier of the payment to authorize. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/payment' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /payments/{id}/captured: post: summary: Capture Payment deprecated: false description: >- Indicates that the payment has been successfully captured. At this stage, the transaction has been confirmed, and the funds have been debited from the payment source. However, the funds may still be in transit before being fully received. operationId: capture-payment tags: - Payments parameters: - name: id in: path description: Unique identifier for the payment. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: id: $ref: '#/components/schemas/_id' externalId: type: string description: External reference identifier for integrations. identityId: type: string description: >- Identifier linking the transaction to a specific user or organization. identityExternalId: type: string description: >- External reference identifier for the identity associated with the transaction. accountNumber: type: string description: The account number involved in the transaction. totalAmount: type: string description: The total amount of the transaction. currency: $ref: '#/components/schemas/currency' description: type: string description: A brief description of the transaction. product: type: string description: >- The product or service related to the transaction. purchaseCurrency:Currency status: type: string description: >- The current status of the transaction (e.g., PENDING, AUTHORIZED, CAPTURED, ATTEMPT, REFUNDED). type: $ref: '#/components/schemas/payment-type' purchaseAmount: type: string description: The amount paid in the transaction. purchaseCurrency: $ref: '#/components/schemas/currency' fees: type: array description: A list of fees associated with the transaction. items: $ref: '#/components/schemas/fee' createdAt: type: string description: Timestamp indicating when the transaction was created. updatedAt: type: string description: Timestamp indicating the last update to the transaction. expiresAt: type: string description: >- Timestamp indicating when the transaction expires, if applicable. capturedAt: type: string description: Timestamp indicating when the transaction was captured. authorizedAt: type: string description: Timestamp indicating when the transaction was authorized. refundedAt: type: string description: >- Timestamp indicating when the transaction was refunded, if applicable. origins: type: array description: A list of sources for the transaction. items: $ref: '#/components/schemas/payment-node' destinations: type: array description: A list of destinations for the transaction. items: $ref: '#/components/schemas/payment-node' required: - id - externalId - identityId - accountNumber - totalAmount - currency - product - status - type - purchaseAmount - purchaseCurrency - createdAt - updatedAt - origins - destinations headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /payments/{id}: get: summary: Get Payment deprecated: false description: Retrieves a payment by ID. operationId: get-payment tags: - Payments parameters: - name: id in: path description: Unique identifier for the payment. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/payment' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /payments/received: post: summary: Receive Payment Provider Notification deprecated: false description: >- Indicates that the funds have been received and are available in the destination account. This represents the final stage of the payment process, where the funds are no longer in transit. The next step is to validate that the funds have been settled after the reconciliation process with the payment provider. {% hint style="info" %} **Info hints** This endpoint is only available in the sandbox environment to simulate the receipt of funds. In production, this step is triggered by the payment provider through a webhook or callback. {% endhint %} operationId: payment-received tags: - Payments parameters: - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: type: object properties: transactionId: type: string description: transaction id signature: type: string description: provider signature required: - transactionId - signature example: id: YNgma4fqAjwIftRM5Za6D responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/payment' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /client-url: post: summary: Client Transaction's Notification Webhook deprecated: false description: >- Webhook to notify about the transaction status updates. Will notify 3 possible states: CAPTURED, RECEIVED,FAILED Signature Format Algorithm: HMAC-SHA256 Length: 64-character hexadecimal string Computation: The signature is generated by hashing the full JSON body (excluding the signature field) using HMAC-SHA256 with the secret key. Signature Generation Example (Node.js) Before sending the webhook, the signature must be computed: const crypto = require('crypto'); const secret = "WEBHOOK_SECRET"; // Shared secret key const payload = JSON.stringify({ event: "Transaction.Captured", data: { transaction: { id: "67a0307eaddea901a60144ec", purchaseAmount: "50000", totalAmount: "50000", externalId: "123456", currency: "COP", status: "CAPTURED" } } }); // Generate HMAC-SHA256 signature const signature = crypto .createHmac('sha256', secret) .update(payload) .digest('hex'); // Add the signature to the payload const signedPayload = { ...JSON.parse(payload), signature }; console.log(signedPayload); operationId: webhook tags: - Payments - Settlement parameters: [] responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: event: description: e.g. Transaction.Received type: string data: type: object properties: transaction: type: object properties: id: type: string purchaseAmount: type: string totalAmount: type: string externalId: type: string currency: $ref: '#/components/schemas/currency' status: type: string required: - id - purchaseAmount - totalAmount - externalId - currency - status required: - transaction signature: type: string description: >- Algorithm: HMAC-SHA256 Length: 64-character hexadecimal string Computation: The signature is generated by hashing the full JSON body (excluding the signature field) using HMAC-SHA256 with the secret key. required: - event - data - signature example: event: Transaction.Captured data: transaction: id: 67a0307eaddea901a60144ec purchaseAmount: '50000' totalAmount: '50000' externalId: '{{CLIENT_TRANSACTION_ID}}' currency: COP status: CAPTURED signature: >- f8a23d5e0c7c2b6e4a8f9d0c5b3d7e1a7f6c4e2d9b0a5f8c3e1d6b9a7c4e2d1f headers: {} security: - BearerToken: [] /accounts: post: summary: Create Account deprecated: false description: Creates a new account for an identity. operationId: create-account tags: - Accounts parameters: - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: ConomyApp/2.1.1 schema: type: string requestBody: content: application/json: schema: type: object properties: identityId: type: string description: >- Identifier linking the internal account to an organization or user. externalId: type: string description: External reference identifier for integrations. type: description: The type of internal account. $ref: '#/components/schemas/account-type' custody: type: string description: Indicates the custody type managing the internal account. currency: description: >- The currency in which the internal account operates. Please check "currencies" page. $ref: '#/components/schemas/currency' name: type: string description: A friendly name assigned to the internal account. parentId: type: string description: Identifier of the parent account if this is a sub-account. custodyBankAccount: type: object description: >- Details of the custody bank account linked to this internal account. properties: accountNumber: type: string description: The bank account number. bank: type: string description: The name of the bank where the account is held. currency: $ref: '#/components/schemas/currency' typeAccount: type: string description: The type of bank account. CHECKING_ACOUNT, SAVINGS country: $ref: '#/components/schemas/country' required: - accountNumber - bank - currency - country required: - identityId - type - custody - currency - name example: identityId: 069b63ba-a8cd-4b0e-bb2f-ffc7d71f2dac externalId: '1' type: real currency: PKR name: Auto Loan Account parentId: a3f87719-1dd7-46c7-9953-e0f3a71542a3 responses: '201': description: Resource created successfully. content: application/json: schema: $ref: '#/components/schemas/account' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] get: summary: Get multiple accounts deprecated: false description: Lists accounts with filtering and pagination options. operationId: get-accounts tags: - Accounts parameters: - name: parentId in: query description: Parent's account Id required: false schema: type: string - name: accountNumber in: query description: Account number of the specific account required: false schema: type: string - name: externalId in: query description: External Id of the specific account required: false schema: type: string - name: identityId in: query description: Identity Id owner of the account required: false schema: type: string - name: type in: query description: Filters accounts by account type. required: false schema: $ref: '#/components/schemas/account-type' - name: currency in: query description: Filters accounts by currency code (`ISO 4217`). required: false schema: $ref: '#/components/schemas/country' - name: status in: query description: Status of the account required: false schema: type: string - name: startDate in: query description: Created at start (DD/MM/YYYY) required: false schema: type: string - name: endDate in: query description: Created at end (DD/MM/YYYY) required: false schema: type: string - name: limit in: query description: Specifies the maximum number of items to return in a single request. required: false schema: type: integer - name: next in: query description: A cursor indicating the position of the last retrieved item. required: false schema: type: integer - name: offset in: query description: A cursor indicating how many items to skip from the request required: false schema: type: integer - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: pagination: type: object properties: pagination: $ref: '#/components/schemas/pagination-cursor' description: Pagination cursor object results: type: array items: $ref: '#/components/schemas/account' description: Items from the current page required: - results - pagination required: - pagination headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /accounts/{id}: get: summary: Get Account deprecated: false description: >- Endpoint to get the accounts by a certain filter, could be the id, identityId, accountNumber. operationId: get-account tags: - Accounts parameters: - name: id in: path description: Unique identifier for the account. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: ConomyApp schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/account' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] patch: summary: Update Account deprecated: false description: Updates mutable fields of an existing account. operationId: update-account tags: - Accounts parameters: - name: id in: path description: Unique identifier for the account. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: type: object properties: externalId: type: string name: type: string example: status: BLOCKED responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/account' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] delete: summary: Delete Account deprecated: false description: Deletes an account by ID. operationId: delete-account tags: - Accounts parameters: - name: id in: path description: Unique identifier for the account. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: ConomyApp schema: type: string responses: '204': description: Request processed successfully. No response body is returned. content: application/json: schema: type: object properties: {} headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /payment-origins: get: summary: Get payment-origins deprecated: false description: Returns available pay-in node configurations for the requested product and currency pair. operationId: get-payment-origins tags: - Payment-methods parameters: - name: accountNumber in: query description: corresponding accountNumber required: false example: 679c482ee4420cb5b0966c9a schema: type: string - name: currency in: query description: Target settlement currency used to resolve available origins (`ISO 4217`). required: false schema: $ref: '#/components/schemas/currency' - name: purchaseCurrency in: query description: Source purchase currency used to resolve available origins (`ISO 4217`). required: false schema: $ref: '#/components/schemas/currency' - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: array items: $ref: '#/components/schemas/payment-node-get' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /payment-destinations: get: summary: Get payment-destinations deprecated: false description: Returns available payout node configurations for the requested product and currency pair. operationId: get-payment-destinations tags: - Payment-methods parameters: - name: accountNumber in: query description: corresponding accountNumber required: false example: 679c482ee4420cb5b0966c9a schema: type: string - name: type in: query description: type of destination required: false example: BANK_ACCOUNT schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: array items: $ref: '#/components/schemas/payment-node-get' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /payments/available-products: get: summary: Get available products deprecated: false description: >- Returns all payment products available for a given identity, organized by currency. Each currency entry includes available pay-in methods with their products and pay-out (withdrawal) methods with their products. Use this endpoint to discover what payment rails are enabled for an account before building a payment flow. operationId: get-available-products tags: - Payment-methods parameters: - name: identityId in: query description: Identity ID to retrieve available products for. required: false schema: type: string - name: currencies in: query description: >- Comma-separated list of currency codes to filter results (e.g., `ARS,CLP`). required: false schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/available-products' example: supportedPaymentCurrencies: - ARS - CLP supportedPayoutCurrencies: - ARS - CLP supportedPaymentMethods: - CVU - ETPAY - PCT - PIX supportedWithdrawalMethods: - BANK_ACCOUNT byCurrency: - currency: ARS payin: paymentMethods: - CVU - PCT products: - name: PCT type: PCT currency: ARS product: ARS:ARS minAmount: '10' maxAmount: '5000000' requiredFields: - pct.customer.phoneNumber - pct.customer.phoneNumberPrefix - pct.customer.email validDestinations: - ACCOUNT nodeSchema: pct: customer: email: string phoneNumber: string phoneNumberPrefix: string requiredFieldTypes: pct.customer.email: string pct.customer.phoneNumber: string pct.customer.phoneNumberPrefix: string payout: withdrawalMethods: - BANK_ACCOUNT products: - name: BANK_ACCOUNT type: BANK_ACCOUNT currency: ARS product: ARS:ARS minAmount: '10' maxAmount: '5000000' requiredFields: - bank.accountNumber - bank.bank validOrigins: - ACCOUNT nodeSchema: bank: accountNumber: string bank: string requiredFieldTypes: bank.accountNumber: string bank.bank: string headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /payments/banks/{country}: get: summary: List banks by country deprecated: false description: >- Returns all supported banks and financial institutions for the given country code. Use the `code` value as the `bank` field in `BANK_ACCOUNT`, `BREB`, or `SPEI` payment nodes. operationId: list-banks-by-country tags: - Payment-methods parameters: - name: country in: path description: ISO country code (e.g., `CHL`, `COL`, `PER`, `MEX`). required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: array items: $ref: '#/components/schemas/bank' example: - code: BANCO_CHILE name: BANCO DE CHILE countryCode: CHL - code: BCI name: BCI countryCode: CHL - code: SANTANDER name: BANCO SANTANDER countryCode: CHL headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /payment-attempts: post: summary: Create Attempt deprecated: false description: Creates a payment attempt to pre-validate and initialize a payment flow. operationId: create-payment-attempt tags: - Payment-attempts parameters: - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: type: object properties: externalId: type: string description: External reference identifier for integrations. identityId: type: string description: >- Identifier linking the transaction to a specific user or organization. identityExternalId: type: string description: >- External reference identifier for the identity associated with the transaction. accountNumber: type: string description: The account number involved in the transaction. totalAmount: type: string description: The total amount of the transaction. currency: $ref: '#/components/schemas/currency' description: type: string description: A brief description of the transaction. product: type: string description: >- The product or service related to the transaction. purchaseCurrency:Currency type: $ref: '#/components/schemas/payment-type' purchaseAmount: type: string description: The amount paid in the transaction. purchaseCurrency: $ref: '#/components/schemas/currency' origins: type: array description: A list of sources for the transaction. items: $ref: '#/components/schemas/payment-node' destinations: type: array description: A list of destinations for the transaction. items: $ref: '#/components/schemas/payment-node' required: - externalId - identityId - accountNumber - totalAmount - currency - type example: identityId: 679c482ee4420cb5b0966c9a accountNumber: '123456' product: ARS:ARS type: PAYMENT purchaseAmount: '100' purchaseCurrency: ARS currency: ARS origins: - name: ETPAY type: PAYMENT_INITATION amount: '100' currency: ARS paymentInitiation: origin: ETPAY referenceId: external_payment_id_1 destinations: - type: ACCOUNT amount: '100' currency: ARS identity: userId: 679c482ee4420cb5b0966c9a name: Juan Pérez lastname: Zúñiga nickname: Juanpe dni: '12312252' account: accountNumber: '123456' responses: '201': description: Resource created successfully. content: application/json: schema: $ref: '#/components/schemas/payment' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] get: summary: Get payment-attempts deprecated: false description: Lists payment attempts with filtering and pagination options. operationId: get-payment-attempts tags: - Payment-attempts parameters: - name: identityId in: query description: identityId required: false schema: type: string - name: accountNumber in: query description: 'account number ' required: false schema: type: string - name: type in: query description: Filters payment attempts by payment type. required: false schema: $ref: '#/components/schemas/payment-type' - name: startDate in: query description: start date filter required: false schema: type: string - name: endDate in: query description: start date filter required: false schema: type: string - name: limit in: query description: Specifies the maximum number of items to return in a single request. required: false schema: type: string - name: next in: query description: A cursor indicating the position of the last retrieved item. required: false schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/payment' description: >- An array containing the list of retrieved payment-attemps based on the provided pagination parameters. pagination: $ref: '#/components/schemas/pagination' required: - data - pagination headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /payment-attempts/{id}: get: summary: Get payment-attempt deprecated: false description: Retrieves a payment attempt by ID. operationId: get-payment-attempt tags: - Payment-attempts parameters: - name: id in: path description: Unique identifier for the payment-attempt. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/payment' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /payment-links: post: summary: Create payment link deprecated: false description: Creates a reusable payment link for collecting payments. operationId: create-payment-link tags: - Payment-links parameters: - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/create-checkout-session' examples: {} responses: '201': description: Resource created successfully. content: application/json: schema: type: object properties: id: $ref: '#/components/schemas/_id' checkoutToken: type: string description: Reference for checkout url status: description: >- Whether the payment link’s url is active. If false, customers visiting the URL will be shown a page saying that the link has been deactivated $ref: '#/components/schemas/payment-link-status' items: type: array items: type: object properties: preTaxAmount: type: string description: The amount of the item totalAmount: type: string description: amount + tax.amount, if no tax it's equal to amount description: type: string description: The description of the item tax: type: object properties: name: type: string description: The name of the fee. type: description: >- The type of fee applied (e.g., FIXED, PERCENTAGE). $ref: '#/components/schemas/fee-type' value: type: string description: The value of the fee. amount: type: string description: The calculated amount of the fee. required: - name - type - value - amount nullable: true required: - preTaxAmount - totalAmount - description description: List of items to pay for currency: $ref: '#/components/schemas/currency' description: Currency for payment preTaxAmount: type: string description: Addition of all items preTaxAmounts totalAmount: type: string description: Addition of all items totalAmounts url: type: string description: Url to open checkout flow paymentMethodsAllowed: type: array items: $ref: '#/components/schemas/payment-node-type' description: Allowed payment methods. minItems: 1 customer: description: Optional customer to pass into the checkout session type: object properties: id: $ref: '#/components/schemas/_id' firstName: type: string description: Payer's name email: type: string description: Payer's email lastName: type: string description: Payer's last name phoneNumber: type: string description: Payer's phone number without prefix phoneNumberPrefix: type: string description: Phone number prefix (e.g., +57) documentType: $ref: '#/components/schemas/document-type' documentNumber: type: string description: The document number associated with the documentType address: $ref: '#/components/schemas/address' nullable: true createdAt: type: string description: 'When the link expires ' format: date-time destinations: type: array items: $ref: '#/components/schemas/payment-link-destination' description: A list of destinations for the transaction. minItems: 1 duration: type: integer description: >- Amount of seconds for payment link to be inactivated after creation minimum: 30 customerRequirements: type: array items: type: string description: customer fields to require on checkout enum: - firstName - email - lastName - phoneNumber - phoneNumberPrefix - address - documentNumber - documentType owner: description: owner of who created the payment link $ref: '#/components/schemas/node-identity' successUrl: type: string description: >- The URL to which the end user will be redirected after successful payment completion. failedUrl: type: string description: >- The URL to which the end user will be redirected after failed payment or cancellation. required: - id - checkoutToken - status - items - currency - preTaxAmount - totalAmount - url - paymentMethodsAllowed - createdAt - destinations - duration - owner headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - bearer: [] get: summary: Get payment links deprecated: false description: Lists payment links with filtering and pagination options. operationId: get-payment-links tags: - Payment-links parameters: - name: id in: query description: ' Comma separated id to list payment links for.' required: false example: '' schema: type: string - name: status in: query description: ' Comma separated status to list payment links for.' required: false example: '' schema: type: string - name: destination.accountNumber in: query description: ' Comma separated destination account number to list payment links for.' required: false example: '' schema: type: string - name: customer.email in: query description: ' Comma separated customer email to list payment links for.' required: false example: '' schema: type: string format: email - name: limit in: query description: Specifies the maximum number of items to return in a single request. required: false example: 0 schema: type: integer maximum: 50 minimum: 0 - name: next in: query description: A cursor indicating the position of the last retrieved item. required: false example: 0 schema: type: integer - name: offset in: query description: A cursor indicating how many items to skip from the request required: false example: 0 schema: type: integer - name: owner.identityId in: query description: ' Comma separated owner identityIds to list payment links for.' required: false schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: ConomyApp schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: pagination: $ref: '#/components/schemas/pagination-cursor' description: Pagination cursor object results: type: array items: $ref: '#/components/schemas/payment-link9' description: Items from the current page required: - results - pagination headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - bearer: [] /payment-links/{id}: get: summary: Get payment link deprecated: false description: Retrieves a payment link by ID. operationId: get-payment-link tags: - Payment-links parameters: - name: id in: path description: Paymen link id required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/payment-link9' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '404': $ref: '#/components/responses/Not Found' description: Requested resource was not found. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - bearer: [] delete: summary: Delete payment link deprecated: false description: Only ATTEMPT and EXPIRED links can be deleted operationId: delete-payment-link tags: - Payment-links parameters: - name: id in: path description: Paymen link id required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '204': description: Request processed successfully. No response body is returned. headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '404': $ref: '#/components/responses/Not Found' description: Requested resource was not found. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - bearer: [] /payment-links/{id}/activate: post: summary: Activate payment link deprecated: false description: Activates a payment link so it can accept new checkout sessions. operationId: activate-payment-link tags: - Payment-links parameters: - name: id in: path description: Unique identifier of the payment link to activate. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/payment-link9' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - bearer: [] /payment-links/token/{checkout-token}/checkout-sessions: post: summary: Create checkout session from payment-link deprecated: false description: Creates a checkout session from a payment-link checkout token. operationId: create-checkout-payment-link tags: - Payment-links - internal parameters: - name: checkout-token in: path description: Checkout token that identifies the payment link session context. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: type: object properties: {} examples: {} responses: '201': description: Resource created successfully. content: application/json: schema: $ref: '#/components/schemas/checkout-session' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - bearer: [] /checkout-sessions: post: summary: Create checkout session deprecated: false description: Creates a checkout session for a payment link. operationId: refresh-checkout-session tags: - Checkout-sessions parameters: - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/create-checkout-session' examples: {} responses: '201': description: Resource created successfully. content: application/json: schema: type: object properties: id: $ref: '#/components/schemas/_id' paymentLinkId: type: string description: Reference Payment Link ID checkoutToken: type: string description: Reference for checkout url paymentConfigs: type: array items: $ref: '#/components/schemas/currency-config' createdAt: type: string description: 'When the link expires ' format: date-time status: description: >- Whether the payment link’s url is active. If false, customers visiting the URL will be shown a page saying that the link has been deactivated $ref: '#/components/schemas/checkout-session-status' items: type: array items: type: object properties: preTaxAmount: type: string description: The amount of the item totalAmount: type: string description: amount + tax.amount, if no tax it's equal to amount description: type: string description: The description of the item tax: type: object properties: name: type: string description: The name of the fee. type: description: >- The type of fee applied (e.g., FIXED, PERCENTAGE). $ref: '#/components/schemas/fee-type' value: type: string description: The value of the fee. amount: type: string description: The calculated amount of the fee. required: - name - type - value - amount nullable: true required: - preTaxAmount - totalAmount - description description: List of items to pay for currency: $ref: '#/components/schemas/currency' description: Currency for payment preTaxAmount: type: string description: Addition of all items preTaxAmounts totalAmount: type: string description: Addition of all items totalAmounts url: type: string description: Url to open checkout flow paymentMethodsAllowed: type: array items: $ref: '#/components/schemas/payment-node-type' description: Allowed payment methods. minItems: 1 customer: description: Optional customer to pass into the checkout session type: object properties: id: $ref: '#/components/schemas/_id' firstName: type: string description: Payer's name email: type: string description: Payer's email lastName: type: string description: Payer's last name phoneNumber: type: string description: Payer's phone number without prefix phoneNumberPrefix: type: string description: Phone number prefix (e.g., +57) documentType: $ref: '#/components/schemas/document-type' documentNumber: type: string description: The document number associated with the documentType address: $ref: '#/components/schemas/address' nullable: true redirectUrl: type: string description: >- The URL to which the end user will be redirected after completing the payment. destinations: type: array items: $ref: '#/components/schemas/payment-link-destination' description: A list of destinations for the transaction. minItems: 1 customerRequirements: type: array items: type: string description: customer fields to require on checkout enum: - firstName - email - lastName - phoneNumber - phoneNumberPrefix - address - documentNumber - documentType expiresAt: type: string format: date-time owner: $ref: '#/components/schemas/node-identity' description: owner of who created the session required: - id - paymentConfigs - createdAt - status - items - currency - preTaxAmount - totalAmount - url - paymentMethodsAllowed - destinations - expiresAt - owner headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - bearer: [] get: summary: Get Checkout sessions deprecated: false description: Lists checkout sessions with filtering and pagination options. operationId: get-checkout-sessions tags: - Checkout-sessions parameters: - name: identityId in: query description: Owner Identity Id required: false example: 1234a schema: type: string - name: accountNumber in: query description: Destination Account Number required: false example: '1234' schema: type: string - name: status in: query description: Checkout session status required: false example: ATTEMPT schema: type: string - name: startDate in: query description: '(dd/mm/yyyy) Start date filters created Date min ' required: false example: 01/04/2025 schema: type: string - name: endDate in: query description: (dd/mm/yyyy) End date filters created Date max required: false example: 08/04/2025 schema: type: string - name: sort in: query description: Sorts the results by param:asc | param:desc required: false example: createdAt:desc schema: type: string - name: limit in: query description: Specifies the maximum number of items to return in a single request. required: false example: '50' schema: type: string - name: offset in: query description: Skips the input value from the current view required: false example: '0' schema: type: string - name: conomyhq-api-version in: header description: 'v1: empty ; v2: 24-04-2025' required: false example: 24-04-2025 schema: type: string default: none, is the first API version - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: pagination: $ref: '#/components/schemas/pagination-cursor' description: Pagination cursor object results: type: array items: type: object properties: id: $ref: '#/components/schemas/_id' paymentLinkId: type: string description: Reference Payment Link ID checkoutToken: type: string description: Reference for checkout url paymentConfigs: type: array items: $ref: '#/components/schemas/currency-config' createdAt: type: string description: 'When the link expires ' format: date-time status: description: >- Whether the payment link’s url is active. If false, customers visiting the URL will be shown a page saying that the link has been deactivated $ref: '#/components/schemas/checkout-session-status' items: type: array items: type: object properties: preTaxAmount: type: string description: The amount of the item totalAmount: type: string description: >- amount + tax.amount, if no tax it's equal to amount description: type: string description: The description of the item tax: type: object properties: name: type: string description: The name of the fee. type: description: >- The type of fee applied (e.g., FIXED, PERCENTAGE). $ref: '#/components/schemas/fee-type' value: type: string description: The value of the fee. amount: type: string description: The calculated amount of the fee. required: - name - type - value - amount nullable: true required: - preTaxAmount - totalAmount - description description: List of items to pay for currency: $ref: '#/components/schemas/currency' description: Currency for payment preTaxAmount: type: string description: Addition of all items preTaxAmounts totalAmount: type: string description: Addition of all items totalAmounts url: type: string description: Url to open checkout flow paymentMethodsAllowed: type: array items: $ref: '#/components/schemas/payment-node-type' description: Allowed payment methods. minItems: 1 customer: description: Optional customer to pass into the checkout session type: object properties: id: $ref: '#/components/schemas/_id' firstName: type: string description: Payer's name email: type: string description: Payer's email lastName: type: string description: Payer's last name phoneNumber: type: string description: Payer's phone number without prefix phoneNumberPrefix: type: string description: Phone number prefix (e.g., +57) documentType: $ref: '#/components/schemas/document-type' documentNumber: type: string description: >- The document number associated with the documentType address: $ref: '#/components/schemas/address' nullable: true redirectUrl: type: string description: >- The URL to which the end user will be redirected after completing the payment. destinations: type: array items: $ref: '#/components/schemas/payment-link-destination' description: A list of destinations for the transaction. minItems: 1 customerRequirements: type: array items: type: string description: customer fields to require on checkout enum: - firstName - email - lastName - phoneNumber - phoneNumberPrefix - address - documentNumber - documentType expiresAt: type: string format: date-time owner: $ref: '#/components/schemas/node-identity' description: owner of who created the session required: - id - paymentConfigs - createdAt - status - items - currency - preTaxAmount - totalAmount - url - paymentMethodsAllowed - destinations - expiresAt - owner description: Items from the current page required: - results - pagination headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - bearer: [] /checkout-sessions/{checkout_session_id}: get: summary: Get checkout session deprecated: false description: Retrieves a checkout session by ID. operationId: get-checkout-session tags: - Checkout-sessions parameters: - name: checkout_session_id in: path description: Unique identifier of the checkout session. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: id: $ref: '#/components/schemas/_id' paymentLinkId: type: string description: Reference Payment Link ID checkoutToken: type: string description: Reference for checkout url paymentConfigs: type: array items: $ref: '#/components/schemas/currency-config' createdAt: type: string description: 'When the link expires ' format: date-time status: description: >- Whether the payment link’s url is active. If false, customers visiting the URL will be shown a page saying that the link has been deactivated $ref: '#/components/schemas/checkout-session-status' items: type: array items: type: object properties: preTaxAmount: type: string description: The amount of the item totalAmount: type: string description: amount + tax.amount, if no tax it's equal to amount description: type: string description: The description of the item tax: type: object properties: name: type: string description: The name of the fee. type: description: >- The type of fee applied (e.g., FIXED, PERCENTAGE). $ref: '#/components/schemas/fee-type' value: type: string description: The value of the fee. amount: type: string description: The calculated amount of the fee. required: - name - type - value - amount nullable: true required: - preTaxAmount - totalAmount - description description: List of items to pay for currency: $ref: '#/components/schemas/currency' description: Currency for payment preTaxAmount: type: string description: Addition of all items preTaxAmounts totalAmount: type: string description: Addition of all items totalAmounts url: type: string description: Url to open checkout flow paymentMethodsAllowed: type: array items: $ref: '#/components/schemas/payment-node-type' description: Allowed payment methods. minItems: 1 customer: description: Optional customer to pass into the checkout session type: object properties: id: $ref: '#/components/schemas/_id' firstName: type: string description: Payer's name email: type: string description: Payer's email lastName: type: string description: Payer's last name phoneNumber: type: string description: Payer's phone number without prefix phoneNumberPrefix: type: string description: Phone number prefix (e.g., +57) documentType: $ref: '#/components/schemas/document-type' documentNumber: type: string description: The document number associated with the documentType address: $ref: '#/components/schemas/address' nullable: true redirectUrl: type: string description: >- The URL to which the end user will be redirected after completing the payment. destinations: type: array items: $ref: '#/components/schemas/payment-link-destination' description: A list of destinations for the transaction. minItems: 1 customerRequirements: type: array items: type: string description: customer fields to require on checkout enum: - firstName - email - lastName - phoneNumber - phoneNumberPrefix - address - documentNumber - documentType expiresAt: type: string format: date-time owner: $ref: '#/components/schemas/node-identity' description: owner of who created the session required: - id - paymentConfigs - createdAt - status - items - currency - preTaxAmount - totalAmount - url - paymentMethodsAllowed - destinations - expiresAt - owner headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - bearer: [] delete: summary: Delete checkout session deprecated: false description: Deletes (invalidates) a checkout session. operationId: delete-checkout-session tags: - Checkout-sessions parameters: - name: checkout_session_id in: path description: Unique identifier of the checkout session to delete. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: {} headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - bearer: [] /checkout-sessions/{checkout_session_id}/payments: post: summary: Create Payment from checkout session deprecated: false description: >- When creating a transaction from a checkout session, this endpoint provides a payment method and a provider system to process the payment. operationId: create-checkout-session-payment tags: - Checkout-sessions parameters: - name: checkout_session_id in: path description: Unique identifier of the checkout session where the payment is submitted. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/checkout-session-payment' example: origins: - name: ETPAY type: PAYMENT_INITATION amount: '100' currency: ARS paymentInitiation: origin: ETPAY referenceId: external_payment_id_1 responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/payment' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - bearer: [] /checkout-sessions/token/{checkout-token}/refresh: post: summary: Refresh checkout session deprecated: false description: Refreshes a checkout session token and returns updated session data. operationId: create-checkout-session tags: - Checkout-sessions parameters: - name: checkout-token in: path description: Checkout token of the session to refresh. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: type: object properties: {} examples: {} responses: '201': description: Resource created successfully. content: application/json: schema: type: object properties: id: $ref: '#/components/schemas/_id' paymentLinkId: type: string description: Reference Payment Link ID checkoutToken: type: string description: Reference for checkout url paymentConfigs: type: array items: $ref: '#/components/schemas/currency-config' createdAt: type: string description: 'When the link expires ' format: date-time status: description: >- Whether the payment link’s url is active. If false, customers visiting the URL will be shown a page saying that the link has been deactivated $ref: '#/components/schemas/checkout-session-status' items: type: array items: type: object properties: preTaxAmount: type: string description: The amount of the item totalAmount: type: string description: amount + tax.amount, if no tax it's equal to amount description: type: string description: The description of the item tax: type: object properties: name: type: string description: The name of the fee. type: description: >- The type of fee applied (e.g., FIXED, PERCENTAGE). $ref: '#/components/schemas/fee-type' value: type: string description: The value of the fee. amount: type: string description: The calculated amount of the fee. required: - name - type - value - amount nullable: true required: - preTaxAmount - totalAmount - description description: List of items to pay for currency: $ref: '#/components/schemas/currency' description: Currency for payment preTaxAmount: type: string description: Addition of all items preTaxAmounts totalAmount: type: string description: Addition of all items totalAmounts url: type: string description: Url to open checkout flow paymentMethodsAllowed: type: array items: $ref: '#/components/schemas/payment-node-type' description: Allowed payment methods. minItems: 1 customer: description: Optional customer to pass into the checkout session type: object properties: id: $ref: '#/components/schemas/_id' firstName: type: string description: Payer's name email: type: string description: Payer's email lastName: type: string description: Payer's last name phoneNumber: type: string description: Payer's phone number without prefix phoneNumberPrefix: type: string description: Phone number prefix (e.g., +57) documentType: $ref: '#/components/schemas/document-type' documentNumber: type: string description: The document number associated with the documentType address: $ref: '#/components/schemas/address' nullable: true redirectUrl: type: string description: >- The URL to which the end user will be redirected after completing the payment. destinations: type: array items: $ref: '#/components/schemas/payment-link-destination' description: A list of destinations for the transaction. minItems: 1 customerRequirements: type: array items: type: string description: customer fields to require on checkout enum: - firstName - email - lastName - phoneNumber - phoneNumberPrefix - address - documentNumber - documentType expiresAt: type: string format: date-time owner: $ref: '#/components/schemas/node-identity' description: owner of who created the session required: - id - paymentConfigs - createdAt - status - items - currency - preTaxAmount - totalAmount - url - paymentMethodsAllowed - destinations - expiresAt - owner headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - bearer: [] /settlement/transactions: post: summary: Process and reconcile external transactions deprecated: false description: >- This endpoint processes a batch of external transactions and compares them against internal transactions with `CAPTURED` status from the past 24 hours. It performs the following steps: 1. Retrieves all internal CAPTURED transactions from the checked point. 2. Matches external transactions against internal ones by ID. 3. Validates total amounts and marks discrepancies. 4. Flags missing or invalid transactions as `FAILED`. 5. Generates a reconciliation report in ISO 20022 format. 6. Returns a list of issues found (successful transactions are not listed). tags: - Settlement-transactions - Settlement parameters: [] requestBody: content: application/json: schema: type: object properties: transactions: type: array items: type: object properties: id: $ref: '#/components/schemas/_id' externalId: type: string description: External reference identifier for integrations. identityId: type: string description: >- Identifier linking the transaction to a specific user or organization. identityExternalId: type: string description: >- External reference identifier for the identity associated with the transaction. accountNumber: type: string description: The account number involved in the transaction. totalAmount: type: string description: The total amount of the transaction. currency: $ref: '#/components/schemas/currency' description: type: string description: A brief description of the transaction. product: type: string description: >- The product or service related to the transaction. purchaseCurrency:Currency status: type: string description: >- The current status of the transaction (e.g., PENDING, AUTHORIZED, CAPTURED, ATTEMPT, REFUNDED). type: $ref: '#/components/schemas/payment-type' purchaseAmount: type: string description: The amount paid in the transaction. purchaseCurrency: $ref: '#/components/schemas/currency' fees: type: array description: A list of fees associated with the transaction. items: $ref: '#/components/schemas/fee' createdAt: type: string description: Timestamp indicating when the transaction was created. updatedAt: type: string description: >- Timestamp indicating the last update to the transaction. expiresAt: type: string description: >- Timestamp indicating when the transaction expires, if applicable. capturedAt: type: string description: >- Timestamp indicating when the transaction was captured. authorizedAt: type: string description: >- Timestamp indicating when the transaction was authorized. refundedAt: type: string description: >- Timestamp indicating when the transaction was refunded, if applicable. origins: type: array description: A list of sources for the transaction. items: $ref: '#/components/schemas/payment-node' destinations: type: array description: A list of destinations for the transaction. items: $ref: '#/components/schemas/payment-node' settlement: type: string description: Settlement period for the transaction. required: - id - externalId - totalAmount - currency - product - type example: '' responses: '200': description: Reconciliation process completed successfully content: application/json: schema: type: array items: type: string headers: {} security: - BearerToken: [] /rules: post: summary: Create Rule for Identity deprecated: false description: Add fee to an identity and all its children operationId: add-rule tags: - Rules parameters: - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: type: object properties: type: description: Type of rule $ref: '#/components/schemas/rule-type' identityId: type: string description: Identity identifier of who the rule applies overwrites: type: boolean description: >- Indicates whether this rule should overwrite the rules inherited from its ancestors. filter: type: array items: type: object properties: name: description: Name of field $ref: '#/components/schemas/rule-filter-key' value: type: string description: 'Given value for ' required: - name - value description: Filter to constrain when the rule is applied nullable: true feeRule: type: object properties: description: type: string description: Description to be inputed when applied. feeType: description: Type of the fee $ref: '#/components/schemas/fee-type' value: type: string description: >- The value of the fee as string to support high-precision decimal description: Required when type is FEE required: - feeType - value nullable: true allowedValuesRule: type: object properties: key: type: string description: key of field to constrain allowedValues: type: array items: type: string description: value allowed description: array of values allowed for key description: Required when type is ALLOWED_VALUES required: - allowedValues - key nullable: true required: - type - identityId - overwrites example: target: TRANSACTION type: FEE overwrites: true feeRule: description: Service fee feeType: FIXED value: '0.5' responses: '201': description: Resource created successfully. content: application/json: schema: $ref: '#/components/schemas/rule' example: id: 6866e078f18185b6af8d0eff owner: CLIENT target: TRANSACTION type: FEE identityId: 679d2a134a21df7584b38e13 overwrites: true createdAt: '2025-07-03T19:56:40Z' updatedAt: '2025-07-03T19:56:40Z' feeRule: description: Service fee type: FIXED value: '0.5' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] get: summary: Get rules deprecated: false description: Lists configured business rules. operationId: get-rules tags: - Rules parameters: - name: id in: query description: ' Comma separated id to list rules for.' required: false example: '' schema: type: string - name: owner in: query description: ' Comma separated owner to list rules for.' required: false example: '' schema: type: string format: email - name: target in: query description: ' Comma separated target to list rules for.' required: false example: '' schema: type: string - name: type in: query description: ' Comma separated type to list rules for.' required: false example: '' schema: type: string - name: identityId in: query description: ' Comma separated identityId to list rules for.' required: false example: '' schema: type: string - name: limit in: query description: Specifies the maximum number of items to return in a single request. required: false example: 0 schema: type: integer - name: next in: query description: A cursor indicating the position of the last retrieved item. required: false example: 0 schema: type: integer - name: offset in: query description: A cursor indicating how many items to skip from the request required: false example: 0 schema: type: integer - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: ConomyApp schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: pagination: $ref: '#/components/schemas/pagination-cursor' description: Pagination cursor object results: type: array items: $ref: '#/components/schemas/rule' description: Items from the current page required: - results - pagination headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /rules/{rule-id}: get: summary: Get Rule deprecated: false description: Remove a specific fee to an identity. operationId: get-customer tags: - Rules parameters: - name: rule-id in: path description: Unique identifier for the rule. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/rule' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] delete: summary: Remove Rule to Identity deprecated: false description: Remove a specific fee to an identity. operationId: remove-rule tags: - Rules parameters: - name: rule-id in: path description: Unique identifier for the rule. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '204': description: Request processed successfully. No response body is returned. headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /customers/{customer-id}: patch: summary: Patch customer deprecated: false description: Create customer operationId: patch-customer tags: - Customers parameters: - name: customer-id in: path description: Unique identifier of the customer to update. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: type: object properties: id: $ref: '#/components/schemas/_id' firstName: type: string description: Payer's name email: type: string description: Payer's email lastName: type: string description: Payer's last name phoneNumber: type: string description: Payer's phone number without prefix phoneNumberPrefix: type: string description: Phone number prefix (e.g., +57) documentType: $ref: '#/components/schemas/document-type' documentNumber: type: string description: The document number associated with the documentType address: $ref: '#/components/schemas/address' examples: {} responses: '201': description: Resource created successfully. content: application/json: schema: $ref: '#/components/schemas/customer' example: id: 6866e078f18185b6af8d0eff owner: CLIENT target: TRANSACTION type: FEE identityId: 679d2a134a21df7584b38e13 overwrites: true createdAt: '2025-07-03T19:56:40Z' updatedAt: '2025-07-03T19:56:40Z' feeRule: description: Service fee type: FIXED value: '0.5' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] get: summary: Get customer deprecated: false description: Get a customer operationId: get-rule tags: - Rules parameters: - name: customer-id in: path description: Unique identifier of the customer to retrieve. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: $ref: '#/components/schemas/customer' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] delete: summary: Delete customer deprecated: false description: Delete a customer operationId: delete-customer tags: - Customers parameters: - name: customer-id in: path description: Unique identifier of the customer to delete. required: true schema: type: string - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string responses: '204': description: Request processed successfully. No response body is returned. headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] /customers: post: summary: Create customer deprecated: false description: Create customer operationId: post-customers tags: - Customers parameters: - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: '' schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customer' examples: {} responses: '201': description: Resource created successfully. content: application/json: schema: $ref: '#/components/schemas/customer' example: id: 6866e078f18185b6af8d0eff owner: CLIENT target: TRANSACTION type: FEE identityId: 679d2a134a21df7584b38e13 overwrites: true createdAt: '2025-07-03T19:56:40Z' updatedAt: '2025-07-03T19:56:40Z' feeRule: description: Service fee type: FIXED value: '0.5' headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] get: summary: Get customers deprecated: false description: Lists customers with filtering and pagination options. operationId: get-customers tags: - Customers parameters: - name: id in: query description: ' Comma separated id to list customers for.' required: false example: '' schema: type: string - name: type in: query description: ' Comma separated type to list customers for.' required: false example: '' schema: type: string - name: identityId in: query description: ' Comma separated identityId to list customers for.' required: false example: '' schema: type: string - name: limit in: query description: Specifies the maximum number of items to return in a single request. required: false example: 0 schema: type: integer - name: next in: query description: A cursor indicating the position of the last retrieved item. required: false example: 0 schema: type: integer - name: offset in: query description: A cursor indicating how many items to skip from the request required: false example: 0 schema: type: integer - name: x-api-key in: header description: >- The API key used for authentication when making requests to the API Gateway. required: true example: '' schema: type: string - name: User-Agent in: header description: Identifies the application making the request. required: true example: ConomyApp schema: type: string responses: '200': description: Request processed successfully. content: application/json: schema: type: object properties: pagination: $ref: '#/components/schemas/pagination-cursor' description: Pagination cursor object results: type: array items: $ref: '#/components/schemas/customer' description: Items from the current page required: - results - pagination headers: {} '400': $ref: '#/components/responses/Bad request' description: Invalid request parameters or payload. '500': $ref: '#/components/responses/Internal server error' description: Unexpected internal server error. security: - BearerToken: [] components: schemas: card: description: Card payment node payload for card-based pay-ins. type: object properties: holder: type: string description: Card holder full name expiryMonth: type: string description: Expiry month of the card expiryYear: type: string description: Expiry year of the card scheme: type: string description: Card scheme type: type: string description: Card type pan: type: string description: card number mask: type: string description: Last 4 digits country: type: string description: Issuing country token: type: string description: Card token required: - token title: '' payment-link: description: Configuration and metadata for a reusable payment link. type: object properties: id: type: string description: ID URL: type: string description: Payment link URL token: type: string description: Token for security authentication customer: $ref: '#/components/schemas/customer' paymentMethodsAllowed: type: array items: type: string description: Allowed payment methods. paymentMethod: description: Customer payment method expiredAt: type: string description: When the link expires metadata: type: object properties: description: type: string description: Description of the payment required: - description description: Payment link metadata redirectURL: type: string description: >- The URL to which the end user will be redirected after completing the payment. required: - metadata - redirectURL - paymentMethodsAllowed - id pix: description: PIX rail payload for Brazil pay-ins and payouts. type: object properties: data: type: string description: >- The actual PIX code (EMV-compliant string) that represents the payment. This is what is known as the 'PIX' in Brazil and can be copied and pasted instead of scanning. qrCode: type: string description: The rendered QR code string that can be scanned for PIX payments. expiredAt: type: string format: date-time description: The expiration date and time of the QR code. UTC format. instructions: type: string description: >- Optional instructions displayed to the user for completing the PIX payment. customer: type: object description: Details of the customer initiating the payment. properties: id: $ref: '#/components/schemas/_id' firstName: type: string description: Payer's name email: type: string description: Payer's email lastName: type: string description: Payer's last name phoneNumber: type: string description: Payer's phone number without prefix phoneNumberPrefix: type: string description: Phone number prefix (e.g., +57) documentType: $ref: '#/components/schemas/document-type' documentNumber: type: string description: The document number associated with the documentType address: $ref: '#/components/schemas/address' required: - firstName successUrl: type: string description: Redirect url in case of success failedUrl: type: string description: Redirect url in case of failure required: - data - customer pct: description: PCT rail payload for Argentina QR pay-ins. type: object properties: qrCode: type: string description: >- The QR code string that can be rendered or scanned for interoperable transfer payments in Argentina under the BCRA's PCT (Transfer QR) standard. customer: $ref: '#/components/schemas/customer' successUrl: type: string description: Redirect url in case of success failedUrl: type: string description: Redirect url in case of failure required: - customer etpay: description: Etpay open-banking payload for Chile pay-ins. type: object properties: customer: $ref: '#/components/schemas/customer' url: type: string redirectUrl: type: string deprecated: true expiresAt: type: string format: time token: type: string signatureToken: type: string successUrl: type: string description: Redirect url in case of success failedUrl: type: string description: Redirect url in case of failure wompi: description: Wompi gateway payload for Colombia pay-ins. type: object properties: customer: $ref: '#/components/schemas/customer' url: type: string redirectUrl: type: string expiresAt: type: string token: type: string signatureToken: type: string card-wrapper: description: Wrapper object exposing the `card` node payload. type: object properties: card: type: object properties: holder: type: string description: Card holder full name scheme: type: string description: Card scheme type: type: string description: Card type mask: type: string description: Last 4 digits country: type: string description: Issuing country token: type: string description: Card token required: - token title: CARD required: - card etpay-wapper: description: Wrapper object exposing the `etpay` node payload. type: object properties: etpay: $ref: '#/components/schemas/etpay' required: - etpay title: ETPAY wompi-wapper: &ref_0 description: Wrapper object exposing the `wompi` node payload. type: object properties: wompi: $ref: '#/components/schemas/wompi' title: WOMPI account-wrapper: description: Wrapper object exposing the internal `account` node payload. type: object properties: account: type: object properties: type: description: The type of internal account. $ref: '#/components/schemas/account-type' currency: description: >- The currency in which the internal account operates. Please check "currencies" page. $ref: '#/components/schemas/currency' accountNumber: type: string description: Internal reference number for the account. accountHolder: type: string description: Name of the entity or user owning the internal account. required: - type - currency - accountNumber - accountHolder title: ACCOUNT required: - account bank-account-wrapper: &ref_1 description: Wrapper object exposing the external `bank` node payload. type: object properties: bank: type: object properties: accountNumber: type: string description: The bank account number. bank: type: string description: The name of the bank where the account is held. currency: $ref: '#/components/schemas/currency' typeAccount: type: string description: The type of bank account. CHECKING_ACOUNT, SAVINGS accountHolder: type: string description: The full name of the account holder. accountHolderDni: type: string description: >- The national identification number or tax ID of the account holder. country: $ref: '#/components/schemas/country' required: - accountNumber - bank - currency - accountHolder - accountHolderDni - country title: BANK_ACCOUNT required: - bank wallet-wrapper: &ref_2 description: Wrapper object exposing the `wallet` node payload for crypto transfers. type: object properties: wallet: type: object properties: provider: type: string description: Optional wallet provider identifier (for routing/integration). referenceId: type: string description: Optional external wallet identifier in the provider system. token: type: string description: Optional token symbol (e.g., `USDC`, `USDT`) when not implied by `currency`. network: type: string description: Optional blockchain network (e.g., `ETH`, `TRON`, `SOLANA`). address: type: string description: Wallet's address required: - address required: - wallet title: CRYPTO crypto-wrapper: description: Dedicated wrapper for CRYPTO nodes. Holds the `wallet` payload. allOf: - $ref: '#/components/schemas/wallet-wrapper' title: CRYPTO pix-wrapper: description: Wrapper object exposing the `pix` node payload. type: object properties: pix: $ref: '#/components/schemas/pix' required: - pix title: PIX pct-wrapper: description: Wrapper object exposing the `pct` node payload. type: object properties: pct: $ref: '#/components/schemas/pct' required: - pct title: PCT fintoc-wrapper: type: object description: FINTOC pay-in node for Chile (CLP). Open banking pay-in via Fintoc widget. properties: fintoc: type: object properties: customer: $ref: '#/components/schemas/customer' successUrl: type: string description: Redirect URL on successful payment. failedUrl: type: string description: Redirect URL on failed payment. required: - fintoc title: FINTOC webpay-wrapper: type: object description: WEBPAY pay-in node for Chile (CLP). Card payments via Transbank. properties: webpay: type: object properties: customer: $ref: '#/components/schemas/customer' successUrl: type: string description: Redirect URL on successful payment. failedUrl: type: string description: Redirect URL on failed payment. required: - customer required: - webpay title: WEBPAY pse-wrapper: type: object description: PSE pay-in node for Colombia (COP). Online secure bank transfers. properties: pse: type: object properties: bankId: type: string description: Bank identifier for PSE transfer. customer: $ref: '#/components/schemas/customer' successUrl: type: string description: Redirect URL on successful payment. failedUrl: type: string description: Redirect URL on failed payment. required: - bankId - customer required: - pse title: PSE bancolombia-wrapper: type: object description: BANCOLOMBIA pay-in node for Colombia (COP). Bancolombia direct payment. properties: bancolombia: type: object properties: customer: $ref: '#/components/schemas/customer' successUrl: type: string description: Redirect URL on successful payment. failedUrl: type: string description: Redirect URL on failed payment. required: - customer required: - bancolombia title: BANCOLOMBIA davivienda-wrapper: type: object description: DAVIVIENDA pay-in node for Colombia (COP). Davivienda direct payment. properties: davivienda: type: object properties: customer: $ref: '#/components/schemas/customer' successUrl: type: string description: Redirect URL on successful payment. failedUrl: type: string description: Redirect URL on failed payment. required: - customer required: - davivienda title: DAVIVIENDA daviplata-wrapper: type: object description: DAVIPLATA pay-in/pay-out node for Colombia (COP). Daviplata mobile wallet. properties: daviplata: type: object properties: customer: $ref: '#/components/schemas/customer' successUrl: type: string description: Redirect URL on successful payment. failedUrl: type: string description: Redirect URL on failed payment. required: - customer required: - daviplata title: DAVIPLATA nequi-wrapper: type: object description: NEQUI pay-in/pay-out node for Colombia (COP). Nequi digital wallet. properties: nequi: type: object properties: customer: $ref: '#/components/schemas/customer' successUrl: type: string description: Redirect URL on successful payment. failedUrl: type: string description: Redirect URL on failed payment. required: - customer required: - nequi title: NEQUI breb-wrapper: type: object description: BREB pay-out node for Colombia (COP). Bank account transfer payout. properties: breb: type: object properties: bankId: type: string description: Bank identifier for the recipient's account. accountNumber: type: string description: Recipient's bank account number. accountType: type: string description: Account type (CHECKING or SAVINGS). enum: - CHECKING - SAVINGS customer: $ref: '#/components/schemas/customer' required: - bankId - accountNumber - customer required: - breb title: BREB cvu-wrapper: type: object description: CVU pay-in node for Argentina (ARS). Virtual account / CBU bank transfers. properties: cvu: type: object properties: code: type: string description: Optional CVU/CBU code when pre-assigned by the payer flow. customer: $ref: '#/components/schemas/customer' required: - cvu title: CVU spei-wrapper: type: object description: SPEI pay-in/pay-out node for Mexico (MXN). Electronic Interbank Payment System. properties: spei: type: object properties: clabe: type: string description: CLABE (18-digit interbank code) of the recipient. Required for pay-out. customer: $ref: '#/components/schemas/customer' required: - customer required: - spei title: SPEI ligo-wrapper: type: object description: LIGO pay-in node for Peru (PEN). QR-based payment system. properties: ligo: type: object properties: customer: $ref: '#/components/schemas/customer' successUrl: type: string description: Redirect URL on successful payment. failedUrl: type: string description: Redirect URL on failed payment. required: - customer required: - ligo title: LIGO sip-wrapper: type: object description: SIP pay-in node for Peru (PEN) and Bolivia (BOB). Interoperable payment system. properties: sip: type: object properties: customer: $ref: '#/components/schemas/customer' successUrl: type: string description: Redirect URL on successful payment. failedUrl: type: string description: Redirect URL on failed payment. required: - customer required: - sip title: SIP ach-wrapper: type: object description: ACH pay-in/pay-out node for USA (USD). Automated Clearing House bank transfers. properties: ach: type: object properties: routingNumber: type: string description: ABA routing number (9 digits). accountNumber: type: string description: Bank account number. accountType: type: string description: Account type (CHECKING or SAVINGS). enum: - CHECKING - SAVINGS customer: $ref: '#/components/schemas/customer' required: - routingNumber - accountNumber - customer required: - ach title: ACH wire-wrapper: type: object description: WIRE pay-out node for USA (USD). Wire transfer via correspondent banks. properties: wire: type: object properties: swiftCode: type: string description: SWIFT/BIC code of the recipient's bank. routingNumber: type: string description: ABA routing number (9 digits). accountNumber: type: string description: Recipient's bank account number. bankName: type: string description: Name of the recipient's bank. customer: $ref: '#/components/schemas/customer' required: - swiftCode - accountNumber - customer required: - wire title: WIRE fednow-wrapper: type: object description: FEDNOW pay-in/pay-out node for USA (USD). FedNow instant payment service. properties: fedNow: type: object properties: routingNumber: type: string description: ABA routing number (9 digits). accountNumber: type: string description: Bank account number. accountType: type: string description: Account type (CHECKING or SAVINGS). enum: - CHECKING - SAVINGS customer: $ref: '#/components/schemas/customer' required: - routingNumber - accountNumber - customer required: - fedNow title: FEDNOW rtp-wrapper: type: object description: RTP pay-in node for USA (USD). Real-time payments network. properties: rtp: type: object properties: routingNumber: type: string description: ABA routing number (9 digits). accountNumber: type: string description: Bank account number. accountType: type: string description: Account type (CHECKING or SAVINGS). enum: - CHECKING - SAVINGS customer: $ref: '#/components/schemas/customer' required: - routingNumber - accountNumber - customer required: - rtp title: RTP sepa-wrapper: type: object description: SEPA pay-out node for Europe (EUR). Single Euro Payments Area transfers. properties: sepa: type: object properties: iban: type: string description: Recipient's IBAN. bic: type: string description: BIC/SWIFT code of the recipient's bank. customer: $ref: '#/components/schemas/customer' required: - iban - customer required: - sepa title: SEPA fpe-wrapper: type: object description: FPE pay-out node for UK (GBP). Faster Payments — near-instant bank transfers. properties: fpe: type: object properties: accountNumber: type: string description: UK bank account number (8 digits). sortCode: type: string description: Sort code (6 digits, e.g., "200415"). customer: $ref: '#/components/schemas/customer' required: - accountNumber - sortCode - customer required: - fpe title: FPE swift-wrapper: type: object description: SWIFT pay-out node for international transfers. Multi-currency global bank wire. properties: swift: type: object properties: swiftCode: type: string description: SWIFT/BIC code of the recipient's bank. iban: type: string description: >- Recipient IBAN when destination country requires it (typically SEPA zone). bank: type: object description: Recipient bank account details. properties: accountNumber: type: string description: Recipient's bank account number. name: type: string description: Name of the recipient's bank. required: - accountNumber customer: description: Beneficiary identity data required by correspondent banks. allOf: - $ref: '#/components/schemas/customer' - type: object required: - firstName - lastName - email - documentNumber - documentType required: - swiftCode - bank - customer required: - swift title: SWIFT ach: $ref: '#/components/schemas/ach-wrapper/properties/ach' bancolombia: $ref: '#/components/schemas/bancolombia-wrapper/properties/bancolombia' breb: $ref: '#/components/schemas/breb-wrapper/properties/breb' cvu: $ref: '#/components/schemas/cvu-wrapper/properties/cvu' daviplata: $ref: '#/components/schemas/daviplata-wrapper/properties/daviplata' davivienda: $ref: '#/components/schemas/davivienda-wrapper/properties/davivienda' fednow: $ref: '#/components/schemas/fednow-wrapper/properties/fedNow' fintoc: $ref: '#/components/schemas/fintoc-wrapper/properties/fintoc' fpe: $ref: '#/components/schemas/fpe-wrapper/properties/fpe' nequi: $ref: '#/components/schemas/nequi-wrapper/properties/nequi' pago-movil: $ref: '#/components/schemas/sip-wrapper/properties/sip' pse: $ref: '#/components/schemas/pse-wrapper/properties/pse' rtp: $ref: '#/components/schemas/rtp-wrapper/properties/rtp' sepa: $ref: '#/components/schemas/sepa-wrapper/properties/sepa' spei: $ref: '#/components/schemas/spei-wrapper/properties/spei' swift: $ref: '#/components/schemas/swift-wrapper/properties/swift' webpay: $ref: '#/components/schemas/webpay-wrapper/properties/webpay' wire: $ref: '#/components/schemas/wire-wrapper/properties/wire' bank: type: object description: A financial institution supported by conomy for a given country. properties: code: type: string description: Bank code used in payment nodes (e.g., `BANCO_CHILE`, `co_bancolombia`). name: type: string description: Human-readable bank name. countryCode: type: string description: ISO country code of the bank (e.g., `CHL`, `COL`). required: - code - name - countryCode title: bank available-products: type: object description: Available payment products for an identity, organized by currency. properties: supportedPaymentCurrencies: type: array description: Currencies for which pay-in products are available. items: $ref: '#/components/schemas/currency' supportedPayoutCurrencies: type: array description: Currencies for which pay-out products are available. items: $ref: '#/components/schemas/currency' supportedPaymentMethods: type: array description: All pay-in node types available across all currencies. items: $ref: '#/components/schemas/payment-node-type' supportedWithdrawalMethods: type: array description: All pay-out node types available across all currencies. items: $ref: '#/components/schemas/payment-node-type' byCurrency: type: array description: Per-currency breakdown of available pay-in and pay-out products. items: type: object properties: currency: $ref: '#/components/schemas/currency' payin: type: object description: Pay-in configuration for this currency. properties: paymentMethods: type: array description: Node types available for pay-in. items: $ref: '#/components/schemas/payment-node-type' products: type: array description: Full product details for each pay-in method. items: $ref: '#/components/schemas/payment-node-get' payout: type: object description: Pay-out configuration for this currency. properties: withdrawalMethods: type: array description: Node types available for pay-out. items: $ref: '#/components/schemas/payment-node-type' products: type: array description: Full product details for each pay-out method. items: $ref: '#/components/schemas/payment-node-get' required: - supportedPaymentCurrencies - supportedPayoutCurrencies - supportedPaymentMethods - supportedWithdrawalMethods - byCurrency title: available-products limits-payment-node: description: Limits and validation constraints for a payment node. type: object properties: minimumAmount: type: string description: Minimum amount allowed. pattern: ^\d+$ maximumAmount: type: string description: Minimum amount allowed. pattern: ^\d+$ node-wrapper-get: description: Response wrapper used to return a rail-specific payment node. discriminator: propertyName: type mapping: CARD: '#/components/schemas/card-wrapper1' ACCOUNT: '#/components/schemas/account-wrapper2' CRYPTO: '#/components/schemas/crypto-wrapper-get' BANK_ACCOUNT: '#/components/schemas/bank-account-wrapper4' PIX: '#/components/schemas/pix-wrapper5' PCT: '#/components/schemas/pct-wrapper6' ETPAY: '#/components/schemas/etpay-wrapper' FINTOC: '#/components/schemas/fintoc-wrapper' WEBPAY: '#/components/schemas/webpay-wrapper' WOMPI: '#/components/schemas/wompi-wappe' PSE: '#/components/schemas/pse-wrapper' BANCOLOMBIA: '#/components/schemas/bancolombia-wrapper' DAVIVIENDA: '#/components/schemas/davivienda-wrapper' DAVIPLATA: '#/components/schemas/daviplata-wrapper' NEQUI: '#/components/schemas/nequi-wrapper' BREB: '#/components/schemas/breb-wrapper' CVU: '#/components/schemas/cvu-wrapper' SPEI: '#/components/schemas/spei-wrapper' LIGO: '#/components/schemas/ligo-wrapper' SIP: '#/components/schemas/sip-wrapper' ACH: '#/components/schemas/ach-wrapper' WIRE: '#/components/schemas/wire-wrapper' FEDNOW: '#/components/schemas/fednow-wrapper' RTP: '#/components/schemas/rtp-wrapper' SEPA: '#/components/schemas/sepa-wrapper' FPE: '#/components/schemas/fpe-wrapper' SWIFT: '#/components/schemas/swift-wrapper' oneOf: - $ref: '#/components/schemas/card-wrapper1' - $ref: '#/components/schemas/account-wrapper2' - $ref: '#/components/schemas/bank-account-wrapper4' - $ref: '#/components/schemas/crypto-wrapper-get' - $ref: '#/components/schemas/pix-wrapper5' - $ref: '#/components/schemas/pct-wrapper6' - $ref: '#/components/schemas/etpay-wrapper' - $ref: '#/components/schemas/fintoc-wrapper' - $ref: '#/components/schemas/webpay-wrapper' - $ref: '#/components/schemas/wompi-wappe' - $ref: '#/components/schemas/pse-wrapper' - $ref: '#/components/schemas/bancolombia-wrapper' - $ref: '#/components/schemas/davivienda-wrapper' - $ref: '#/components/schemas/daviplata-wrapper' - $ref: '#/components/schemas/nequi-wrapper' - $ref: '#/components/schemas/breb-wrapper' - $ref: '#/components/schemas/cvu-wrapper' - $ref: '#/components/schemas/spei-wrapper' - $ref: '#/components/schemas/ligo-wrapper' - $ref: '#/components/schemas/sip-wrapper' - $ref: '#/components/schemas/ach-wrapper' - $ref: '#/components/schemas/wire-wrapper' - $ref: '#/components/schemas/fednow-wrapper' - $ref: '#/components/schemas/rtp-wrapper' - $ref: '#/components/schemas/sepa-wrapper' - $ref: '#/components/schemas/fpe-wrapper' - $ref: '#/components/schemas/swift-wrapper' title: subnode-get etpay-wrapper: description: Response wrapper used to return Etpay node details. type: object properties: etpay: type: object properties: customer: $ref: '#/components/schemas/customer' url: type: string token: type: string signatureToken: type: string required: - etpay title: ETPAY pct-wrapper6: type: object description: PCT pay-in node for Argentina (ARS). BCRA interoperable QR transfer standard. properties: pct: type: object properties: qrCode: type: string description: QR code string to be rendered or scanned for payment. customer: $ref: '#/components/schemas/customer' successUrl: type: string description: Redirect URL on successful payment. failedUrl: type: string description: Redirect URL on failed payment. required: - pct title: PCT wompi-wappe: *ref_0 card-wrapper1: description: Alternative card node wrapper used in composed schemas. type: object properties: card: type: object properties: holder: type: string description: Card holder full name scheme: type: string description: Card scheme type: type: string description: Card type mask: type: string description: Last 4 digits country: type: string description: Issuing country token: type: string description: Card token required: - token required: - card title: CARD account-wrapper2: description: Alternative account node wrapper used in composed schemas. type: object properties: account: type: object properties: identityId: type: string description: >- Identifier linking the internal account to an organization or user. type: description: The type of internal account. $ref: '#/components/schemas/account-type' balance: type: string pattern: ^\d+(\.\d+)?$ description: Total balance available in the internal account. availableFunds: type: string pattern: ^\d+(\.\d+)?$ description: Amount of funds available for transactions. currency: description: >- The currency in which the internal account operates. Please check "currencies" page. $ref: '#/components/schemas/currency' name: type: string description: A friendly name assigned to the internal account. accountNumber: type: string description: Internal reference number for the account. accountHolder: type: string description: Name of the entity or user owning the internal account. required: - identityId - type - balance - availableFunds - currency - name - accountNumber - accountHolder title: ACCOUNT required: - account bank-account-wrapper4: *ref_1 wallet-wrapper3: *ref_2 crypto-wrapper-get: description: Response wrapper used to return CRYPTO node details. allOf: - $ref: '#/components/schemas/wallet-wrapper3' title: CRYPTO pix-wrapper5: description: Alternative PIX node wrapper used in composed schemas. type: object properties: pix: type: object properties: minimumAmount: type: string description: Minimum amount allowed. pattern: ^\d+$ maximumAmount: type: string description: Minimum amount allowed. pattern: ^\d+$ required: - pix title: PIX node-wrapper: description: Generic wrapper that holds one rail-specific node object. discriminator: propertyName: type mapping: CARD: '#/components/schemas/card-wrapper' ACCOUNT: '#/components/schemas/account-wrapper' CRYPTO: '#/components/schemas/crypto-wrapper' BANK_ACCOUNT: '#/components/schemas/bank-account-wrapper' PIX: '#/components/schemas/pix-wrapper' PCT: '#/components/schemas/pct-wrapper' ETPAY: '#/components/schemas/etpay-wapper' FINTOC: '#/components/schemas/fintoc-wrapper' WEBPAY: '#/components/schemas/webpay-wrapper' WOMPI: '#/components/schemas/wompi-wapper' PSE: '#/components/schemas/pse-wrapper' BANCOLOMBIA: '#/components/schemas/bancolombia-wrapper' DAVIVIENDA: '#/components/schemas/davivienda-wrapper' DAVIPLATA: '#/components/schemas/daviplata-wrapper' NEQUI: '#/components/schemas/nequi-wrapper' BREB: '#/components/schemas/breb-wrapper' CVU: '#/components/schemas/cvu-wrapper' SPEI: '#/components/schemas/spei-wrapper' LIGO: '#/components/schemas/ligo-wrapper' SIP: '#/components/schemas/sip-wrapper' ACH: '#/components/schemas/ach-wrapper' WIRE: '#/components/schemas/wire-wrapper' FEDNOW: '#/components/schemas/fednow-wrapper' RTP: '#/components/schemas/rtp-wrapper' SEPA: '#/components/schemas/sepa-wrapper' FPE: '#/components/schemas/fpe-wrapper' SWIFT: '#/components/schemas/swift-wrapper' oneOf: - $ref: '#/components/schemas/card-wrapper' - $ref: '#/components/schemas/account-wrapper' - $ref: '#/components/schemas/bank-account-wrapper' - $ref: '#/components/schemas/crypto-wrapper' - $ref: '#/components/schemas/pix-wrapper' - $ref: '#/components/schemas/pct-wrapper' - $ref: '#/components/schemas/etpay-wapper' - $ref: '#/components/schemas/fintoc-wrapper' - $ref: '#/components/schemas/webpay-wrapper' - $ref: '#/components/schemas/wompi-wapper' - $ref: '#/components/schemas/pse-wrapper' - $ref: '#/components/schemas/bancolombia-wrapper' - $ref: '#/components/schemas/davivienda-wrapper' - $ref: '#/components/schemas/daviplata-wrapper' - $ref: '#/components/schemas/nequi-wrapper' - $ref: '#/components/schemas/breb-wrapper' - $ref: '#/components/schemas/cvu-wrapper' - $ref: '#/components/schemas/spei-wrapper' - $ref: '#/components/schemas/ligo-wrapper' - $ref: '#/components/schemas/sip-wrapper' - $ref: '#/components/schemas/ach-wrapper' - $ref: '#/components/schemas/wire-wrapper' - $ref: '#/components/schemas/fednow-wrapper' - $ref: '#/components/schemas/rtp-wrapper' - $ref: '#/components/schemas/sepa-wrapper' - $ref: '#/components/schemas/fpe-wrapper' - $ref: '#/components/schemas/swift-wrapper' title: subnode payment: type: object description: >- Schema representing a financial transaction, including details about the transaction's origins, destinations, amounts, fees, and status. properties: id: $ref: '#/components/schemas/_id' externalId: type: string description: External reference identifier for integrations. identityId: type: string description: >- Identifier linking the transaction to a specific user or organization. identityExternalId: type: string description: >- External reference identifier for the identity associated with the transaction. accountNumber: type: string description: The account number involved in the transaction. totalAmount: type: string description: The total amount of the transaction. currency: $ref: '#/components/schemas/currency' description: type: string description: A brief description of the transaction. product: type: string description: >- The product or service related to the transaction. purchaseCurrency:Currency status: type: string description: >- The current status of the transaction (e.g., PENDING, AUTHORIZED, CAPTURED, ATTEMPT, REFUNDED). type: $ref: '#/components/schemas/payment-type' purchaseAmount: type: string description: The amount paid in the transaction. purchaseCurrency: $ref: '#/components/schemas/currency' fees: type: array description: A list of fees associated with the transaction. items: $ref: '#/components/schemas/fee' createdAt: type: string description: Timestamp indicating when the transaction was created. updatedAt: type: string description: Timestamp indicating the last update to the transaction. expiresAt: type: string description: Timestamp indicating when the transaction expires, if applicable. capturedAt: type: string description: Timestamp indicating when the transaction was captured. authorizedAt: type: string description: Timestamp indicating when the transaction was authorized. refundedAt: type: string description: >- Timestamp indicating when the transaction was refunded, if applicable. origins: type: array description: A list of sources for the transaction. items: $ref: '#/components/schemas/payment-node' destinations: type: array description: A list of destinations for the transaction. items: $ref: '#/components/schemas/payment-node' settlement: type: string description: Settlement period for the transaction. required: - id - externalId - identityId - accountNumber - totalAmount - currency - status - type - createdAt - updatedAt payment-node: description: Payment node schema used in create/update payment requests. allOf: - type: object properties: externalId: type: string description: External reference identifier for integrations. name: type: string description: The name of the source or destination of the transaction. type: $ref: '#/components/schemas/payment-node-type' amount: type: string description: The amount involved in the transaction. currency: $ref: '#/components/schemas/currency' settlement: type: string description: Indicates the settlement period. fee: description: Details about any fees applied to the transaction. $ref: '#/components/schemas/fee' identity: type: object description: The entity associated with the source or destination. properties: {} metadata: type: object description: >- Additional metadata related to the transaction source or destination. properties: image: type: string description: An image representing the source or destination. description: type: string description: A brief description of the source or destination. category: type: string description: The category or grouping of the source or destination. required: - image - description - category amountOut: type: string description: Calculated amount - fees required: - type - currency $ref: '#/components/schemas/payment-node-base' - $ref: '#/components/schemas/node-wrapper' title: payment-node payment-node-get: description: Payment node schema returned by read/list endpoints. allOf: - type: object properties: name: type: string description: The name of the source or destination of the transaction. type: $ref: '#/components/schemas/payment-node-type' currency: $ref: '#/components/schemas/currency' product: type: string description: >- Product identifier for the payment rail, in the format `CURRENCY:CURRENCY` (e.g., `ARS:ARS`, `USD:COP`). settlement: type: string description: Indicates the settlement period. fee: description: Details about any fees applied to the transaction. $ref: '#/components/schemas/fee' metadata: type: object description: >- Additional metadata related to the transaction source or destination. properties: image: type: string description: An image representing the source or destination. description: type: string description: A brief description of the source or destination. category: type: string description: The category or grouping of the source or destination. required: - image - description - category minAmount: type: string description: Minimum transaction amount allowed for this node. pattern: ^\d+$ maxAmount: type: string description: Maximum transaction amount allowed for this node. pattern: ^\d+$ requiredFields: type: array description: >- Dot-notation paths of fields required when using this node (e.g., `bank.accountNumber`, `pct.customer.email`). items: type: string validOrigins: type: array description: >- Node types that are valid as origins when this node is used as a destination. items: $ref: '#/components/schemas/payment-node-type' validDestinations: type: array description: >- Node types that are valid as destinations when this node is used as an origin. items: $ref: '#/components/schemas/payment-node-type' nodeSchema: type: object description: >- Dynamic schema describing the structure of the node-specific object. Each key matches the node key (e.g., `bank`, `pct`, `cvu`) and its value reflects the expected field structure. additionalProperties: true requiredFieldTypes: type: object description: >- Map of dot-notation field paths to their expected types (e.g., `{ "bank.accountNumber": "string" }`). additionalProperties: type: string title: payment-node-get required: - type - currency - $ref: '#/components/schemas/node-wrapper-get' title: payment-node-get payment-node-base: description: Shared base fields for payment nodes (`type`, `currency`, `amount`). type: object properties: name: type: string description: The name of the source or destination of the transaction. type: $ref: '#/components/schemas/payment-node-type' externalId: type: string description: External reference identifier for integrations. amount: type: string description: The amount involved in the transaction. amountOut: type: string description: Calculated amount - fees currency: $ref: '#/components/schemas/currency' settlement: type: string description: Indicates the settlement period. fee: description: Details about any fees applied to the transaction. $ref: '#/components/schemas/fee' identity: type: object description: The entity associated with the source or destination. properties: name: type: string description: ' The name of the entity (for users) or the official name (for organizations).' documentNumber: type: string description: >- The document number associated with the entity for identification purposes. externalId: type: string description: External reference ID (client purpose). lastname: type: string description: The last name of the user (if applicable). metadata: type: object description: >- Additional metadata related to the transaction source or destination. properties: image: type: string description: An image representing the source or destination. description: type: string description: A brief description of the source or destination. category: type: string description: The category or grouping of the source or destination. required: - image - description - category required: - type - currency node-identity: description: Identity reference object used inside account nodes. type: object properties: identityId: type: string description: User unique identifier name: type: string description: User name lastname: type: string description: User lastname nickname: type: string description: User nickname documentNumber: type: string description: User DNI entityType: type: string description: Entity type of identity additionalProperties: false required: - identityId create-payment-body: description: Request body schema for creating a payment. type: object properties: externalId: type: string description: External reference identifier for integrations. identityId: type: string description: >- Identifier linking the transaction to a specific user or organization. identityExternalId: type: string description: >- External reference identifier for the identity associated with the transaction. accountNumber: type: string description: The account number involved in the transaction. currency: $ref: '#/components/schemas/currency' totalAmount: type: string description: The total amount of the transaction. description: type: string description: A brief description of the transaction. type: $ref: '#/components/schemas/payment-type' purchaseAmount: type: string description: The amount paid in the transaction. purchaseCurrency: $ref: '#/components/schemas/currency' expiresAt: type: string description: Timestamp indicating when the transaction expires, if applicable. origins: type: array description: A list of sources for the transaction. items: $ref: '#/components/schemas/payment-node' destinations: type: array description: A list of destinations for the transaction. items: $ref: '#/components/schemas/payment-node' required: - externalId - identityId - accountNumber - totalAmount - currency - type payment-type: type: string description: >- Indicates the purpose of the payment. This field defines how the payment should be processed within the system, based on its intent—such as funding an account, withdrawing funds, transferring between users, collecting funds, or applying fees. Go to the [payment types page](../payments/payment-types "mention") for the complete list of supported values. enum: - PURCHASE - TOPUP_ACCOUNT - WITHDRAWAL_ACCOUNT - P2P - COLLECT - FEE - REMITTANCE x-enumDescriptions: PURCHASE: Payment initiated by an external customer for goods or services. TOPUP_ACCOUNT: A deposit of funds into an internal account WITHDRAWAL_ACCOUNT: Funds withdrawn from an internal account to an external bank account. P2P: Pull of funds from another internal account. COLLECT: Pull of funds from another internal account. FEE: Fee charged or collected within the system. REMITTANCE: >- Crossborder payment from an internal or external account to receipient in another country. customer: type: object properties: id: $ref: '#/components/schemas/_id' firstName: type: string description: Payer's name email: type: string description: Payer's email lastName: type: string description: Payer's last name phoneNumber: type: string description: Payer's phone number without prefix phoneNumberPrefix: type: string description: Phone number prefix (e.g., +57) documentType: $ref: '#/components/schemas/document-type' documentNumber: type: string description: The document number associated with the documentType address: $ref: '#/components/schemas/address' description: Information on who pays the transaction required: - firstName payment-node-type: type: string description: >- Defines the source or destination type of the payment. This field determines how the funds will be sent or received and which structure is expected in the corresponding `node` object. Only one type is allowed per node. | Type | Node | Country | Direction | |---------------|---------------|----------------|------------------| | `CARD` | `card` | Multi | Pay-in | | `CRYPTO` | `wallet` | Multi | Pay-in / Pay-out | | `ACCOUNT` | `account` | Multi | Pay-in / Pay-out | | `BANK_ACCOUNT`| `bank` | Multi | Pay-out | | `PIX` | `pix` | Brazil | Pay-in / Pay-out | | `PCT` | `pct` | Argentina | Pay-in | | `CVU` | `cvu` | Argentina | Pay-in | | `ETPAY` | `etpay` | Chile | Pay-in | | `FINTOC` | `fintoc` | Chile | Pay-in | | `WEBPAY` | `webpay` | Chile | Pay-in | | `SPEI` | `spei` | Mexico | Pay-in / Pay-out | | `PSE` | `pse` | Colombia | Pay-in | | `BANCOLOMBIA` | `bancolombia` | Colombia | Pay-in | | `DAVIVIENDA` | `davivienda` | Colombia | Pay-in | | `DAVIPLATA` | `daviplata` | Colombia | Pay-in / Pay-out | | `NEQUI` | `nequi` | Colombia | Pay-in / Pay-out | | `BREB` | `breb` | Colombia | Pay-out | | `WOMPI` | `wompi` | Colombia | Pay-in | | `LIGO` | `ligo` | Peru | Pay-in | | `SIP` | `sip` | Peru, Bolivia | Pay-in | | `ACH` | `ach` | USA | Pay-in / Pay-out | | `WIRE` | `wire` | USA | Pay-out | | `FEDNOW` | `fedNow` | USA | Pay-in / Pay-out | | `RTP` | `rtp` | USA | Pay-in | | `SEPA` | `sepa` | Europe | Pay-out | | `FPE` | `fpe` | UK | Pay-out | | `SWIFT` | `swift` | Global | Pay-out | enum: - CARD - CRYPTO - ACCOUNT - BANK_ACCOUNT - PIX - PCT - CVU - ETPAY - FINTOC - WEBPAY - SPEI - PSE - BANCOLOMBIA - DAVIVIENDA - DAVIPLATA - NEQUI - BREB - WOMPI - LIGO - SIP - ACH - WIRE - FEDNOW - RTP - SEPA - FPE - SWIFT x-enumDescriptions: CARD: Represents a card payment. Opens the card node. CRYPTO: >- Cryptocurrency wallet rail (global). Supports both pay-in and pay-out flows. Opens the wallet node. ACCOUNT: Represents an internal platform account. Opens the account node. BANK_ACCOUNT: Generic external bank account for payouts. Opens the bank node. PIX: PIX QR code or copy-paste code in Brazil (BRL). Opens the pix node. PCT: Interoperable QR payment in Argentina (ARS) under BCRA PCT standard. Opens the pct node. CVU: Virtual account / CBU bank transfer pay-in in Argentina (ARS). Opens the cvu node. ETPAY: Open banking pay-in for Chile (CLP) via Etpay. Opens the etpay node. FINTOC: Open banking pay-in for Chile (CLP) via Fintoc widget. Opens the fintoc node. WEBPAY: Card payment in Chile (CLP) via Transbank. Opens the webpay node. SPEI: Electronic Interbank Payment System for Mexico (MXN). Opens the spei node. PSE: Online secure bank transfer pay-in for Colombia (COP). Opens the pse node. BANCOLOMBIA: Bancolombia direct payment pay-in for Colombia (COP). Opens the bancolombia node. DAVIVIENDA: Davivienda direct payment pay-in for Colombia (COP). Opens the davivienda node. DAVIPLATA: Daviplata mobile wallet for Colombia (COP). Opens the daviplata node. NEQUI: Nequi digital wallet for Colombia (COP). Opens the nequi node. BREB: Bank account transfer payout for Colombia (COP). Opens the breb node. WOMPI: Wompi payment gateway pay-in for Colombia (COP). Opens the wompi node. LIGO: QR-based payment system pay-in for Peru (PEN). Opens the ligo node. SIP: Interoperable payment system for Peru (PEN) and Bolivia (BOB). Opens the sip node. ACH: Automated Clearing House bank transfers for USA (USD). Opens the ach node. WIRE: Wire transfer via correspondent banks for USA (USD). Opens the wire node. FEDNOW: FedNow instant payment service for USA (USD). Opens the fedNow node. RTP: Real-time payments network pay-in for USA (USD). Opens the rtp node. SEPA: Single Euro Payments Area payout for Europe (EUR). Opens the sepa node. FPE: Faster Payments near-instant bank transfer payout for UK (GBP). Opens the fpe node. SWIFT: >- International bank wire transfer rail (global). Pay-out only. Opens the swift node. identity-type: type: string description: >- Specifies whether the entity is an `ORGANIZATION` or an individual `USER`. enum: - USER - ORGANIZATION x-enumDescriptions: USER: Represents an individual with personal identifying information. ORGANIZATION: >- A legal entity such as a company, institution, or other juridical person bank-account: type: object properties: id: type: string description: Unique identifier for the bank account. externalId: type: string description: External reference identifier for integrations. accountNumber: type: string description: The bank account number. nickname: type: string description: A friendly name assigned to the bank account. bank: type: string description: The name of the bank where the account is held. currency: $ref: '#/components/schemas/currency' typeAccount: type: string description: The type of bank account. CHECKING_ACOUNT, SAVINGS accountHolder: type: string description: The full name of the account holder. accountHolderDni: type: string description: The national identification number or tax ID of the account holder. country: $ref: '#/components/schemas/country' createdAt: type: string format: date-time description: Timestamp indicating when the account was created. updatedAt: type: string format: date-time description: Timestamp indicating the last update to the account details. description: >- Schema representing a bank account, including essential details about the account holder and financial institution. required: - accountNumber - bank - currency - accountHolder - accountHolderDni - country address: type: object properties: administrativeAreaLevel1: type: string description: The first-level administrative division. administrativeAreaLevel2: type: string description: The second-level administrative division. administrativeAreaLevel3: type: string description: The third-level administrative division. street: type: string description: The name of the street. streetNumber: type: string description: The street number. optionalAddress: type: string description: Additional address details. country: $ref: '#/components/schemas/country' zipcode: type: string description: Zipcode f the address description: The entity’s address information. identity: description: Identity entity (user or organization) including profile, compliance, and access-control fields. type: object properties: id: description: ' Unique identifier for the entity.' $ref: '#/components/schemas/_id' type: $ref: '#/components/schemas/identity-type' name: type: string description: ' The name of the entity (for users) or the official name (for organizations).' nickname: type: string description: An alternative or preferred name for the entity. email: type: string format: email description: The email address associated with the entity. phone: type: string description: the phone number linked to the entity. Include +(phone country code) documentNumber: type: string description: >- The document number associated with the entity for identification purposes. documentType: $ref: '#/components/schemas/document-type' idv: type: string description: Identity verification reference securityOptions: type: object properties: twoFactorAuth: type: boolean description: Indicates whether two-factor authentication is enabled signTrx: type: boolean description: Determines if the entity is required to sign transactions signAccountsOperations: type: boolean description: >- Determines if the entity is required to sign account-related operations accessControl: type: object properties: scopes: type: array items: type: object properties: resource: type: string description: >- Kind of resource we are giving access to (e.g., IDENTITY) reference: type: string description: Reference which identificates the resource permissions: type: array items: type: string description: >- Permissions allowed to perform on behalf of the resource required: - resource - reference - permissions description: List of scopes required: - scopes description: Dashboard access control assigned to the identity country: $ref: '#/components/schemas/country' children: type: array items: type: object properties: id: type: string description: ID name: type: string email: type: string required: - id - email - name description: >- A list of related entities (e.g., subsidiaries for organizations or dependent users status: type: string description: >- The current status of the entity. PENDING, PENDING_EMAIL_VALIDATION, PENDING_PHONE_VALIDATION, SCREENING, ACTIVE externalId: type: string description: External reference ID (client purpose). lastname: type: string description: The last name of the user (if applicable). bankAccount: description: A reference to the associated bank account $ref: '#/components/schemas/bank-account' rules: type: object properties: {} description: 'Custom rules or policies applicable to the entity. ' gender: type: string description: Gender information (if applicable kyc: type: object properties: {} description: Information related to Know Your Customer (KYC) compliance watchList: type: object properties: {} description: Watchlist information for compliance or fraud detection. extendedData: type: array items: type: string description: Additional data. createdAt: type: string format: date-time description: Creation date UTC format. updatedAt: type: string format: date-time description: Time of last update made to the entity, UTC format. address: description: Address information. $ref: '#/components/schemas/address' Scopes: description: Access-control scope definition for dashboard/resource permissions. type: object properties: resource: type: string description: Kind of resource we are giving access to (e.g., IDENTITY) reference: type: string description: Reference which identificates the resource permissions: type: array items: type: string description: Permissions allowed to perform on behalf of the resource required: - resource - reference - permissions rule: description: Business rule definition applied to identities, payments, or fees. type: object title: rule properties: id: type: string description: Unique identifier for the rule. owner: description: Owner of the rule. $ref: '#/components/schemas/rule-owner' target: description: Target entity for the rule to be applied on. $ref: '#/components/schemas/rule-target' type: description: Type of rule $ref: '#/components/schemas/rule-type' identityId: type: string description: Identity identifier of who the rule applies overwrites: type: boolean description: >- Indicates whether this rule should overwrite the rules inherited from its ancestors. createdAt: type: string format: date-time description: Creation date UTC format. updatedAt: type: string format: date-time description: Last update date UTC format. filter: type: array items: type: object properties: name: description: Name of field $ref: '#/components/schemas/rule-filter-key' value: type: string description: 'Given value for ' required: - name - value description: Filter to constrain when the rule is applied nullable: true feeRule: type: object properties: description: type: string description: Description to be inputed when applied. feeType: description: Type of the fee $ref: '#/components/schemas/fee-type' value: type: string description: The value of the fee as string to support high-precision decimal description: Required when type is FEE required: - feeType - value nullable: true allowedValuesRule: type: object properties: key: type: string description: key of field to constrain allowedValues: type: array items: type: string description: value allowed description: array of values allowed for key description: Required when type is ALLOWED_VALUES required: - allowedValues - key nullable: true required: - owner - target - type - identityId - overwrites - createdAt - updatedAt oneOf: - title: Fee Rule properties: allowedValuesRule: $ref: '#/components/schemas/allowed-values-rule' nullable: true feeRule: $ref: '#/components/schemas/fee-rule' nullable: true type: type: string enum: - FEE target: type: string enum: - TRANSACTION x-label: Fee Rule type: object - title: Allowed Values Rule properties: feeRule: $ref: '#/components/schemas/fee-rule' nullable: true allowedValuesRule: $ref: '#/components/schemas/allowed-values-rule' type: type: string enum: - ALLOWED_VALUES x-label: Allowed Values Rule type: object rule-target: type: string description: >- Target entity for the rule to be applied on. `IDENTITY` or `TRANSACTION`. enum: - IDENTITY - TRANSACTION x-enumDescriptions: IDENTITY: Represents an individual identity TRANSACTION: Any type of transaction rule-type: type: string description: Type of rule enum: - FEE - ALLOWED_VALUES rule-filter-key: type: string description: Type of rule enum: - paymentMethod - currency - purchaseCurrency - transactionType - country - product rule-owner: type: string description: Type of owner of the rule enum: - CONOMY_HQ - CLIENT fee-rule: type: object description: Fee rule definition used when rule type is FEE. properties: description: type: string description: Description to be inputed when applied. feeType: description: Type of the fee $ref: '#/components/schemas/fee-type' value: type: string description: The value of the fee as string to support high-precision decimal required: - feeType - value allowed-values-rule: type: object description: Allowed values rule definition used when rule type is ALLOWED_VALUES. properties: key: type: string description: key of field to constrain allowedValues: type: array items: type: string description: value allowed description: array of values allowed for key required: - allowedValues - key payment-link-destination: description: Destination configuration schema used by payment links. allOf: - type: object properties: name: type: string description: The name of the source or destination of the transaction. type: $ref: '#/components/schemas/payment-node-type' externalId: type: string description: External reference identifier for integrations. amount: type: string description: The amount involved in the transaction. metadata: type: object description: >- Additional metadata related to the transaction source or destination. properties: image: type: string description: An image representing the source or destination. description: type: string description: A brief description of the source or destination. category: type: string description: The category or grouping of the source or destination. required: - image - description - category required: - type - amount - $ref: '#/components/schemas/account-wrapper' - properties: type: type: string enum: - ACCOUNT required: - type type: object payment-link9: description: Payment-link response schema including checkout and status fields. type: object properties: id: $ref: '#/components/schemas/_id' checkoutToken: type: string description: Reference for checkout url status: description: >- Whether the payment link’s url is active. If false, customers visiting the URL will be shown a page saying that the link has been deactivated $ref: '#/components/schemas/payment-link-status' items: type: array items: type: object properties: preTaxAmount: type: string description: The amount of the item totalAmount: type: string description: amount + tax.amount, if no tax it's equal to amount description: type: string description: The description of the item tax: type: object properties: name: type: string description: The name of the fee. type: description: The type of fee applied (e.g., FIXED, PERCENTAGE). $ref: '#/components/schemas/fee-type' value: type: string description: The value of the fee. amount: type: string description: The calculated amount of the fee. required: - name - type - value - amount nullable: true required: - preTaxAmount - totalAmount - description description: List of items to pay for currency: $ref: '#/components/schemas/currency' description: Currency for payment preTaxAmount: type: string description: Addition of all items preTaxAmounts totalAmount: type: string description: Addition of all items totalAmounts url: type: string description: Url to open checkout flow paymentMethodsAllowed: type: array items: $ref: '#/components/schemas/payment-node-type' description: Allowed payment methods. minItems: 1 customer: description: Optional customer to pass into the checkout session type: object properties: id: $ref: '#/components/schemas/_id' firstName: type: string description: Payer's name email: type: string description: Payer's email lastName: type: string description: Payer's last name phoneNumber: type: string description: Payer's phone number without prefix phoneNumberPrefix: type: string description: Phone number prefix (e.g., +57) documentType: $ref: '#/components/schemas/document-type' documentNumber: type: string description: The document number associated with the documentType address: $ref: '#/components/schemas/address' nullable: true createdAt: type: string description: 'When the link expires ' format: date-time destinations: type: array items: $ref: '#/components/schemas/payment-link-destination' description: A list of destinations for the transaction. minItems: 1 duration: type: integer description: Amount of seconds for payment link to be inactivated after creation minimum: 30 customerRequirements: type: array items: type: string description: customer fields to require on checkout enum: - firstName - email - lastName - phoneNumber - phoneNumberPrefix - address - documentNumber - documentType owner: description: owner of who created the payment link $ref: '#/components/schemas/node-identity' successUrl: type: string description: >- The URL to which the end user will be redirected after successful payment completion. failedUrl: type: string description: >- The URL to which the end user will be redirected after failed payment or cancellation. required: - paymentMethodsAllowed - items - url - id - createdAt - currency - destinations - status - duration - owner - preTaxAmount - totalAmount - checkoutToken payment-items: description: Line-item schema used in checkout sessions and payment links. type: object properties: preTaxAmount: type: string description: The amount of the item totalAmount: type: string description: amount + tax.amount, if no tax it's equal to amount description: type: string description: The description of the item tax: type: object properties: name: type: string description: The name of the fee. type: description: The type of fee applied (e.g., FIXED, PERCENTAGE). $ref: '#/components/schemas/fee-type' value: type: string description: The value of the fee. amount: type: string description: The calculated amount of the fee. required: - name - type - value - amount nullable: true required: - preTaxAmount - description - totalAmount payment-link-status: type: string description: Type of rule enum: - ATTEMPT - ACTIVE - EXPIRED - FINISHED - PROCESSING_PAYMENT checkout-session-status: type: string description: checkout session status enum: - ATTEMPT - ACTIVE - EXPIRED - FINISHED - PROCESSING_PAYMENT - FAILED checkout-session: description: Checkout session entity created from a payment link or token. type: object properties: id: $ref: '#/components/schemas/_id' paymentLinkId: type: string description: Reference Payment Link ID checkoutToken: type: string description: Reference for checkout url paymentConfigs: type: array items: $ref: '#/components/schemas/currency-config' createdAt: type: string description: 'When the link expires ' format: date-time status: description: >- Whether the payment link’s url is active. If false, customers visiting the URL will be shown a page saying that the link has been deactivated $ref: '#/components/schemas/checkout-session-status' items: type: array items: type: object properties: preTaxAmount: type: string description: The amount of the item totalAmount: type: string description: amount + tax.amount, if no tax it's equal to amount description: type: string description: The description of the item tax: type: object properties: name: type: string description: The name of the fee. type: description: The type of fee applied (e.g., FIXED, PERCENTAGE). $ref: '#/components/schemas/fee-type' value: type: string description: The value of the fee. amount: type: string description: The calculated amount of the fee. required: - name - type - value - amount nullable: true required: - preTaxAmount - totalAmount - description description: List of items to pay for currency: $ref: '#/components/schemas/currency' description: Currency for payment preTaxAmount: type: string description: Addition of all items preTaxAmounts totalAmount: type: string description: Addition of all items totalAmounts url: type: string description: Url to open checkout flow paymentMethodsAllowed: type: array items: $ref: '#/components/schemas/payment-node-type' description: Allowed payment methods. minItems: 1 customer: description: Optional customer to pass into the checkout session type: object properties: id: $ref: '#/components/schemas/_id' firstName: type: string description: Payer's name email: type: string description: Payer's email lastName: type: string description: Payer's last name phoneNumber: type: string description: Payer's phone number without prefix phoneNumberPrefix: type: string description: Phone number prefix (e.g., +57) documentType: $ref: '#/components/schemas/document-type' documentNumber: type: string description: The document number associated with the documentType address: $ref: '#/components/schemas/address' nullable: true redirectUrl: type: string description: >- The URL to which the end user will be redirected after completing the payment. destinations: type: array items: $ref: '#/components/schemas/payment-link-destination' description: A list of destinations for the transaction. minItems: 1 customerRequirements: type: array items: type: string description: customer fields to require on checkout enum: - firstName - email - lastName - phoneNumber - phoneNumberPrefix - address - documentNumber - documentType expiresAt: type: string format: date-time owner: $ref: '#/components/schemas/node-identity' description: owner of who created the session required: - id - createdAt - paymentConfigs - paymentMethodsAllowed - items - url - currency - destinations - status - preTaxAmount - totalAmount - expiresAt - owner payment-method-config: description: Payment-method configuration and limits for a checkout session. type: object properties: id: type: string description: ID specific type of Payment method type: type: string description: Generic type of Payment method enabled: type: boolean description: Enabled boolean requiredFields: type: array items: type: string description: List of required fields for the provider purchaseAmount: type: string description: Calculated amount to pay for the Payment Method required: - id - type - enabled - requiredFields - purchaseAmount currency-config: description: Currency-level checkout configuration for available payment methods. type: object properties: currency: type: string description: Currency code enabled for the checkout session product: type: string description: Product conversion of the checkout session exchangeRate: type: string description: Product's exchange rate paymentMethods: type: array items: $ref: '#/components/schemas/payment-method-config' description: Payment methods config list required: - currency - product - exchangeRate - paymentMethods checkout-session-payment: description: Request payload to submit a payment in an active checkout session. type: object properties: description: type: string description: A brief description of the transaction. origins: type: array description: A list of sources for the transaction. items: $ref: '#/components/schemas/payment-node' create-checkout-session: description: Request payload used to create a checkout session. type: object properties: checkoutToken: type: string description: Reference for checkout url items: type: array items: type: object properties: preTaxAmount: type: string description: The amount of the item totalAmount: type: string description: amount + tax.amount, if no tax it's equal to amount description: type: string description: The description of the item tax: type: object properties: name: type: string description: The name of the fee. type: description: The type of fee applied (e.g., FIXED, PERCENTAGE). $ref: '#/components/schemas/fee-type' value: type: string description: The value of the fee. amount: type: string description: The calculated amount of the fee. required: - name - type - value - amount nullable: true required: - preTaxAmount - totalAmount - description description: List of items to pay for currency: $ref: '#/components/schemas/currency' description: Currency for payment paymentMethodsAllowed: type: array items: $ref: '#/components/schemas/payment-node-type' description: Allowed payment methods. minItems: 1 customer: description: Optional customer to pass into the checkout session type: object properties: id: $ref: '#/components/schemas/_id' firstName: type: string description: Payer's name email: type: string description: Payer's email lastName: type: string description: Payer's last name phoneNumber: type: string description: Payer's phone number without prefix phoneNumberPrefix: type: string description: Phone number prefix (e.g., +57) documentType: $ref: '#/components/schemas/document-type' documentNumber: type: string description: The document number associated with the documentType address: $ref: '#/components/schemas/address' nullable: true destinations: type: array items: $ref: '#/components/schemas/payment-link-destination' description: A list of destinations for the transaction. minItems: 1 duration: type: integer description: Amount of seconds for payment link to be inactivated after creation minimum: 30 customerRequirements: type: array items: type: string description: customer fields to require on checkout enum: - firstName - email - lastName - phoneNumber - phoneNumberPrefix - address - documentNumber - documentType owner: description: owner of who created the payment link $ref: '#/components/schemas/node-identity' successUrl: type: string description: >- The URL to which the end user will be redirected after successful payment completion. failedUrl: type: string description: >- The URL to which the end user will be redirected after failed payment or cancellation. required: - checkoutToken - items - currency - paymentMethodsAllowed - destinations - duration - owner _id: type: string description: Unique identifier for the internal service. country: type: string description: >- Country of operations for the entity, specified using the ISO 3166-1 alpha-3 standard (e.g., `CHL`, `USA`, `MEX`). Go to the [countries page](../home/countries "mention") for the complete list of supported values. account: type: object description: >- Schema representing an internal account used for handling financial operations within the system. properties: id: description: Unique identifier for the internal account. $ref: '#/components/schemas/_id' identityId: type: string description: Identifier linking the internal account to an organization or user. externalId: type: string description: External reference identifier for integrations. type: description: The type of internal account. $ref: '#/components/schemas/account-type' custody: type: string description: Indicates the custody type managing the internal account. balance: type: string pattern: ^\d+(\.\d+)?$ description: Total balance available in the internal account. availableFunds: type: string pattern: ^\d+(\.\d+)?$ description: Amount of funds available for transactions. currency: description: >- The currency in which the internal account operates. Please check "currencies" page. $ref: '#/components/schemas/currency' name: type: string description: A friendly name assigned to the internal account. accountNumber: type: string description: Internal reference number for the account. accountHolder: type: string description: Name of the entity or user owning the internal account. status: type: string description: The current status of the account (e.g., PENDING, ACTIVE, BLOCKED). parentId: type: string description: Identifier of the parent account if this is a sub-account. subAccounts: type: object description: Details of sub-accounts associated with this internal account. properties: balance: type: string pattern: ^\d+(\.\d+)?$ description: Total balance of the sub-account. availableFunds: type: string pattern: ^\d+(\.\d+)?$ description: Funds available for use within the sub-account. required: - balance - availableFunds custodyBankAccount: type: object description: Details of the custody bank account linked to this internal account. properties: accountNumber: type: string description: The bank account number. bank: type: string description: The name of the bank where the account is held. currency: $ref: '#/components/schemas/currency' typeAccount: type: string description: The type of bank account. CHECKING_ACOUNT, SAVINGS country: $ref: '#/components/schemas/country' required: - accountNumber - bank - currency - country required: - identityId - externalId - type - custody - balance - availableFunds - currency - name - accountNumber - accountHolder - status - parentId - id wallet: description: Crypto wallet node payload for pay-ins or payouts. type: object properties: provider: type: string description: Optional provider identifier. referenceId: type: string description: Optional external wallet id in the provider system. token: type: string description: Optional token symbol (e.g., `USDC`, `USDT`). network: type: string description: Optional blockchain network (e.g., `ETH`, `TRON`, `SOLANA`). address: type: string description: Wallet address used to receive or send funds. required: - address pagination: type: object properties: pagination: $ref: '#/components/schemas/pagination-cursor' description: Pagination cursor object results: type: array items: type: object properties: {} description: Items from the current page required: - results - pagination description: >- An object containing pagination metadata that helps navigate through the dataset. pagination-cursor: description: Cursor-based pagination metadata (`limit`, `cursor`, `hasMore`). type: object properties: count: type: integer description: count of items shown up to the moment next: type: integer description: next cursor to be used in offset to display the next page previous: type: integer description: previous cursor to be used in offset to display the previous page total: type: integer description: total count of items to be shown required: - next - previous - total - count account-type: type: string description: The type of internal account. enum: - CHECKING - ASSET - SAVINGS - ESCROW - FEE x-enumDescriptions: CHECKING: Fiat liquid account used for spending, withdrawals, or operations. ASSET: Tracks non-operational or financial assets. SAVINGS: Holds funds intended for savings or long-term storage. ESCROW: Temporary routing account for incoming funds. FEE: Holds all fees collected via FEE or FEE_INVOICE. document-type: type: string description: >- Documeny type of the entity (e.g., `RUT`, `CURP`, `CURL`). Go to the [Supported Identity document types page](../home/supported-identity-document-types "mention") for the complete list of supported values. currency: type: string description: >- Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., `CLP`, `ARS`, `MXN`). Go to the [currencies page](../home/currencies "mention") for the complete list of supported values. fee: type: object description: Details about any fees applied to the transaction. properties: name: type: string description: The name of the fee. type: description: The type of fee applied (e.g., FIXED, PERCENTAGE). $ref: '#/components/schemas/fee-type' value: type: string description: The value of the fee. amount: type: string description: The calculated amount of the fee. currency: $ref: '#/components/schemas/currency' required: - name - type - value - currency - amount fee-type: type: string description: Type of fee enum: - FIXED - PERCENTAGE error: type: object description: Standard error response payload. properties: statusCode: type: integer description: HTTP status code. error: type: string description: Error category. message: type: string description: Human-readable error message. required: - statusCode - error - message responses: Bad request: description: The request is invalid, malformed, or contains unsupported values. content: application/json: schema: $ref: '#/components/schemas/error' Internal server error: description: The server failed to process the request due to an unexpected condition. content: application/json: schema: $ref: '#/components/schemas/error' Not Found: description: The requested resource does not exist or is not accessible with the provided identifiers. content: application/json: schema: $ref: '#/components/schemas/error' securitySchemes: BearerToken: type: http scheme: bearer bearer: type: http scheme: bearer servers: [] security: - BearerToken: []