Organizational Roles
Organizational roles define the key positions held within a client account, such as CEO, CFO, board members, and sole proprietors. Each role links a business partner to a client account with a specific role type. These roles are used in compliance reporting (e.g. shareholder register, tax returns) and company administration.
Endpoints
| Method |
Endpoint |
Description |
| GET |
/client-accounts/{client_account_id}/organizational-roles |
List organizational roles |
| POST |
/client-accounts/{client_account_id}/organizational-roles |
Create an organizational role |
| DELETE |
/client-accounts/{client_account_id}/organizational-roles/{role_id} |
Delete an organizational role |
Attributes
| Attribute |
Type |
Description |
| id |
integer |
The unique ID of the organizational role |
| created_at |
datetime |
The date and time when the role was created |
| created_by_id |
integer |
The ID of the user that created the role |
| updated_at |
datetime |
The date and time when the role was last updated |
| updated_by_id |
integer |
The ID of the user that last updated the role |
| client_account_id |
integer |
The ID of the client account this role belongs to |
| business_partner_id |
integer |
The ID of the business partner assigned to this role |
| role_type |
string |
The type of organizational role (see Role Types below) |
Role Types
| Value |
Description |
| CEO |
Chief Executive Officer (Daglig leder) |
| CFO |
Chief Financial Officer |
| CTO |
Chief Technology Officer |
| COB |
Chairman of the Board (Styreleder) |
| BOARD_MEMBER |
Board member (Styremedlem) |
| SOLE_PROPRIETOR |
Sole proprietor (Innehaver) |
Relationships
| Relationship |
Type |
Description |
| business_partner |
BusinessPartner |
The business partner assigned to this role |
Request Body (POST)
When creating an organizational role, send a JSON object with the following fields:
| Field |
Type |
Required |
Description |
| business_partner_id |
integer |
Yes |
The ID of the business partner to assign the role to |
| role_type |
string |
Yes |
One of the valid role types listed above |
Example Request
curl -X POST "https://api.snapbooks.no/v2/client-accounts/7/organizational-roles" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"business_partner_id": 56,
"role_type": "CEO"
}'
Example Response
{
"id": 1,
"created_at": "2024-06-15T10:30:00Z",
"created_by_id": 7,
"updated_at": null,
"updated_by_id": null,
"client_account_id": 7,
"business_partner_id": 56,
"role_type": "CEO"
}
Notes
- The authenticated user must have access to the specified client account.
- Each combination of
client_account_id, business_partner_id, and role_type must be unique. Attempting to create a duplicate assignment will result in an error.
- The
business_partner_id must reference an existing business partner. Typically this is a person (contact) rather than a company.
- The
created_by_id is automatically set to the authenticated user’s ID.
- The DELETE endpoint permanently removes the role assignment and returns
204 No Content on success.
- Use the
with parameter to include related data: ?with=business_partner.
- All dates are returned in ISO 8601 format.