# Create Account

This structure is ideal for partners who want to manage multiple operations within a unified system, while maintaining:

* Separation of documents and users by account;
* Permissions adjusted per team or client;
* Organized reports and usage data per unit;
* Independent integrations for each account (with unique tokens per account).

{% hint style="danger" %}
**Important:** Only accounts with this feature enabled will be able to use this endpoint. If you don’t have access yet, [please contact the sales team.](https://zapsign.co/contact-sales)
{% endhint %}

### How it works

When making a request to this endpoint:

1. A new account (organization) will be created within ZapSign.
2. The owner of the main account (the one making the request) will also be set as the owner of the newly created account. This ensures full control over associated accounts.
3. The email provided in the request will be added to the new account with the Member role. If you do not provide an email in the request, only one user will be created, who will be the owner of the account.
   * A Member can view all documents in the account but does not have access to platform settings.
4. If an email is provided, the invited user will receive an email from ZapSign to create a password and access their account.

### Billing and management of associated accounts

> <mark style="color:red;">**⚠️ Note:**</mark> <mark style="color:red;"></mark><mark style="color:red;">All usage from associated accounts will be under the responsibility of the main (partner) account.</mark>

This includes:

* Document creation;
* Background checks;
* Document sending via WhatsApp;
* Advanced authentication methods (such as facial recognition, digital certificates, etc.).

The main account will have access to a consolidated dashboard displaying all usage and documents generated by associated accounts.

SIf it becomes necessary to temporarily suspend access to an associated account, you can use the **Update payment status** endpoint.

## Create a Partner Account

<mark style="color:green;">`POST`</mark> `https://api.zapsign.com.br/api/v1/partner/company/`

**Headers**

<table><thead><tr><th width="143">Name</th><th width="105">Type</th><th>Description</th></tr></thead><tbody><tr><td>Authorization<mark style="color:red;">*</mark></td><td>string</td><td>API token preceded by the text "Bearer".<br>Example: Bearer c7f35c84-7893-4087-b4fb-d1f06c23</td></tr></tbody></table>

#### Request Body

<table><thead><tr><th width="156">Name</th><th width="116">Type</th><th>Description</th></tr></thead><tbody><tr><td>email</td><td>string</td><td>Email of the new user who will be added as a member</td></tr><tr><td>country<mark style="color:red;">*</mark></td><td>string</td><td>Country of the new account. Possible values: br, mx, co, pe, cl</td></tr><tr><td>lang<mark style="color:red;">*</mark></td><td>string</td><td>Language of the new company. Options: "pt-br" (Portuguese), "es" (Spanish), "en" (English). Default: "pt-br"</td></tr><tr><td>company_name<mark style="color:red;">*</mark></td><td>string</td><td>Name of the new company</td></tr><tr><td>phone_country</td><td>string</td><td>Country code of the new user's phone number</td></tr><tr><td>phone_number</td><td>string</td><td>Phone number of the new user</td></tr><tr><td>primary_color</td><td>string</td><td>Optional primary color used in the company’s visual identity (e.g. HEX color code or internal identifier).</td></tr><tr><td>logo_url</td><td>string</td><td>Optional company logo encoded as a Base64 string representing the image file</td></tr></tbody></table>

{% tabs %}
{% tab title="Example Payload:" %}

```json
{
    "email": "email@email",
    "phone_number": "11111111111",
    "phone_country": "55",
    "country": "co",
    "lang": "en",
    "company_name": "client name"
}
```

{% endtab %}
{% endtabs %}

### Response

{% tabs %}
{% tab title="200 OK - Account successfully created" %}

```json
{
    "id": 549,
    "name": "client name",
    "api_token": "bc9b2a85-52e1-4f03-9119-7614def33c3d2b8c15d5-9429-4daa-8f00-bbf3e01f6345",
    "created_at": "2025-04-07T17:39:40.380615Z",
    "credits_balance": 0,
    "lang": "en",
    "timezone": "America/Bogota"
}
```

{% endtab %}

{% tab title="400 Bad Request" %}

```json
{
    "message": "Invalid Input",
    "data": {
        "email": [
            "This field is required."
        ],
        "country": [
            "This field is required."
        ],
        "lang": [
            "This field is required."
        ],
        "company_name": [
            "This field is required."
        ]
    }
}
```

{% endtab %}

{% tab title="403 Forbidden – Invalid token" %}

```json
{
    "detail": "Você não tem permissão para executar essa ação."
}
```

{% endtab %}

{% tab title="403 Forbidden – Invalid plan" %}

```json
{
    "detail": "Plan required to create partner company."
}
```

{% endtab %}

{% tab title="403 Forbidden – Company is partner" %}

```json
{
    "detail": "Action not allowed for partner company."
}
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Each account created can have **its own independent integration** with the ZapSign API, completely separate from the others.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zapsign.com.br/english/partnerships/create-account.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
