Create Partner
To create a partner, you must use this route.
In order to comply with the guidelines set forth in Central Bank Circular 3.978/20 regarding procedures to be adopted for money laundering prevention and terrorism financing, it is essential to send all the data set forth in this documentation for seller registration. This guideline came into effect in February 2024.
Request Body Params
All string type fields must be filled with alphanumeric characters without accents or special characters.
To find the CNAE codes (cnae_code), legal nature (legal_nature_code), and company type (company_type), you can use a free CNPJ lookup service. For example cnpja.
Legal Entity Partner (Company)
| Attribute | Type | Description |
|---|---|---|
| business_name | string | Company Legal Name. Maximum characters: 30 |
| social_name | string | Company Trade Name. Maximum characters: 128 |
| string | Company email. | |
| document | string | Company CNPJ. |
| foundation_date | string | Company foundation date in YYYY-MM-DD format. |
| automatic_anticipation_enabled | boolean | Optional parameter indicating if the recipient will receive automatic anticipations. Default: true |
| annual_revenue | int32 | Estimated annual revenue of the company |
| website | string | Company website. |
| cnae_code | string | Company CNAE code. Must contain only digits. Example: 6201500 |
| legal_nature_code | string | Company legal nature code. Must contain only digits. Example: 2062 |
| company_type | string | Company type. Accepted values: SA, LTDA, MEI, ME, EPP, EIRELI, ASSOCIACOES_ENTIDADES, DEMAIS_PORTES. |
| phone_number | object | Company Phone object. |
| phone_number[country_code] | string | Company phone country code (DDI), e.g.: +55. |
| phone_number[ddd] | string | Company phone area code. |
| phone_number[number] | string | Company phone number. |
| main_address | object | Company main address object. |
| main_address[country] | string | Company address country, in country code format. Only ISO 3166-1 alpha-2 (two-letter) format will be accepted. E.g.: BR, US, UY... Maximum characters: 2 |
| main_address[zip_code] | string | Company address ZIP code. |
| main_address[state] | string | Company address state. |
| main_address[city] | string | Company address city. |
| main_address[neighborhood] | string | Company address neighborhood. |
| main_address[street] | string | Company address street. |
| main_address[number] | string | Company address number. |
| main_address[complementary] | string | Company address complement. |
| managing_partner | object | Company managing partner object. |
| managing_partner[name] | string | Managing partner name. |
| managing_partner[document] | string | Managing partner CPF. |
| managing_partner[birthdate] | string | Managing partner birthdate in YYYY-MM-DD format. |
| managing_partner[email] | string | Managing partner email |
| managing_partner[phone_number] | object | Managing partner phone object. |
| managing_partner[phone_number][country_code] | string | Managing partner phone country code (DDI). |
| managing_partner[phone_number][ddd] | string | Managing partner phone area code. |
| managing_partner[phone_number][number] | string | Managing partner phone number. |
| managing_partner[address] | object | Managing partner address object. |
| managing_partner[address][country] | string | Managing partner address country, in country code format. Only ISO 3166-1 alpha-2 (two-letter) format will be accepted. E.g.: BR, US, UY... Maximum characters: 2 |
| managing_partner[address][zip_code] | string | Managing partner address ZIP code. |
| managing_partner[address][state] | string | Managing partner address state. |
| managing_partner[address][city] | string | Managing partner address city. |
| managing_partner[address][neighborhood] | string | Managing partner address neighborhood. |
| managing_partner[address][street] | string | Managing partner address street. |
| managing_partner[address][number] | string | Managing partner address number. |
| managing_partner[address][complementary] | string | Managing partner address complement. |
| bank_account | object | Company bank account object. |
| bank_account[bank] | string | Bank code. |
| bank_account[agency] | string | Agency number. |
| bank_account[agency_digit] | string | Agency digit. |
| bank_account[account_number] | string | Account number. |
| bank_account[account_digit] | string | Account digit. |
| bank_account[type] | string | Account type. Accepted values: checking or savings. |
| bank_account[pix] | object | PIX key data object. |
| bank_account[pix][type] | string | PIX key type. Accepted values: cpf, cnpj, email or phone. |
| bank_account[pix][key] | string | PIX key value. Must be provided according to the PIX key type. |
| webhook_url | string | Optional parameter to pass your system's endpoint that will receive information with each partner update. |
| webhook_auth_token | string | Optional parameter to authenticate notifications sent to webhook_url. If the parameter is not provided, notifications will be sent without authentication. |
| simulate_status | string | Optional parameter to simulate partner status in test environment, should not be sent in production. Accepted values: active, inactive, pending, or refused. |
{
"business_name": "Empresa Jedi LTDA",
"social_name": "Empresa Jedi",
"email": "contato@empresajedi.com.br",
"document": "123456789",
"foundation_date": "2020-01-01",
"annual_revenue": 1000000000,
"website": "https://empresajedi.com.br",
"cnae_code": "6201500",
"legal_nature_code": "2062",
"company_type": "LTDA",
"phone_number": {
"country_code": "+55",
"ddd": "11",
"number": "999999999"
},
"main_address": {
"country": "BR",
"zip_code": "01234567",
"state": "SP",
"city": "São Paulo",
"neighborhood": "Centro",
"street": "Rua Jedi",
"number": "123",
"complementary": "Suite 45"
},
"managing_partner": {
"name": "Luke Skywalker",
"document": "12345678900",
"birthdate": "1989-01-01",
"email": "luke@skywalker.com",
"phone_number": {
"country_code": "+55",
"ddd": "11",
"number": "988888888"
},
"address": {
"country": "BR",
"zip_code": "01234567",
"state": "SP",
"city": "São Paulo",
"neighborhood": "Centro",
"street": "Rua Jedi",
"number": "123",
"complementary": "Apt 45"
}
},
"bank_account": {
"bank": "001",
"agency": "1234",
"agency_digit": "5",
"account_number": "123456",
"account_digit": "7",
"type": "checking",
"pix": {
"type": "email",
"key": "contato@empresajedi.com.br"
}
},
"webhook_url": "https://example.com/webhook",
"webhook_auth_token": "my-secret-token-123",
"simulate_status": "pending"
}
Individual Partner (Person)
| Attribute | Type | Description |
|---|---|---|
| name | string | Partner full name. Minimum characters: 1 |
| document | string | Partner CPF. Must contain 11 digits. |
| string | Partner email. | |
| birthdate | string | Birthdate in YYYY-MM-DD format. |
| automatic_anticipation_enabled | boolean | Optional parameter indicating if the recipient will receive automatic anticipations. Default: true |
| annual_revenue | int32 | Partner estimated annual revenue. |
| cnae_code | string | Optional parameter. CNAE code. Must contain only digits. Example: 7490104 |
| legal_nature_code | string | Optional parameter. Legal nature code. Must contain only digits. Example: 4081 |
| company_type | string | Optional parameter. Company type. Accepted values: SA, LTDA, MEI, ME, EPP, EIRELI, ASSOCIACOES_ENTIDADES, DEMAIS_PORTES. Example: DEMAIS_PORTES |
| phone_number | object | Partner phone object. |
| phone_number[country_code] | string | Phone country code (DDI), e.g.: +55. |
| phone_number[ddd] | string | Phone area code. |
| phone_number[number] | string | Phone number. |
| address | object | Partner address object. |
| address[country] | string | Partner address country, in country code format. Only ISO 3166-1 alpha-2 (two-letter) format will be accepted. E.g.: BR, US, UY... Maximum characters: 2 |
| address[zip_code] | string | Partner address ZIP code. |
| address[state] | string | Partner address state. Maximum characters: 2 |
| address[city] | string | Partner address city. Maximum characters: 50 |
| address[neighborhood] | string | Partner address neighborhood. Maximum characters: 45 |
| address[street] | string | Partner address street. Maximum characters: 54 |
| address[number] | string | Partner address number. Maximum characters: 5 |
| address[complementary] | string | Optional parameter. Partner address complement. Maximum characters: 30 |
| bank_account | object | Partner bank account object. |
| bank_account[bank] | string | Bank code. Example: 341 |
| bank_account[agency] | string | Agency number. |
| bank_account[agency_digit] | string | Agency digit. |
| bank_account[account_number] | string | Account number. |
| bank_account[account_digit] | string | Account digit. |
| bank_account[type] | string | Account type. Accepted values: checking or savings. |
| bank_account[pix] | object | PIX key data object. |
| bank_account[pix][type] | string | PIX key type. Accepted values: cpf, cnpj, email or phone. |
| bank_account[pix][key] | string | PIX key value. Must be provided according to the PIX key type. |
| webhook_url | string | Optional parameter to pass your system's endpoint that will receive information with each partner update. |
| webhook_auth_token | string | Optional parameter to authenticate notifications sent to webhook_url. If the parameter is not provided, notifications will be sent without authentication. |
| simulate_status | string | Optional parameter to simulate partner status in test environment, should not be sent in production. Accepted values: active, inactive, pending, or refused. |
{
"name": "Luke Skywalker",
"document": "12345678909",
"email": "luke@skywalker.com",
"birthdate": "1985-03-15",
"automatic_anticipation_enabled": true,
"annual_revenue": 120000,
"cnae_code": "7490104",
"legal_nature_code": "4081",
"company_type": "DEMAIS_PORTES",
"phone_number": {
"country_code": "+55",
"ddd": "11",
"number": "987654321"
},
"address": {
"country": "BR",
"zip_code": "01310100",
"state": "SP",
"city": "Sao Paulo",
"neighborhood": "Centro",
"street": "Avenida Paulista",
"number": "1000",
"complementary": "Apt 45"
},
"bank_account": {
"bank": "341",
"agency": "1234",
"agency_digit": "5",
"account_number": "123456",
"account_digit": "7",
"type": "checking",
"pix": {
"type": "cpf",
"key": "12345678909"
}
},
"webhook_url": "https://example.com/webhook",
"webhook_auth_token": "my-secret-token-123",
"simulate_status": "pending"
}
Response Object
Legal Entity Partner (Company)
| Attribute | Type | Description |
|---|---|---|
| status | string | Partner status. Default value: pending. |
| sub_seller_id | string | Partner ID. |
| name | string | Partner name. |
| date_created | dateTime | Partner creation date in ISODateTime format. |
| date_updated | dateTime | Partner update date in ISODateTime format. |
| business_name | string | Partner Legal Name. |
| social_name | string | Partner Trade Name. |
| string | Partner email. | |
| document | string | Partner CNPJ. |
{
"status": "pending",
"sub_seller_id": "sub_k4m6Rw5rlQszEY7fiuRe",
"name": "Empresa Jedi",
"date_created": "2025-07-07T19:26:42.779Z",
"date_updated": "2025-07-07T20:26:42.779Z",
"business_name": "Empresa Jedi LTDA",
"social_name": "Empresa Jedi",
"email": "contato@empresajedi.com.br",
"document": "12345678000190"
}
Individual Partner (Person)
| Attribute | Type | Description |
|---|---|---|
| status | string | Partner status. Default value: pending. |
| sub_seller_id | string | Partner ID. |
| name | string | Partner name. |
| date_created | dateTime | Partner creation date in ISODateTime format. |
| date_updated | dateTime | Partner update date in ISODateTime format. |
| string | Partner email. | |
| document | string | Partner CPF. |
{
"status": "pending",
"sub_seller_id": "sub_k4m6Rw5rlQszEY7fiuRe",
"name": "Luke Skywalker",
"date_created": "2025-07-07T19:26:42.779Z",
"date_updated": "2025-07-07T20:26:42.779Z",
"email": "luke@skywalker.com",
"document": "12345678909"
}
Error Object
| Attribute | Type | Description |
|---|---|---|
| api_reference | string | URL for documentation. |
| errors | array | Array with all errors found when processing the request. |
| errors[][type] | string | Type of error that occurred. |
| errors[][message] | string | Detailed error message. |
{
"api_reference": "https://docs.api.marlim.co/sub_sellers/create",
"errors": [
{
"type": "validation",
"message": "The CNPJ provided is invalid."
}
]
}
The value returned in sub_seller_id is the ID that will be used to create transactions in Split Payment format with multiple partners and also to perform PIX transfers.
Webhook URL
In production environment, all created partners go through a manual review process between Marlim and our Acquirer. As this is an asynchronous process, updates will be sent via webhook.
The entire partner status change process is asynchronous. Therefore, it's important that you pass a webhook_url during the partner creation process so your application receives all status changes.
If any value is passed in the webhook_auth_token parameter, Marlim will send the token to your application using the Authorization: Bearer standard in the request Header:
Authorization: Bearer {webhook_auth_token}
Below is the table with possible status values received in the webhook_url.
| Status | Meaning |
|---|---|
active | Partner registration approved by Marlim and our acquirer. The partner is able to make transactions. |
inactive | Partner inactivated by Marlim or by calling the update partners route. Not able to make transactions. |
refused | Partner registration refused by Marlim or our acquirer. Not able to make transactions |
blocked | The partner had their registration suspended after approval and, at the moment, is not able to make transactions. For more information, contact our support team. |
curl -X POST "https://yourapplication.com/partners/123456789/webhook" \
-H "Content-Type: application/json" \
-H "User-Agent: Marlim/1.0.0" \
-H "Marlim-Api-Signature: Star98765Wars43210ANewHope1977" \
-d '{
"event": "sub_seller_status_update",
"status": "active",
"sub_seller_id": "sub_n5yn9vci3yi8tr0gptsa2tvc6",
"date_created": "2026-01-15T17:36:12.504Z",
"date_updated": "2026-01-15T17:36:12.504Z"
}'
Examples
The values used in the examples below are for illustration purposes only and should not be used to make requests to Marlim APIs. In development and testing environments, use data closer to a real transaction (card and customer data). If you use fictitious values, the Antifraud may not work as expected.
Legal Entity Partner Creation
- Partner Created Successfully
- Missing Parameters
- Invalid CNPJ
curl -X POST "https://api.marlim.co/v3/sub_sellers" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d '{
"business_name": "Empresa Jedi LTDA",
"social_name": "Empresa Jedi",
"email": "contato@empresajedi.com.br",
"document": "12345678000190",
"foundation_date": "2020-01-01",
"annual_revenue": 1000000000,
"website": "https://empresajedi.com.br",
"cnae_code": "6201500",
"legal_nature_code": "2062",
"company_type": "LTDA",
"phone_number": {
"country_code": "+55",
"ddd": "11",
"number": "999999999"
},
"main_address": {
"country": "BR",
"zip_code": "01234567",
"state": "SP",
"city": "Sao Paulo",
"neighborhood": "Centro",
"street": "Rua Jedi",
"number": "123",
"complementary": "Suite 45"
},
"managing_partner": {
"name": "Luke Skywalker",
"document": "12345678900",
"birthdate": "1989-01-01",
"email": "luke@skywalker.com",
"phone_number": {
"country_code": "+55",
"ddd": "11",
"number": "988888888"
},
"address": {
"country": "BR",
"zip_code": "01234567",
"state": "SP",
"city": "Sao Paulo",
"neighborhood": "Centro",
"street": "Rua Jedi",
"number": "123",
"complementary": "Apt 45"
}
},
"bank_account": {
"bank": "001",
"agency": "1234",
"agency_digit": "5",
"account_number": "123456",
"account_digit": "7",
"type": "checking",
"pix": {
"type": "email",
"key": "contato@empresajedi.com.br"
}
}
}'
{
"status": "pending",
"sub_seller_id": "sub_k4m6Rw5rlQszEY7fiuRe",
"name": "Empresa Jedi",
"date_created": "2026-01-15T17:36:12.504Z",
"date_updated": "2026-01-15T17:36:12.504Z",
"business_name": "Empresa Jedi LTDA",
"social_name": "Empresa Jedi",
"email": "contato@empresajedi.com.br",
"document": "12345678000190"
}
curl -X POST "https://api.marlim.co/v3/sub_sellers" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d '{
"business_name": "Empresa Jedi LTDA",
"social_name": "Empresa Jedi",
"email": "contato@empresajedi.com.br",
"document": "12345678000190",
"foundation_date": "2020-01-01",
"cnae_code": "6201500",
"legal_nature_code": "2062",
"company_type": "LTDA",
"phone_number": {
"country_code": "+55",
"ddd": "11",
"number": "999999999"
},
"main_address": {
"zip_code": "01234567",
"state": "SP",
"city": "Sao Paulo",
"neighborhood": "Centro",
"street": "Rua Jedi",
"number": "123"
},
"managing_partner": {
"name": "Luke Skywalker",
"document": "12345678900",
"birthdate": "1989-01-01",
"phone_number": {
"country_code": "+55",
"ddd": "11",
"number": "988888888"
}
}
}'
{
"api_reference": "https://docs.api.marlim.co/sub_sellers/create",
"errors": [
{
"type": "parameter",
"message": "The parameter [ bank_account ] is missing."
}
]
}
curl -X POST "https://api.marlim.co/v3/sub_sellers" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d '{
"business_name": "Empresa Jedi LTDA",
"social_name": "Empresa Jedi",
"email": "contato@empresajedi.com.br",
"document": "123456789",
"foundation_date": "2020-01-01",
"phone_number": {
"country_code": "+55",
"ddd": "11",
"number": "999999999"
},
"main_address": {
"zip_code": "01234567",
"state": "SP",
"city": "São Paulo",
"neighborhood": "Centro",
"street": "Rua Jedi",
"number": "123",
"complementary": "Suite 45"
},
"managing_partner": {
"name": "Luke Skywalker",
"document": "12345678900",
"birthdate": "1989-01-01",
"phone_number": {
"country_code": "+55",
"ddd": "11",
"number": "988888888"
},
"address": {
"zip_code": "01234567",
"state": "SP",
"city": "Sao Paulo",
"neighborhood": "Centro",
"street": "Rua Jedi",
"number": "123",
"complementary": "Apt 45"
}
},
"bank_account": {
"bank": "001",
"agency": "1234",
"agency_digit": "5",
"account_number": "123456",
"account_digit": "7",
"type": "checking",
"pix": {
"type": "email",
"key": "contato@empresajedi.com.br"
}
}
}'
{
"api_reference": "https://docs.api.marlim.co/sub_sellers/create",
"errors": [
{
"type": "validation",
"message": "The CNPJ provided is invalid."
}
]
}
Individual Partner Creation
- Partner Created Successfully
- Missing Parameters
- Invalid CPF
curl -X POST "https://api.marlim.co/v3/sub_sellers" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d '{
"name": "Luke Skywalker",
"document": "12345678909",
"email": "luke@skywalker.com",
"birthdate": "1985-03-15",
"automatic_anticipation_enabled": true,
"annual_revenue": 120000,
"cnae_code": "7490104",
"legal_nature_code": "4081",
"company_type": "DEMAIS_PORTES",
"phone_number": {
"country_code": "+55",
"ddd": "11",
"number": "987654321"
},
"address": {
"country": "BR",
"zip_code": "01310100",
"state": "SP",
"city": "Sao Paulo",
"neighborhood": "Centro",
"street": "Avenida Paulista",
"number": "1000",
"complementary": "Apt 45"
},
"bank_account": {
"bank": "341",
"agency": "1234",
"agency_digit": "5",
"account_number": "123456",
"account_digit": "7",
"type": "checking",
"pix": {
"type": "cpf",
"key": "12345678909"
}
},
"webhook_url": "https://example.com/webhook",
"webhook_auth_token": "my-secret-token-123"
}'
{
"status": "pending",
"sub_seller_id": "sub_k4m6Rw5rlQszEY7fiuRe",
"name": "Luke Skywalker",
"date_created": "2026-01-15T17:36:12.504Z",
"date_updated": "2026-01-15T17:36:12.504Z",
"email": "luke@skywalker.com",
"document": "12345678909"
}
curl -X POST "https://api.marlim.co/v3/sub_sellers" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d '{
"name": "Luke Skywalker",
"document": "12345678909",
"email": "luke@skywalker.com",
"birthdate": "1985-03-15",
"automatic_anticipation_enabled": true,
"annual_revenue": 120000,
"cnae_code": "7490104",
"legal_nature_code": "4081",
"company_type": "DEMAIS_PORTES",
"phone_number": {
"country_code": "+55",
"ddd": "11",
"number": "999999999"
},
"address": {
"zip_code": "01234567",
"state": "SP",
"city": "Sao Paulo",
"neighborhood": "Centro",
"street": "Rua Jedi",
"number": "123"
}
}'
{
"api_reference": "https://docs.api.marlim.co/sub_sellers/create",
"errors": [
{
"type": "parameter",
"message": "The parameter [ bank_account ] is missing."
}
]
}
curl -X POST "https://api.marlim.co/v3/sub_sellers" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d '{
"name": "Luke Skywalker",
"document": "123456789090",
"email": "luke@skywalker.com",
"birthdate": "1985-03-15",
"automatic_anticipation_enabled": true,
"annual_revenue": 120000,
"cnae_code": "7490104",
"legal_nature_code": "4081",
"company_type": "DEMAIS_PORTES",
"phone_number": {
"country_code": "+55",
"ddd": "11",
"number": "987654321"
},
"address": {
"country": "BR",
"zip_code": "01310100",
"state": "SP",
"city": "Sao Paulo",
"neighborhood": "Centro",
"street": "Avenida Paulista",
"number": "1000",
"complementary": "Apt 45"
},
"bank_account": {
"bank": "341",
"agency": "1234",
"agency_digit": "5",
"account_number": "123456",
"account_digit": "7",
"type": "checking",
"pix": {
"type": "cpf",
"key": "12345678909"
}
},
"webhook_url": "https://example.com/webhook",
"webhook_auth_token": "my-secret-token-123"
}'
{
"api_reference": "https://docs.api.marlim.co/sub_sellers/create",
"errors": [
{
"type": "validation",
"message": "The CPF provided is invalid."
}
]
}