Skip to content
vocapable.Docs

Give a member a custom role, or return them to their built-in role

PUT
/v1/workspace/memberships/{membership_id}/custom-role
curl --request PUT \
--url https://api.vocapable.com/v1/workspace/memberships/example/custom-role \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "role_id": "example" }'
membership_id
required
Membership Id
string
Media typeapplication/json
WorkspaceCustomRoleAssignment

Give a person a custom role, or (null) return them to their built-in role.

object
role_id
required
Any of:
string
<= 64 characters
Examplegenerated
{
"role_id": "example"
}

Successful Response

Media typeapplication/json
WorkspaceMemberAccess
object
membership_id
required
Membership Id
string
role
required
Role
string
Allowed values: owner manager rep
custom_role
required
Any of:
WorkspaceCustomRoleTag
object
role_id
required
Role Id
string
name
required
Name
string
scope
required
Scope
string
Allowed values: company teams
capabilities
required
Capabilities
Array<string>
Allowed values: view_all_customers reassign manage_team edit_routing manage_integrations manage_workflows approve bulk_import export merge pricing_override refunds recording_access billing view_team_metrics publish_knowledge manage_merchant manage_access view_audit_log
permissions
Permissions
Array<string>
Example
{
"role": "owner",
"custom_role": {
"scope": "company"
},
"capabilities": [
"view_all_customers"
]
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}