Docs menu

REST API

Members

Read workspace member profiles, roles, and team memberships.

GET/v2/workspaces/{slug}/members

View Workspace Member list

List workspace members filtered by status, team, and search term with pagination.

Parameters

  • slugRequiredstringpath
    Workspace slug
  • offsetintegerqueryDefault 0
    Zero-based offset of the first returned item.
  • limitintegerqueryDefault 20
    Maximum number of items returned.
  • querystring | nullquery
    Search term applied to member names or email addresses.
  • statusMemberStatus | nullquery
    Member status to retrieve.
  • team_idinteger | nullquery
    Return only members belonging to the specified team.

Request example

curl --request GET \
  --url "https://api.callabo.ai/v2/workspaces/your-workspace/members" \
  --header "Accept: application/json" \
  --header "Authorization: Bearer $CALLABO_PAT"

Success responses

Response body

  • itemsRequiredV2Member[]
    Workspace members.
  • idRequiredinteger
    Member identifier.
  • user_idRequiredinteger
    Identifier of the user associated with the member.
  • workspace_idRequiredinteger
    Identifier of the workspace to which the member belongs.
  • emailRequiredstring
    Member email.
  • nameRequiredstring
    Member name.
  • localeRequiredUserLocale
    Language used by the member.
  • statusRequired"active" | "deactivated"
    Workspace member status.
  • base_roleRequiredBaseWorkspaceRole
    Member's default workspace role.
  • workspace_rolesRequiredV2WorkspaceRole[]
    Custom workspace roles assigned to the member.
  • workspace_permissionsRequiredobject
    Permissions calculated from the combination of workspace roles.
  • teamsRequiredV2MemberTeamSummary[]
    Teams the member belongs to and their roles in each team.
  • pageRequiredV2Pagination
    Workspace member pagination information.
  • offsetRequiredinteger
    Zero-based offset of the first returned item.
  • limitRequiredinteger
    Requested maximum number of items.
  • totalRequiredinteger
    Total number of matching items.

Response example

{
  "items": [
    {
      "id": 1,
      "user_id": 1,
      "workspace_id": 1,
      "email": "developer@example.com",
      "name": "Example",
      "locale": "ko",
      "status": "active",
      "base_role": "workspace_manager",
      "workspace_roles": [
        {
          "id": 1,
          "name": "Example",
          "is_system_role": true,
          "member_count": 1,
          "created_at": "2026-08-27T03:00:00Z",
          "updated_at": "2026-08-27T03:00:00Z",
          "permissions": [
            {
              "resource": "member_management",
              "effect": "allow"
            }
          ]
        }
      ],
      "workspace_permissions": {},
      "teams": [
        {
          "id": 1,
          "name": "Example",
          "base_role": "manager",
          "team_roles": [
            {
              "id": 1,
              "name": "Example",
              "is_system_role": true,
              "permissions": [
                null
              ]
            }
          ],
          "team_permissions": {}
        }
      ]
    }
  ],
  "page": {
    "offset": 1,
    "limit": 1,
    "total": 1
  }
}

Errors

StatusError codeDescription
401UNAUTHORIZEDUnauthenticated request
403FORBIDDENInsufficient requester permissions
404WORKSPACE_NOT_FOUNDNot found
422VALIDATION_ERRORUnprocessable content
429RATE_LIMIT_EXCEEDEDRequest limit exceededLearn more
GET/v2/workspaces/{slug}/members/me

Get current workspace member

Get the current authenticated requester's workspace member and role information.

Parameters

  • slugRequiredstringpath
    Workspace slug

Request example

curl --request GET \
  --url "https://api.callabo.ai/v2/workspaces/your-workspace/members/me" \
  --header "Accept: application/json" \
  --header "Authorization: Bearer $CALLABO_PAT"

Success responses

Response body

  • idRequiredinteger
    Member identifier.
  • user_idRequiredinteger
    Identifier of the user associated with the member.
  • workspace_idRequiredinteger
    Identifier of the workspace to which the member belongs.
  • emailRequiredstring
    Member email.
  • nameRequiredstring
    Member name.
  • localeRequiredUserLocale
    Language used by the member.
  • statusRequired"active" | "deactivated"
    Workspace member status.
  • base_roleRequiredBaseWorkspaceRole
    Member's default workspace role.
  • workspace_rolesRequiredV2WorkspaceRole[]
    Custom workspace roles assigned to the member.
  • idRequiredinteger
    Custom workspace role identifier.
  • nameRequiredstring
    Custom workspace role name.
  • descriptionstring | null
    Custom workspace role description.
  • is_system_roleRequiredboolean
    Whether the role is managed by the system.
  • member_countRequiredinteger
    Number of members assigned to the role.
  • created_atRequiredstring (date-time)
    Date and time when the role was created.
  • updated_atRequiredstring (date-time)
    Date and time when the role was last updated.
  • permissionsRequiredV2Permission[]
    Permissions assigned to the custom workspace role.
  • workspace_permissionsRequiredobject
    Permissions calculated from the combination of workspace roles.
  • teamsRequiredV2MemberTeamSummary[]
    Teams the member belongs to and their roles in each team.
  • idRequiredinteger
    Team identifier.
  • nameRequiredstring
    Team name.
  • base_roleRequiredBaseTeamRole
    Member's default team role.
  • team_rolesRequiredV2TeamRole[]
    Custom team roles assigned to the member.
  • team_permissionsRequiredobject
    Permissions calculated from the combination of team roles.

Response example

{
  "id": 1,
  "user_id": 1,
  "workspace_id": 1,
  "email": "developer@example.com",
  "name": "Example",
  "locale": "ko",
  "status": "active",
  "base_role": "workspace_manager",
  "workspace_roles": [
    {
      "id": 1,
      "name": "Example",
      "is_system_role": true,
      "member_count": 1,
      "created_at": "2026-08-27T03:00:00Z",
      "updated_at": "2026-08-27T03:00:00Z",
      "permissions": [
        {
          "resource": "member_management",
          "effect": "allow"
        }
      ]
    }
  ],
  "workspace_permissions": {},
  "teams": [
    {
      "id": 1,
      "name": "Example",
      "base_role": "manager",
      "team_roles": [
        {
          "id": 1,
          "name": "Example",
          "is_system_role": true,
          "permissions": [
            {
              "resource": "member_management",
              "effect": "allow"
            }
          ]
        }
      ],
      "team_permissions": {}
    }
  ]
}

Errors

StatusError codeDescription
401UNAUTHORIZEDUnauthenticated request
403FORBIDDENInsufficient requester permissions
404MEMBER_NOT_FOUND, WORKSPACE_NOT_FOUND, WORKSPACE_ROLE_NOT_FOUNDNot found
422Unprocessable content
429RATE_LIMIT_EXCEEDEDRequest limit exceededLearn more
GET/v2/workspaces/{slug}/members/{member_id}

Workspace Member Detailed Inquiry

Retrieve workspace member details and role information.

Parameters

  • member_idRequiredintegerpath
    Member identifier.
  • slugRequiredstringpath
    Workspace slug

Request example

curl --request GET \
  --url "https://api.callabo.ai/v2/workspaces/your-workspace/members/1" \
  --header "Accept: application/json" \
  --header "Authorization: Bearer $CALLABO_PAT"

Success responses

Response body

  • idRequiredinteger
    Member identifier.
  • user_idRequiredinteger
    Identifier of the user associated with the member.
  • workspace_idRequiredinteger
    Identifier of the workspace to which the member belongs.
  • emailRequiredstring
    Member email.
  • nameRequiredstring
    Member name.
  • localeRequiredUserLocale
    Language used by the member.
  • statusRequired"active" | "deactivated"
    Workspace member status.
  • base_roleRequiredBaseWorkspaceRole
    Member's default workspace role.
  • workspace_rolesRequiredV2WorkspaceRole[]
    Custom workspace roles assigned to the member.
  • idRequiredinteger
    Custom workspace role identifier.
  • nameRequiredstring
    Custom workspace role name.
  • descriptionstring | null
    Custom workspace role description.
  • is_system_roleRequiredboolean
    Whether the role is managed by the system.
  • member_countRequiredinteger
    Number of members assigned to the role.
  • created_atRequiredstring (date-time)
    Date and time when the role was created.
  • updated_atRequiredstring (date-time)
    Date and time when the role was last updated.
  • permissionsRequiredV2Permission[]
    Permissions assigned to the custom workspace role.
  • workspace_permissionsRequiredobject
    Permissions calculated from the combination of workspace roles.
  • teamsRequiredV2MemberTeamSummary[]
    Teams the member belongs to and their roles in each team.
  • idRequiredinteger
    Team identifier.
  • nameRequiredstring
    Team name.
  • base_roleRequiredBaseTeamRole
    Member's default team role.
  • team_rolesRequiredV2TeamRole[]
    Custom team roles assigned to the member.
  • team_permissionsRequiredobject
    Permissions calculated from the combination of team roles.

Response example

{
  "id": 1,
  "user_id": 1,
  "workspace_id": 1,
  "email": "developer@example.com",
  "name": "Example",
  "locale": "ko",
  "status": "active",
  "base_role": "workspace_manager",
  "workspace_roles": [
    {
      "id": 1,
      "name": "Example",
      "is_system_role": true,
      "member_count": 1,
      "created_at": "2026-08-27T03:00:00Z",
      "updated_at": "2026-08-27T03:00:00Z",
      "permissions": [
        {
          "resource": "member_management",
          "effect": "allow"
        }
      ]
    }
  ],
  "workspace_permissions": {},
  "teams": [
    {
      "id": 1,
      "name": "Example",
      "base_role": "manager",
      "team_roles": [
        {
          "id": 1,
          "name": "Example",
          "is_system_role": true,
          "permissions": [
            {
              "resource": "member_management",
              "effect": "allow"
            }
          ]
        }
      ],
      "team_permissions": {}
    }
  ]
}

Errors

StatusError codeDescription
401UNAUTHORIZEDUnauthenticated request
403FORBIDDENInsufficient requester permissions
404MEMBER_NOT_FOUND, WORKSPACE_NOT_FOUND, WORKSPACE_ROLE_NOT_FOUNDNot found
422VALIDATION_ERRORUnprocessable content
429RATE_LIMIT_EXCEEDEDRequest limit exceededLearn more
GET/v2/workspaces/{slug}/invitations

View Workspace invitation list

List workspace invitations filtered by status with pagination.

Parameters

  • slugRequiredstringpath
    Workspace slug
  • offsetintegerqueryDefault 0
    Zero-based offset of the first returned item.
  • limitintegerqueryDefault 20
    Maximum number of items returned.
  • statusWorkspaceInviteStatus | nullquery
    Workspace invitation status to retrieve.

Request example

curl --request GET \
  --url "https://api.callabo.ai/v2/workspaces/your-workspace/invitations" \
  --header "Accept: application/json" \
  --header "Authorization: Bearer $CALLABO_PAT"

Success responses

Response body

  • itemsRequiredV2Invitation[]
    Workspace invitations.
  • idRequiredinteger
    Workspace invitation ID.
  • emailRequiredstring
    Invited email address.
  • statusRequiredWorkspaceInviteStatus
    Workspace invitation status.
  • invited_by_member_idRequiredinteger
    Identifier of the member who sent the invitation.
  • base_roleRequiredBaseWorkspaceRole
    Default workspace role assigned when the invitation is accepted.
  • workspace_rolesRequiredV2WorkspaceRole[]
    Custom workspace roles assigned when the invitation is accepted.
  • invited_atRequiredstring (date-time)
    Date and time when the workspace invitation was sent.
  • accepted_atstring (date-time) | null
    Date and time when the workspace invitation was accepted.
  • cancelled_atstring (date-time) | null
    Date and time when the workspace invitation was canceled.
  • created_atRequiredstring (date-time)
    Date and time when the workspace invitation was created.
  • updated_atRequiredstring (date-time)
    Date and time when the workspace invitation was last updated.
  • pageRequiredV2Pagination
    Workspace invitation pagination information.
  • offsetRequiredinteger
    Zero-based offset of the first returned item.
  • limitRequiredinteger
    Requested maximum number of items.
  • totalRequiredinteger
    Total number of matching items.

Response example

{
  "items": [
    {
      "id": 1,
      "email": "developer@example.com",
      "status": "pending",
      "invited_by_member_id": 1,
      "base_role": "workspace_manager",
      "workspace_roles": [
        {
          "id": 1,
          "name": "Example",
          "is_system_role": true,
          "member_count": 1,
          "created_at": "2026-08-27T03:00:00Z",
          "updated_at": "2026-08-27T03:00:00Z",
          "permissions": [
            {
              "resource": "member_management",
              "effect": "allow"
            }
          ]
        }
      ],
      "invited_at": "2026-08-27T03:00:00Z",
      "created_at": "2026-08-27T03:00:00Z",
      "updated_at": "2026-08-27T03:00:00Z"
    }
  ],
  "page": {
    "offset": 1,
    "limit": 1,
    "total": 1
  }
}

Errors

StatusError codeDescription
401UNAUTHORIZEDUnauthenticated request
403FORBIDDENInsufficient requester permissions
404WORKSPACE_NOT_FOUNDNot found
422VALIDATION_ERRORUnprocessable content
429RATE_LIMIT_EXCEEDEDRequest limit exceededLearn more
GET/v2/workspaces/{slug}/invitations/{invitation_id}

Workspace invitation details view

Retrieve workspace invitation details and current status.

Parameters

  • invitation_idRequiredintegerpath
    Workspace invitation ID.
  • slugRequiredstringpath
    Workspace slug

Request example

curl --request GET \
  --url "https://api.callabo.ai/v2/workspaces/your-workspace/invitations/1" \
  --header "Accept: application/json" \
  --header "Authorization: Bearer $CALLABO_PAT"

Success responses

Response body

  • idRequiredinteger
    Workspace invitation ID.
  • emailRequiredstring
    Invited email address.
  • statusRequiredWorkspaceInviteStatus
    Workspace invitation status.
  • invited_by_member_idRequiredinteger
    Identifier of the member who sent the invitation.
  • base_roleRequiredBaseWorkspaceRole
    Default workspace role assigned when the invitation is accepted.
  • workspace_rolesRequiredV2WorkspaceRole[]
    Custom workspace roles assigned when the invitation is accepted.
  • idRequiredinteger
    Custom workspace role identifier.
  • nameRequiredstring
    Custom workspace role name.
  • descriptionstring | null
    Custom workspace role description.
  • is_system_roleRequiredboolean
    Whether the role is managed by the system.
  • member_countRequiredinteger
    Number of members assigned to the role.
  • created_atRequiredstring (date-time)
    Date and time when the role was created.
  • updated_atRequiredstring (date-time)
    Date and time when the role was last updated.
  • permissionsRequiredV2Permission[]
    Permissions assigned to the custom workspace role.
  • invited_atRequiredstring (date-time)
    Date and time when the workspace invitation was sent.
  • accepted_atstring (date-time) | null
    Date and time when the workspace invitation was accepted.
  • cancelled_atstring (date-time) | null
    Date and time when the workspace invitation was canceled.
  • created_atRequiredstring (date-time)
    Date and time when the workspace invitation was created.
  • updated_atRequiredstring (date-time)
    Date and time when the workspace invitation was last updated.

Response example

{
  "id": 1,
  "email": "developer@example.com",
  "status": "pending",
  "invited_by_member_id": 1,
  "base_role": "workspace_manager",
  "workspace_roles": [
    {
      "id": 1,
      "name": "Example",
      "is_system_role": true,
      "member_count": 1,
      "created_at": "2026-08-27T03:00:00Z",
      "updated_at": "2026-08-27T03:00:00Z",
      "permissions": [
        {
          "resource": "member_management",
          "effect": "allow"
        }
      ]
    }
  ],
  "invited_at": "2026-08-27T03:00:00Z",
  "created_at": "2026-08-27T03:00:00Z",
  "updated_at": "2026-08-27T03:00:00Z"
}

Errors

StatusError codeDescription
401UNAUTHORIZEDUnauthenticated request
403FORBIDDENInsufficient requester permissions
404INVITATION_NOT_FOUNDNot found
422VALIDATION_ERRORUnprocessable content
429RATE_LIMIT_EXCEEDEDRequest limit exceededLearn more
© 2026 Return Zero, Inc.