Appearance
Member
Query and manage members of your organization, including inviting new users and removing existing ones.
Allowed query parameters
Filters
| Filter | Type | Description |
|---|---|---|
search | String | Full-text search |
Sorting
name, created_at, position, department
Includes
user.media, supervisor.user.media
Retrieve a member
get
/member/{id}
Example response
json
// HTTP 200 OK
{
"id": 123,
"role": {
"id": 1454,
"name": "admin",
"guard_name": "web",
"created_at": "2022-05-19T09:35:09.000000Z",
"updated_at": "2022-05-19T09:35:09.000000Z"
},
"name": "Alice Cooper",
"user": {
"id": 20,
"firstname": "Alice",
"lastname": "Cooper",
"fullName": "Alice Cooper",
"email": "alice.cooper@acme.com",
"department": null,
"description": null,
"avatar": {
"uuid": "40614a32-bdf8-41a5-808b-7bfec98eaef2",
"name": "logo-only.png",
"description": null,
"mime_type": "image/png",
"collection": "avatar",
"url": "http://localhost:8000/image/40614a32-bdf8-41a5-808b-7bfec98eaef2/logo-only.png?fit=crop&h=100&w=100&signature=e6e65b38e9a91d58e428fa9007d98218a29abdd9d81fa514c1bfda364a348989"
},
"gravatar_url": "https://www.gravatar.com/avatar/8d3879333b5e88863ddbad18be8749bf?s=100&d=identicon&r=g"
},
"work_quota": 40
}List members
get
/member
The list endpoint accepts the same parameters as in Retrieve a member and returns a paginated array of the same member object in the data property.
Read more about Pagination, Filtering, Sorting and Includes on the Introduction page.
Roles
When inviting a user, you may assign them one of the following roles:
| Role | Description |
|---|---|
member | Default role. General-purpose access for employees of the organization. |
manager | Extended permissions over projects, sales documents and team management. |
coordinator | Coordinator-level access focused on project and team coordination. |
accounting | Access to bookkeeping, journal transactions, VAT, banking and other accounting-related resources. |
auditor | Read-only audit access. Auditor memberships expire automatically after 14 days. |
admin | Full administrative access to the organization. |
If no role is provided when inviting a user, member is used.
Auditor expiration
Invitations accepted with the auditor role automatically grant temporary membership that expires 14 days after acceptance.
Invite a user
post
/organization/{organization}/invite
Creates an invitation for the given email address and sends a notification or email with the invitation link. If an invitation already exists for the same email in this organization, it is reused and re-sent (the last_sent_at timestamp is updated).
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
organization | Integer | Yes | The ID of the inviting organization |
Request body
| Attribute (* required) | Type | Description |
|---|---|---|
email * | String | The email address to invite. Must be a valid email. |
role | String | The role to assign to the invitee. Defaults to member. See Roles for values. |
Permissions
The authenticated user must be a member of the target organization, have a verified email address, and hold the invite_users permission.
Restrictions
- You cannot invite yourself unless you are a superuser.
- You cannot invite a user who is already an active member of the organization.
- Inviting a previously removed user is allowed and will re-activate their membership when they accept.
Example request
json
{
"email": "bob.dylan@acme.com",
"role": "member"
}Example response
Returns the updated Organization object with the invitations relationship loaded.
json
// HTTP 200 OK
{
"id": 124,
"name": "Acme Inc",
"slug": "acme-inc",
// ...other organization fields
"invitations": [
{
"id": "3f7c8b1a-2e4d-4a9b-9f1c-8d5e6a7b4c3f",
"email": "bob.dylan@acme.com",
"role": "member",
"token": "h4Yr8qJ1xKmNvP6sT2zLwBcDeFgHiJkLmNoPqRsT",
"user": null,
"organization": {
// Simplified organization object
},
"last_sent_at": "2024-06-12T08:15:42.000000Z"
}
]
}Cancel a pending invitation
delete
/invitation/{invitation}
Deletes a pending invitation that has not yet been accepted. Use this to revoke an invitation you sent by mistake.
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
invitation | String | Yes | The invitation's UUID id |
Example response
Returns the updated Organization object with the remaining invitations loaded.
json
// HTTP 200 OK
{
"id": 124,
"name": "Acme Inc",
// ...other organization fields
"invitations": []
}Remove a member from an organization
get
/organization/{organization}/uninvite/{user}
Removes an existing member from the organization. The user is soft-removed from the organization's pivot table and is no longer able to access organization data. If the removed user's current organization was the one they were removed from, their current organization is reset.
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
organization | Integer | Yes | The ID of the organization |
user | Integer | Yes | The ID of the user to remove |
Permissions
- The organization owner may remove any member except themselves.
- Other members must hold the
uninvite_userspermission. - The organization owner cannot be removed.
- Users with the
adminrole cannot be removed by non-owners.
Example response
Returns the updated Organization object with the remaining users and invitations loaded.
json
// HTTP 200 OK
{
"id": 124,
"name": "Acme Inc",
// ...other organization fields
"users": [
// Remaining user objects
],
"invitations": []
}