---
title: "Create / Update Profile-Company Role"
description: "This API allows you to send bulk role (profile-to-company assignments) updates to* Releva. *Any profile which do not exist in Releva will be created. Any change will be available according to our SLA. ### Do I need to call it? This API…"
url: "https://releva.ai/documentation/b2b-apis/create-update-profile-company-role/"
updated: "2025-03-27"
category: Developer Documentation / Profiles / B2B
---

# Create / Update Profile-Company Role

This API allows you to send bulk role (profile-to-company assignments) updates to* Releva. *Any profile which do not exist in Releva will be created.

Any change will be available according to our SLA.

### Do I need to call it?

This API should be integrated if you intend to use Releva in a B2B context. For B2C, you only need the APIs for creating / updating / deleting profiles.

### Request Parameters

You may perform requests to the API using the following curl equivalent:

```
curl -H 'Content-Type: application/json' -H 'Authorization: Bearer <secretKey>' -XPOST https://releva.ai/api/v0/roles -d'{
    "roles": [
        {
                "companyId": "123",
                "role": "CTO",
                "profile": {
                  "email": "yavor@releva.ai",
                  "phoneNumber": "+359123"
                },

        },
        {
                "companyId": "123",
                "role": "CEO",
                "profile": {
                  "email": "georgi@releva.ai",
                  "phoneNumber": "+359234"
                },

        },
    ]
}'
```

### The *roles* Object

| Field | Type | Description |
| --- | --- | --- |
| **roles[].companyId** | String | The company’s unique identifier. |
| **roles[].role** | String | The name of the role to associate. |
| **roles[].profile.email** | String (Optional) | The email of the profile to associate.***At least one of (email, phoneNumber) should be provided. If a profile with this email does not exist, it will be created.*** |
| **roles[].profile.phoneNumber** | String (Optional) | The email of the profile to associate. Phone numbers must start with “+” followed by a sequence of numbers. Valid phone number: +49875345976. ***At least one of (email, phoneNumber) should be provided. If a profile with this email does not exist, it will be created.*** |

A successful response will return HTTP Status **202** with an empty response body (**{}**).

### Response Format

An error response will return a HTTP **4xx** or **5xx** status code and have the following structure:

```
{
  "message": "A description of the error and how to fix it, if it's a client error."
}
```
