Search the docs
Find a page, a section, or an endpoint.
Workspace
Every workspace endpoint, generated from the API's own schemas.
Which account this key is for
get/api/v1/workspace
Read-only. Renaming is a settings field and deleting takes the calling credential with it; neither belongs to a bearer token. `plan` is here so a caller can say "your plan allows N" rather than discovering it from a 402.
Responses
- 200The workspace.
- 400The request is not valid. `error.field` names the input at fault when there is one.
- 401No API key, or one that is not valid.
- 403Refused. `error.code` says why: `forbidden` when this key may not do this or the account is on hold, `abuse_blocked` when a limit says no.
- 404No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
- 409It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
- 429Rate limited. `X-RateLimit-Reset` says when to retry.
- 500Something went wrong on our side. Retry; if it keeps happening, tell us.
- 503Something this needs is not answering right now. Retry in a moment.
curl https://pidgeon.ai/api/v1/workspace \
-H "Authorization: Bearer $PIDGEON_API_KEY"List the people in this workspace
get/api/v1/workspace/members
Read-only, and workspace-level: a key with no mailbox grants can still read it, for the same reason it can list domains. Assigning a conversation needs an id from here. Inviting and removing people stay in the dashboard — an invitation is mail to a person, and removing somebody hands on their mailboxes.
Responses
- 200Everyone in the workspace.
- 400The request is not valid. `error.field` names the input at fault when there is one.
- 401No API key, or one that is not valid.
- 403Refused. `error.code` says why: `forbidden` when this key may not do this or the account is on hold, `abuse_blocked` when a limit says no.
- 404No such resource, or one this key cannot reach. The two answer the same, so treat a 404 as “not available to you” rather than “does not exist”.
- 409It conflicts with what is there: it already exists, or the `etag` you sent is not the current one.
- 429Rate limited. `X-RateLimit-Reset` says when to retry.
- 500Something went wrong on our side. Retry; if it keeps happening, tell us.
- 503Something this needs is not answering right now. Retry in a moment.
curl https://pidgeon.ai/api/v1/workspace/members \
-H "Authorization: Bearer $PIDGEON_API_KEY"