Skip to main content
GET
/
teams
/
roles
Get Available Roles
curl --request GET \
  --url https://api.rolla.xyz/api/v1/external/teams/roles \
  --header 'X-API-Key: <api-key>'
{
  "success": true,
  "message": "Roles retrieved successfully",
  "data": {
    "roles": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "name": "initiator",
        "description": "<string>",
        "permissions": [
          "<string>"
        ]
      }
    ]
  }
}
Retrieve the list of roles available for assignment when inviting team members or assigning a role to an existing member. The roles returned depend on the caller’s own role. Business Owners and Business Admins receive the full assignable set (initiator, approver, business_admin); other roles only see initiator. The business_owner and individual_owner roles are reserved and never returned by this endpoint.

Example Request

curl -X GET "https://api.rolla.xyz/api/v1/external/teams/roles" \
  -H "X-API-Key: your_api_key_here"

Example Response

{
  "status": 200,
  "success": true,
  "message": "Available roles retrieved successfully",
  "data": {
    "roles": [
      {
        "id": "fc4cd36d-f81c-4971-a23f-688162e14d21",
        "name": "business_admin",
        "description": "Full access to business operations, same as business owner"
      },
      {
        "id": "21302ed1-0e63-44e6-bb02-8db6baa2efcd",
        "name": "initiator",
        "description": "Can initiate transactions including sending money, but cannot approve them."
      },
      {
        "id": "9a7b6c5d-4e3f-2a1b-0c9d-8e7f6a5b4c3d",
        "name": "approver",
        "description": "Can approve transactions and manage beneficiaries, but cannot initiate outbound sends."
      }
    ]
  }
}
Use the role id from this response when inviting a team member via the /teams/invite endpoint or assigning a role via /teams/members/{userId}/role.

Role Reference

RoleSend moneyApprove withdrawalsApprove paymentsManage beneficiariesManage teamAssignable by
Business OwnerYesYesYesYesYes— (set at signup)
Business AdminYesYesYesYesYesOwner
ApproverYesYesYesOwner, Admin
InitiatorYesYesOwner, Admin, Initiator
  • Initiator — Can initiate transactions including sending money, but cannot approve them. (Formerly named Collaborator.)
  • Approver — Can approve transactions and manage beneficiaries, but cannot initiate outbound sends. Only Business Owners and Business Admins can assign this role.
Approving a transaction (via POST /wallet/approve-transaction) is gated on the approve_withdrawals permission, not on a specific role name. Business Owners, Business Admins, and Approvers all satisfy it.
Migration note: The collaborator role has been renamed to initiator — permissions are unchanged. A new approver role is now available. If you string-match on role names anywhere in your integration, map "collaborator" to "initiator" and add an "approver" branch. GET /teams/roles no longer returns individual_owner in business contexts.

Authorizations

X-API-Key
string
header
required

Your Rolla API key

Response

Roles retrieved successfully

success
boolean
Example:

true

message
string
Example:

"Roles retrieved successfully"

data
object