Create users

Register Cobru users from your product, fetch categories, and complete email and phone verification.

This page consolidates legacy Cobru documentation. Before using it in production, confirm current required fields, document codes, and verification behavior with your Cobru team.

Creation endpoint

POST https://dev.cobru.co/user/

This endpoint registers a new user in the platform.

brand field

The brand field identifies the brand under which the user is registered. This value links the registration to a company, partner, or specific product.

{
  "brand": "MY_BRAND"
}

username field

During registration, username is sent with the user's phone number or another identifier if your integration requires it.

{
  "username": "09906786442"
}

After the user is created, Cobru may return the username with the brand prefix.

{
  "username": "MY_BRAND-09906786442"
}

The brand prefix on username applies in the response or final stored value, not in the initial creation payload.

Categories and subcategories

Before registering the user, fetch the categories and subcategories that will be sent in the payload.

Get categories

GET https://prod.cobru.co/category/
{
  "error": false,
  "message": [
    {
      "id": 99,
      "name": "Actividades De Organizaciones Y Entidades Extraterritoriales."
    },
    {
      "id": 98,
      "name": "Actividades No Diferenciadas De Los Hogares Individuales Como Productores De Bienes Y Servicios Para Uso Propio."
    },
    {
      "id": 97,
      "name": "Actividades De Los Hogares Individuales Como Empleadores De Personal Doméstico."
    },
    {
      "id": 96,
      "name": "Otras Actividades De Servicios Personales."
    }
  ]
}

Get subcategories by category

GET https://prod.cobru.co/subcategory?category_id=66
{
  "error": false,
  "message": [
    {
      "id": 556,
      "name": "6630 Actividades De Administración De Fondos."
    },
    {
      "id": 555,
      "name": "663 Actividades De Administración De Fondos."
    },
    {
      "id": 554,
      "name": "6629 Evaluación De Riesgos Y Daños, Y Otras Actividades De Servicios Auxiliares."
    }
  ]
}

Category rules

  • category must be sent with the selected category id.
  • subcategory must be sent with the matching subcategory id.
  • Subcategories must be fetched with the previously selected category_id.

Example payload

{
  "username": "09906786442",
  "first_name": "Test Testeo",
  "last_name": "Apellido Testeo",
  "email": "Teste@testecobruuuuu.com",
  "password": "12345678",
  "phone": "09906786442",
  "document_type": "0",
  "document_number": "11111122223",
  "country_code": "+57",
  "gender": 2,
  "date_birth": "2001-08-08",
  "type_person": 1,
  "date_expiration": "2019-08-08",
  "subcategory": 745,
  "profile_picture": "url_profile",
  "documents": [
    {
      "id": 2,
      "url": "url_documento"
    },
    {
      "id": 1,
      "url": "url_documento"
    },
    {
      "id": 3,
      "url": "url_documento"
    }
  ],
  "category": 99,
  "platform": "ios",
  "referal_code": "",
  "brand": "MY_BRAND"
}

Main fields

FieldTypeDescription
usernamestringUser sent during registration, usually the phone number.
first_namestringUser first name.
last_namestringUser last name.
emailstringUser email address.
passwordstringUser password.
phonestringPhone number.
document_typestringDocument type.
document_numberstringDocument number.
country_codestringCountry calling code.
gendernumberUser gender.
date_birthstringBirth date.
type_personnumberPerson type.
date_expirationstringIssue or expiration date according to system logic.
subcategorynumberSelected subcategory ID.
profile_picturestringProfile picture URL.
documentsarrayUser document array.
categorynumberSelected category ID.
platformstringPlatform where the user is registered.
referal_codestringReferral code, if applicable.
brandstringBrand identifier associated with the registration.

documents structure

The documents field receives an array of objects for the user's documents. Each object must include:

  • id: document type identifier.
  • url: uploaded document URL.
[
  {
    "id": 2,
    "url": "url_documento"
  },
  {
    "id": 1,
    "url": "url_documento"
  }
]

Expected response

When the information is valid and the process completes successfully, the user is created with a 201 response.

{
  "error": false,
  "message": {
    "email": "Teste@testecobruuuuu.com",
    "first_name": "Edeiver Testeo",
    "gender": null,
    "gender_legal": null,
    "id": 2093,
    "last_name": "Apellido Testeo",
    "username": "MY_BRAND-09906786442"
  },
  "status": 201
}

Email and phone confirmation

To send confirmation codes, call the confirmation request service first.

POST http://dev.cobru.co/request_confirmation/
Content-Type: application/json
FieldTypeDescription
phonebooleanIndicates whether the code will be sent to the phone.
emailbooleanIndicates whether the code will be sent to the email address.

Then confirm each channel with a separate API call.

Confirm email

POST http://dev.cobru.co/verify_email/
Content-Type: application/json
FieldTypeDescription
codeintegerCode received by email.

Confirm phone

POST http://dev.cobru.co/verify_phone/
Content-Type: application/json
FieldTypeDescription
codeintegerCode received by phone.

Important notes

  • documents must be sent as an array of objects.
  • Each document must be sent with a valid URL in the url field.
  • profile_picture must also be sent as a valid URL.
  • brand must contain the brand identifier associated with the registration.
  • The initial payload username is sent without the brand prefix.
  • Cobru may return or store the final username with the brand prefix after registration.
  • Categories and subcategories must be fetched beforehand so the correct IDs are sent.

Use the user in transfers

After registration and verification, you can use the user in money transfer flows:

The user sending money must have email and phone in a verified state.

On this page