---
title: "Assign a firm role on an entity"
method: POST
path: "/entities/{entity_id}/firm_role_assignments"
tags: ["Entity firm roles"]
---

# Assign a firm role on an entity

`POST /entities/{entity_id}/firm_role_assignments`

## Request

- Base URL: `https://api.soraban.com`
- URL: `https://api.soraban.com/entities/{entity_id}/firm_role_assignments`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/soraban/apis/soraban-private-api/docs/entities/:entity_id/firm_role_assignments/post.ts> (a function with typed inputs; its response is checked against the schema)

Use `GET /firm_roles` to find `firm_role_id` and `GET /advisors` to find `user_id`.

Identify the entity with the path `entity_id` (Soraban id or your `external_entity_id`) or with `external_entity_id` in the query or body.

## Request body

- object
  - `firm_role_id` integer, required
  - `user_id` integer, required: The firm user taking the role.
  - `external_entity_id` string: Your own identifier for the entity. When given, this is used instead of the path `entity_id`.

## Response `201`

The created assignment.

- object
  - `id` integer
  - `firm_role_id` integer

## Other responses

- `403`: Missing or invalid API key, or the record does not belong to your firm.
- `404`: No such record for this firm.
- `422`: Validation failed. `errors` maps each field to its messages.

## Changes

- **2026-11-03** `1c230fa547ad`: 1 breaking, 1 warning, 11 info
  - the response property `error` became optional for the status `403`
  - deleted the `path` request parameter `entity_id`
  - api operation id `createEntityFirmRoleAssignment` was added
  - the endpoint scheme security `bearerAuth` was removed from the API
  - …9 more

[Operation history](https://skmtc.dev/soraban/apis/soraban-private-api/changes/entities/:entity_id/firm_role_assignments/post.md)

---

[API](https://skmtc.dev/soraban/apis/soraban-private-api.md) - [All operations](https://skmtc.dev/soraban/apis/soraban-private-api/llms.txt) - [OpenAPI document](https://skmtc.dev/soraban/apis/soraban-private-api/revisions/1c230fa547ad?raw)
