Skip to main content
Users in Probo are represented as profiles. A profile holds a person’s identity information and is linked to an organization through a membership with a specific role.

The Profile object

id
string
required
Global ID (GID) of the profile.
organization_id
string
required
GID of the organization this profile belongs to.
full_name
string
required
Full name of the user.
email_address
string
required
Primary email address.
additional_email_addresses
string[]
required
Additional email addresses associated with the user.
kind
string | null
required
User kind or employment type (e.g. employee, contractor).
position
string | null
Job title or position.
contract_start_date
string | null (date-time)
Contract or employment start date.
contract_end_date
string | null (date-time)
Contract or employment end date.
created_at
string (date-time)
required
ISO 8601 timestamp of when the profile was created.
updated_at
string (date-time)
required
ISO 8601 timestamp of the last update.

MembershipRole enum

Controls what actions a user can perform within an organization.
ValueDescription
OWNERFull administrative access, including billing and organization deletion
ADMINCan manage users, settings, and all resources
EMPLOYEEStandard access to compliance resources
VIEWERRead-only access
AUDITORRead-only access intended for external auditors

The Membership object

id
string
required
Global ID (GID) of the membership.
role
MembershipRole
required
The user’s role in the organization.
created_at
string (date-time)
required
ISO 8601 timestamp of when the membership was created.

Operations

listUsers

Returns all users in an organization. MCP tool: listUsers

Parameters

organization_id
string
required
GID of the organization.
size
integer
Number of results per page. Defaults to 20.
cursor
string
Pagination cursor from a previous response’s next_cursor.
order_by
object
filter
object

Response

users
Profile[]
required
Array of profile objects.
next_cursor
string
Cursor for the next page. Absent when there are no more results.

getUser

Returns a single user by ID. MCP tool: getUser

Parameters

id
string
required
GID of the profile.

Response

user
Profile
required
The requested profile object.

createUser

Creates a new user profile and adds them to the organization. MCP tool: createUser

Parameters

organization_id
string
required
GID of the organization.
full_name
string
required
Full name of the user.
email_address
string
required
Primary email address.
role
MembershipRole
required
Membership role for the new user.
kind
string | null
required
User kind (e.g. employee, contractor).
additional_email_addresses
string[]
Additional email addresses.
position
string | null
Job title or position.
contract_start_date
string | null
Contract start date (ISO 8601).
contract_end_date
string | null
Contract end date (ISO 8601).

Response

user
Profile
required
The created profile object.

inviteUser

Sends an invitation to an existing profile to join the organization. MCP tool: inviteUser

Parameters

organization_id
string
required
GID of the organization.
profile_id
string
required
GID of the profile to invite.

Response

invitation_id
string
required
GID of the created invitation.

updateUser

Updates an existing user’s profile information. MCP tool: updateUser

Parameters

id
string
required
GID of the profile to update.
full_name
string
required
Updated full name.
kind
string | null
required
Updated user kind.
additional_email_addresses
string[] | null
Updated additional email addresses.
position
string | null
Updated position.
contract_start_date
string | null
Updated contract start date.
contract_end_date
string | null
Updated contract end date.

removeUser

Removes a user from the organization. MCP tool: removeUser

Parameters

organization_id
string
required
GID of the organization.
profile_id
string
required
GID of the profile to remove.

Response

deleted_user_id
string
required
GID of the removed profile.

updateMembership

Changes a user’s role within the organization. MCP tool: updateMembership

Parameters

organization_id
string
required
GID of the organization.
membership_id
string
required
GID of the membership to update.
role
MembershipRole
required
New role to assign.

Response

membership
Membership
required
The updated membership object.

Examples

curl -X POST https://your-probo-instance/api/mcp/v1 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "createUser",
      "arguments": {
        "organization_id": "gid://probo/Organization/01J5XKZW9QMXP3N6V8HTJA2FKB",
        "full_name": "Jane Smith",
        "email_address": "[email protected]",
        "role": "EMPLOYEE",
        "kind": "employee",
        "position": "Security Engineer",
        "contract_start_date": "2024-01-01T00:00:00Z"
      }
    }
  }'

Build docs developers (and LLMs) love