Get the starting role

The role a brand-new organization begins with, as a starting point for designing your own. It is what `member` looks like before anybody edits it. Requires the `organizations.roles.read` permission.

GET
/organizations/{organizationId}/roles/default
AuthorizationBearer <token>

The access token returned after a successful sign-in, sent as Authorization: Bearer <access_token>.

It identifies the person and the organization they are working in, and it lasts about fifteen minutes. When it runs out, use their refresh token at POST /auth/refresh-token instead of asking them to sign in again.

In: header

Path Parameters

organizationId*string

Identifier of the organization. Each endpoint states whether it must be the caller's active organization or may be used without authentication.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.dual.network/organizations/665f1c2d4b1a2c3d4e5f6aa0/roles/default"
{
  "id": "665f1c2d4b1a2c3d4e5f6ab0",
  "name": "member",
  "permissions": [
    {
      "resource": "objects",
      "crud": {
        "read": true,
        "create": false,
        "update": false,
        "delete": false
      }
    },
    {
      "resource": "templates",
      "crud": {
        "read": true,
        "create": false,
        "update": false,
        "delete": false
      }
    }
  ],
  "when_created": "2026-02-01T09:00:00Z",
  "when_modified": "2026-02-01T09:00:00Z"
}
{
  "code": 3,
  "message": "Key: 'limit' Error:Field validation for 'limit' failed on the 'lte' tag"
}

{
  "code": 16,
  "message": "no auth provided"
}

{
  "code": 5,
  "message": "object not found"
}
{
  "code": 13,
  "message": "internal error"
}