Core

Core's service allows you to create and manage digital accounts.

User account

Digital account in local currency that manages your user's balance.

To have an account your users must:

  • Be registered with Pomelo.
  • Be in the “Active“ state.
  • Have their identity verified. We only perform this verification if you have purchased our Identity product.

Bridge account

Operational account that allows you to keep track of the funds, maintaining consistency of balances between the client's accounts and the backup in the bank.

Account lifecycle

The accounts status is one of the following:

  • ACTIVE: The account is active and can be used to make transactions normally. When an account is created its initial status will be ACTIVE.
  • FROZEN: The account can receive money but debit transactions are blocked.
  • DISABLED: No transactions are permitted for the account.
  • DELETED: The account is deleted and may not be reactivated.

To change an account status from ACTIVE to FREEZED, and DISABLED, use the PATCH endpoint.

To change an account status to DELETED, use the DELETE endpoint.

Possible error responses

If an operation fails, an error is returned with a list of possible associated operations:

  • ACCOUNT_VALIDATION_ERROR: The account could not be successfully validated. For example, when the idempotency key used in the request is already in use by another user.
    • CREATE
  • USER_VALIDATION_ERROR: The user’s identity could not be validated or does not exist.
    • CREATE
  • CLIENT_VALIDATION_ERROR: The customer belonging to the user you're trying to create an account for could not be identified.
    • CREATE
  • USER_ACCOUNT_LIMIT_REACHED: The user reached the limit of accounts that he can have, so a new one cannot be created.
    • CREATE
  • ACCOUNT_NOT_FOUND: The account ID does not exist.
    • UPDATE
    • DELETE
  • ACCOUNT_DELETED: The account ID was deleted.
    • UPDATE
    • DELETE
  • INVALID_ACCOUNT_STATUS: The account update status is invalid.
    • UPDATE
    • DELETE
  • LOCKED_ACCOUNT_STATUS: It is not possible to update an account modified from Pomelo.
    • UPDATE
    • DELETE
  • INVALID_UPDATE_STATUS_MOTIVE: The reason for updating the account status you entered is invalid. For DELETE the valid reasons are OTHER, INTERNAL_REASON, USER_REQUEST and FRAUD. For DISABLED are OTHER, LOST, INTERNAL_REASON, STOLEN, FRAUD and INHIBITION. For FROZEN are OTHER and SEIZURE
    • UPDATE
    • DELETE
  • INVALID_UPDATE_STATUS_COMMENT: Invalid reason for updating account status entered. If the reason is 'OTHER', it must be completed.
    • UPDATE
    • DELETE
  • ACCOUNT_HAS_FUNDS: It is not possible to delete an account that is not completely empty.
    • DELETE
  • INVALID_CURRENCY: The currency you entered is invalid.
    • CREATE

Create account

The /core/accounts/v1 endpoint lets you create a digital account for a Pomelo user. If the account is created correctly, you will see status 201.
Available parameters
Header Parameters
X-Idempotency-Keystringrequired
Idempotent account creation identifier. This number is needed for each account you want to create. If two identical requests have the same idempotency id, only one account will be created, even if both receive a successful response.
Authorizationstringrequired
Example: Bearer {access_token}
Body Parameters
owner_typestringrequired
Type of account owner.
Example: USER
Enum: USERCLIENT
user_idstring
ID for the user who owns the account. This field is required if it is a user account.
Example: usr-20I2tIqG3buTsvHKKORrtY2MkFH
countrystringrequired
Account country.
Enum: ARGBRAMEX
currencystringrequired
Account currency.
Enum: ARSBRLMXN
metadataobject
This is an optional field to add any extra data you want.
Response details
dataobjectrequired
Was this section helpful to you?
POST/core/accounts/v1
{
"owner_type":
"USER"
"user_id":
"usr-20I2tIqG3buTsvHKKORrtY2MkFH"
"country":
"ARG"
"currency":
"ARS"
"metadata":{
"extra_property_1":
"My value"
}
}
Response examples

Delete Account

The /core/accounts/v1/{id} endpoint lets you delete a specific account. Its status will be changed to DELETED and can no longer be used to make transactions.
Available parameters
Header Parameters
Authorizationstringrequired
Example: Bearer {access_token}
Body Parameters
status_update_motivestringrequired
Enum: OTHERINTERNAL_REASONUSER_REQUESTFRAUD
status_update_commentstring(maxLength: 512, minLength: 0)
This field is required when the status_update_motive is OTHER.
Example: Reason for updating the account status.
Path Parameters
idstring(maxLength: 256, minLength: 0)required
Example: acc-20I4qJinTCudWvJULZygeC257wy
Response details
dataobjectrequired
Was this section helpful to you?
DELETE/core/accounts/v1/{id}
{
"status_update_motive":
"OTHER"
"status_update_comment":
"Reason for updating the account status."
}
Response examples

Update account

The /core/accounts/v1/{id} endpoint helps you change an account status. Los estados de la cuenta pueden alterarse entre ACTIVE, FROZEN o DISABLED. Para los últimos dos estados es necesario indicar el motivo del cambio de estado utilizando la propiedad status_update_motive.
Available parameters
Header Parameters
Authorizationstringrequired
Example: Bearer {access_token}
Body Parameters
statusstringrequired
Enum: ACTIVEDISABLEDFROZEN
status_update_motivestring
This field is required when the status is not ACTIVE.
Enum: OTHERLOSTINTERNAL_REASONSTOLENFRAUDINHIBITIONSEIZUREUSER_REQUEST
status_update_commentstring(maxLength: 512, minLength: 0)
This field is required when the status_update_motive is OTHER.
Example: Reason for updating the account status.
Path Parameters
idstringrequired
Example: acc-20I4qJinTCudWvJULZygeC257wy
Response details
dataobjectrequired
Was this section helpful to you?
PATCH/core/accounts/v1/{id}
{
"status":
"ACTIVE"
"status_update_motive":
"OTHER"
"status_update_comment":
"Reason for updating the account status."
}
Response examples