Skip to content

REST API

Call Oasis from your own code with a workspace API key.

Use the REST API when you want to call Oasis directly from a script, a backend, or CI. To give an AI assistant access instead, connect it over MCP.

Create a key#

Workspace owners and admins create keys in Settings → API. Add a label so you can tell keys apart later. The full key is shown once, so copy it into a secrets manager before you close the dialog. Revoke a key from the same page; requests that use it fail with 401 right away.

A key belongs to one workspace and acts as the person who created it, with owner access to that workspace. Anyone holding it can read and change everything in the workspace, so treat it like a password. Keys cannot create or revoke other keys.

Authenticate#

Send the key in the X-API-Key header. Every path below is relative to the base URL https://api.joinoasis.com/api/v1.

bash
curl https://api.joinoasis.com/api/v1/me/organization \
  -H "X-API-Key: $OASIS_API_KEY"

The response includes org_id, your workspace ID. Workspace routes take it in the path.

Errors#

StatusMeaning
401The key is missing, mistyped, or revoked.
403The key cannot do this, for example managing API keys.
404The resource does not exist in this workspace.
422The request body failed validation. The response lists each invalid field.

Workspace#

GET/me/organizationGet workspace

Read the workspace the key belongs to. Its org_id goes in every workspace path.

Example

bash
curl -X GET "https://api.joinoasis.com/api/v1/me/organization" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 200 · object

NameTypeDescription
org_iduuidWorkspace ID. Use it in every workspace path.
org_namestring
logo_urlstring
is_personalboolean
planstring
created_atdatetime

Agents#

GET/organizations/{org_id}/agentsList agents

List agents in the workspace.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes
include_triggersqueryboolean

Example

bash
curl -X GET "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/agents" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 200 · array of object

NameTypeDescription
agent_idstring
kindstring
namestring
agent_rolestring
descriptionstringShort description shown with the agent.
stateidle | active
picture_urlstring
colorarray of string
composio_toolkitsarray of stringApps the agent can use, by toolkit slug (for example `gmail`).
composio_require_approvalboolean
created_bystring
created_atstring
updated_atstring
caller_permissionstring
POST/organizations/{org_id}/agentsCreate an agent

Create an agent with a name, role and standing instructions.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes

Body

NameTypeRequiredDescription
connection_grantsarray of objectConnected app accounts the agent can use.
connection_grants[].connection_idstringYes
connection_grants[].scopestring'read' | 'write'
connection_grants[].auto_approveboolean
namestringYesDisplay name for the agent
agent_rolestring
descriptionstringShort description shown with the agent.
system_promptstring
response_styledefault | warm | direct | professional | super_casual
picture_urlstring
colorarray of string
composio_toolkitsarray of stringApps the agent can use, by toolkit slug (for example `gmail`).
composio_require_approvalbooleanIf true, draft actions and ask for approval before executing
composio_toolkit_approval_overridesobjectPer-app override of `composio_require_approval`, keyed by toolkit slug.
enable_memory_recallbooleanLet the agent use its memory.

Example

bash
curl -X POST "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/agents" \
  -H "X-API-Key: $OASIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Scout","agent_role":"Research analyst","system_prompt":"Research what you are asked about and cite sources."}'

Response 201 · object

NameTypeDescription
agent_idstring
user_idstring
org_idstring
namestring
agent_rolestring
descriptionstringShort description shown with the agent.
stateidle | active
picture_urlstring
colorarray of string
composio_toolkitsarray of stringApps the agent can use, by toolkit slug (for example `gmail`).
composio_require_approvalboolean
composio_toolkit_account_sourceobjectPer-app account choice, keyed by toolkit slug: `shared` uses the accounts granted to the agent, `self` has each person use their own. Missing keys mean `shared`.
created_atstring
updated_atstring
created_bystring
kindstring
caller_permissionstring
budget_amount_usdnumber
budget_periodstring
GET/agents/{agent_id}Get an agent

Read an agent's instructions and settings.

Parameters

NameInTypeRequiredDescription
agent_idpathstringYes

Example

bash
curl -X GET "https://api.joinoasis.com/api/v1/agents/$AGENT_ID" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 200 · object

NameTypeDescription
agent_idstring
user_idstring
org_idstring
namestring
agent_rolestring
descriptionstringShort description shown with the agent.
stateidle | active
picture_urlstring
colorarray of string
composio_toolkitsarray of stringApps the agent can use, by toolkit slug (for example `gmail`).
composio_require_approvalboolean
composio_toolkit_account_sourceobjectPer-app account choice, keyed by toolkit slug: `shared` uses the accounts granted to the agent, `self` has each person use their own. Missing keys mean `shared`.
created_atstring
updated_atstring
created_bystring
kindstring
caller_permissionstring
budget_amount_usdnumber
budget_periodstring
PUT/agents/{agent_id}Update an agent

Change an agent. Send only the fields you want to change.

Parameters

NameInTypeRequiredDescription
agent_idpathstringYes

Body

NameTypeRequiredDescription
namestring
agent_rolestring
descriptionstringShort description shown with the agent.
system_promptstring
response_styledefault | warm | direct | professional | super_casual
picture_urlstring
colorarray of string
composio_toolkitsarray of stringApps the agent can use, by toolkit slug (for example `gmail`).
composio_require_approvalboolean
composio_toolkit_approval_overridesobjectPer-app override of `composio_require_approval`, keyed by toolkit slug.
composio_toolkit_account_sourceobjectPer-app account choice, keyed by toolkit slug: `shared` uses the accounts granted to the agent, `self` has each person use their own. Missing keys mean `shared`.
enable_memory_recallbooleanLet the agent use its memory.
budget_amount_usdnumberUSD cap for the budget period; null = no cap
budget_periodstring'daily' | 'weekly' | 'monthly'; null = no cap

Example

bash
curl -X PUT "https://api.joinoasis.com/api/v1/agents/$AGENT_ID" \
  -H "X-API-Key: $OASIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"description":"Researches competitors every week."}'

Response 200 · object

NameTypeDescription
agent_idstring
user_idstring
org_idstring
namestring
agent_rolestring
descriptionstringShort description shown with the agent.
stateidle | active
picture_urlstring
colorarray of string
composio_toolkitsarray of stringApps the agent can use, by toolkit slug (for example `gmail`).
composio_require_approvalboolean
composio_toolkit_account_sourceobjectPer-app account choice, keyed by toolkit slug: `shared` uses the accounts granted to the agent, `self` has each person use their own. Missing keys mean `shared`.
created_atstring
updated_atstring
created_bystring
kindstring
caller_permissionstring
budget_amount_usdnumber
budget_periodstring
DELETE/agents/{agent_id}Delete an agent

Delete an agent. This cannot be undone.

Parameters

NameInTypeRequiredDescription
agent_idpathstringYes

Example

bash
curl -X DELETE "https://api.joinoasis.com/api/v1/agents/$AGENT_ID" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 204 · no content

Tasks#

GET/organizations/{org_id}/tasksList tasks

List tasks in the workspace. Filter with status and page with limit and offset.

Parameters

NameInTypeRequiredDescription
org_idpathuuidYes
statusqueryactive | paused | running | blocked | completed | incomplete | cancelled
scopequeryall | open | closed
limitqueryinteger
offsetqueryinteger

Example

bash
curl -X GET "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/tasks" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 200 · array of object

NameTypeDescription
iduuid
org_iduuid
titlestring
objectivestring
exit_criteriastring
due_atdatetime
statusactive | paused | running | blocked | completed | incomplete | cancelled
created_by_user_iduuid
created_atdatetime
updated_atdatetime
archived_atdatetime
stepsarray of object
latest_runobject
POST/organizations/{org_id}/tasksCreate a task

Create a task with an objective and at least one step.

Parameters

NameInTypeRequiredDescription
org_idpathuuidYes

Body

NameTypeRequiredDescription
titlestringYes
objectivestringYes
exit_criteriastring
due_atdatetime
heartbeat_interval_minutesinteger
stepsarray of objectYes
steps[].iduuid
steps[].positionintegerYes
steps[].titlestringYes
steps[].instructionstringYes
steps[].kindagent_wake | human_action | workYes
steps[].depends_on_step_idsarray of uuid
steps[].assigneesarray of object
steps[].assignee_agent_iduuid
steps[].assignee_user_iduuid
steps[].configurationobject

Example

bash
curl -X POST "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/tasks" \
  -H "X-API-Key: $OASIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Weekly competitor scan","objective":"Summarize what competitors shipped this week","steps":[{"position":0,"title":"Scan","instruction":"Check each competitor changelog","kind":"work"}]}'

Response 201 · object

NameTypeDescription
taskobjectAn organization-wide outcome that may be executed many times.
stepsarray of object
approvalsarray of object
latest_runobject
can_editboolean
GET/organizations/{org_id}/tasks/{task_id}Get a task

Read a task with its steps.

Parameters

NameInTypeRequiredDescription
org_idpathuuidYes
task_idpathuuidYes

Example

bash
curl -X GET "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/tasks/$TASK_ID" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 200 · object

NameTypeDescription
taskobjectAn organization-wide outcome that may be executed many times.
stepsarray of object
approvalsarray of object
latest_runobject
can_editboolean
PATCH/organizations/{org_id}/tasks/{task_id}Update a task

Change a task. Send only the fields you want to change. steps replaces the whole plan, so send unchanged steps with their IDs.

Parameters

NameInTypeRequiredDescription
org_idpathuuidYes
task_idpathuuidYes

Body

NameTypeRequiredDescription
titlestring
objectivestring
exit_criteriastring
due_atdatetime
statusactive | paused | running | blocked | completed | incomplete | cancelled
heartbeat_interval_minutesinteger
next_heartbeat_atdatetime
stepsarray of object
steps[].iduuid
steps[].positionintegerYes
steps[].titlestringYes
steps[].instructionstringYes
steps[].kindagent_wake | human_action | workYes
steps[].depends_on_step_idsarray of uuid
steps[].assigneesarray of object
steps[].assignee_agent_iduuid
steps[].assignee_user_iduuid
steps[].configurationobject

Example

bash
curl -X PATCH "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/tasks/$TASK_ID" \
  -H "X-API-Key: $OASIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Weekly competitor scan (EU)"}'

Response 200 · object

NameTypeDescription
taskobjectAn organization-wide outcome that may be executed many times.
stepsarray of object
approvalsarray of object
latest_runobject
can_editboolean
DELETE/organizations/{org_id}/tasks/{task_id}Archive a task

Archive a task.

Parameters

NameInTypeRequiredDescription
org_idpathuuidYes
task_idpathuuidYes

Example

bash
curl -X DELETE "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/tasks/$TASK_ID" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 204 · no content

Workflows#

GET/organizations/{org_id}/schedulesList workflows

List workflows. Set include_disabled to include paused ones.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes
include_disabledqueryboolean

Example

bash
curl -X GET "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/schedules" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 200 · array of object

NameTypeDescription
idstring
task_idstring
org_idstring
namestring
descriptionstring
kindstring`time`, `event` or `manual`.
trigger_typestring`cron`, `composio` (an app event) or `manual`.
composio_trigger_slugstringApp event that starts the workflow, for example `GMAIL_NEW_EMAIL`.
composio_trigger_configobjectSettings for that app event.
composio_connected_account_idstringConnected account the event watches. Defaults to your account for that app.
cron_exprstring
timezonestring
execute_atstring
enabledboolean
seed_promptstringInstructions for each run.
agent_idsarray of stringAgents that do the work.
human_participant_idsarray of string
created_bystring
visibilitystring
last_run_atstring
last_run_statusstring
last_run_errorstring
run_countinteger
created_atstring
updated_atstring
condition_rulesarray of objectFilters on the event payload. A run starts only when every rule matches.
fire_cap_per_windowinteger
fire_cap_window_secondsinteger
paused_reasonstring
POST/organizations/{org_id}/schedulesCreate a workflow

Create a workflow with instructions, assigned agents and when it runs: manual, cron (recurring) or composio (on an app event). Use an IANA timezone with cron_expr. Automatic triggers are active once saved.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes

Body

NameTypeRequiredDescription
namestring
descriptionstring
kindstring`time`, `event` or `manual`.
trigger_typestring`cron`, `composio` (an app event) or `manual`.
composio_trigger_slugstringApp event that starts the workflow, for example `GMAIL_NEW_EMAIL`.
composio_trigger_configobjectSettings for that app event.
composio_connected_account_idstringConnected account the event watches. Defaults to your account for that app.
cron_exprstringStandard 5-field cron, e.g. '0 8 * * *'
timezonestringIANA timezone name, e.g. 'America/New_York'
execute_atstringISO 8601 datetime for one-time runs
seed_promptstringInstructions for each run.
agent_idsarray of stringAgents that do the work.
human_participant_idsarray of stringHuman participant UUIDs
visibilitystring'private' (creator-only) or 'public' (visible to whole org)
condition_rulesarray of objectFilters on the event payload. A run starts only when every rule matches.
condition_rules[].rule_typestringAlways `deterministic`.
condition_rules[].fieldstringYesDotted path into the event payload, e.g. 'from' or 'repository.full_name'
condition_rules[].operatorstringYesOne of: equals, contains, starts_with, ends_with, regex, exists, gt, lt
condition_rules[].valueanyValue to compare against; ignored for 'exists'
fire_cap_per_windowintegerPer-schedule rate limit; null = uncapped
fire_cap_window_secondsintegerWindow for fire_cap_per_window
generate_task_blueprintbooleanDraft the step plan from `seed_prompt` when the workflow is saved.

Example

bash
curl -X POST "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/schedules" \
  -H "X-API-Key: $OASIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Morning digest","trigger_type":"cron","cron_expr":"0 9 * * 1-5","timezone":"America/New_York","seed_prompt":"Post a digest of the previous day.","agent_ids":["AGENT_ID"]}'

Response 201 · object

NameTypeDescription
idstring
task_idstring
org_idstring
namestring
descriptionstring
kindstring`time`, `event` or `manual`.
trigger_typestring`cron`, `composio` (an app event) or `manual`.
composio_trigger_slugstringApp event that starts the workflow, for example `GMAIL_NEW_EMAIL`.
composio_trigger_configobjectSettings for that app event.
composio_connected_account_idstringConnected account the event watches. Defaults to your account for that app.
cron_exprstring
timezonestring
execute_atstring
enabledboolean
seed_promptstringInstructions for each run.
agent_idsarray of stringAgents that do the work.
human_participant_idsarray of string
created_bystring
visibilitystring
last_run_atstring
last_run_statusstring
last_run_errorstring
run_countinteger
created_atstring
updated_atstring
condition_rulesarray of objectFilters on the event payload. A run starts only when every rule matches.
fire_cap_per_windowinteger
fire_cap_window_secondsinteger
paused_reasonstring
GET/organizations/{org_id}/schedules/{schedule_id}Get a workflow

Read a workflow's instructions, agents, timing and enabled state.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes
schedule_idpathstringYes

Example

bash
curl -X GET "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/schedules/$SCHEDULE_ID" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 200 · object

NameTypeDescription
idstring
task_idstring
org_idstring
namestring
descriptionstring
kindstring`time`, `event` or `manual`.
trigger_typestring`cron`, `composio` (an app event) or `manual`.
composio_trigger_slugstringApp event that starts the workflow, for example `GMAIL_NEW_EMAIL`.
composio_trigger_configobjectSettings for that app event.
composio_connected_account_idstringConnected account the event watches. Defaults to your account for that app.
cron_exprstring
timezonestring
execute_atstring
enabledboolean
seed_promptstringInstructions for each run.
agent_idsarray of stringAgents that do the work.
human_participant_idsarray of string
created_bystring
visibilitystring
last_run_atstring
last_run_statusstring
last_run_errorstring
run_countinteger
created_atstring
updated_atstring
condition_rulesarray of objectFilters on the event payload. A run starts only when every rule matches.
fire_cap_per_windowinteger
fire_cap_window_secondsinteger
paused_reasonstring
PATCH/organizations/{org_id}/schedules/{schedule_id}Update a workflow

Change a workflow. Set enabled to false to pause it and true to resume.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes
schedule_idpathstringYes

Body

NameTypeRequiredDescription
namestring
descriptionstring
kindstring`time`, `event` or `manual`.
trigger_typestring`cron`, `composio` (an app event) or `manual`.
composio_trigger_slugstringApp event that starts the workflow, for example `GMAIL_NEW_EMAIL`.
composio_trigger_configobjectSettings for that app event.
composio_connected_account_idstringConnected account the event watches. Defaults to your account for that app.
cron_exprstring
timezonestring
execute_atstring
enabledboolean
seed_promptstringInstructions for each run.
agent_idsarray of stringAgents that do the work.
human_participant_idsarray of string
visibilitystring
condition_rulesarray of objectFilters on the event payload. A run starts only when every rule matches.
condition_rules[].rule_typestringAlways `deterministic`.
condition_rules[].fieldstringYesDotted path into the event payload, e.g. 'from' or 'repository.full_name'
condition_rules[].operatorstringYesOne of: equals, contains, starts_with, ends_with, regex, exists, gt, lt
condition_rules[].valueanyValue to compare against; ignored for 'exists'
fire_cap_per_windowinteger
fire_cap_window_secondsinteger

Example

bash
curl -X PATCH "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/schedules/$SCHEDULE_ID" \
  -H "X-API-Key: $OASIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"enabled":false}'

Response 200 · object

NameTypeDescription
idstring
task_idstring
org_idstring
namestring
descriptionstring
kindstring`time`, `event` or `manual`.
trigger_typestring`cron`, `composio` (an app event) or `manual`.
composio_trigger_slugstringApp event that starts the workflow, for example `GMAIL_NEW_EMAIL`.
composio_trigger_configobjectSettings for that app event.
composio_connected_account_idstringConnected account the event watches. Defaults to your account for that app.
cron_exprstring
timezonestring
execute_atstring
enabledboolean
seed_promptstringInstructions for each run.
agent_idsarray of stringAgents that do the work.
human_participant_idsarray of string
created_bystring
visibilitystring
last_run_atstring
last_run_statusstring
last_run_errorstring
run_countinteger
created_atstring
updated_atstring
condition_rulesarray of objectFilters on the event payload. A run starts only when every rule matches.
fire_cap_per_windowinteger
fire_cap_window_secondsinteger
paused_reasonstring
DELETE/organizations/{org_id}/schedules/{schedule_id}Delete a workflow

Delete a workflow and its trigger. Past runs and their results may remain.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes
schedule_idpathstringYes

Example

bash
curl -X DELETE "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/schedules/$SCHEDULE_ID" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 204 · no content

Rooms#

GET/organizations/{org_id}/roomsList rooms

List rooms you can see in the workspace.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes
include_archivedqueryboolean
include_cliqueryboolean
workspace_viewqueryboolean
limitqueryinteger
beforequerystring
room_idsqueryarray of uuid

Example

bash
curl -X GET "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/rooms" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 200 · array of object

NameTypeDescription
iduuid
org_iduuid
namestring
descriptionstring
picture_urlstring
agent_participantsarray of uuid
human_participantsarray of uuid
archivedboolean
pinnedboolean
room_typestring
visibilitystring
created_byuuid
created_atstring
updated_atstring
unreadboolean
unread_countinteger
latest_message_previewstring
messagesobject
POST/organizations/{org_id}/roomsCreate a room

Create a room. Add agents with agent_participants.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes

Body

NameTypeRequiredDescription
namestringYes
descriptionstring
agent_participantsarray of uuid
human_participantsarray of uuid
room_typeroom | agent_draft | cli
visibilitypublic | private

Example

bash
curl -X POST "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/rooms" \
  -H "X-API-Key: $OASIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Nightly report","visibility":"private"}'

Response 201 · object

NameTypeDescription
iduuid
org_iduuid
namestring
descriptionstring
picture_urlstring
agent_participantsarray of uuid
human_participantsarray of uuid
archivedboolean
pinnedboolean
room_typestring
visibilitystring
created_byuuid
created_atstring
updated_atstring
unreadboolean
unread_countinteger
latest_message_previewstring
messagesobject
DELETE/rooms/{room_id}Delete a room

Delete a room and its messages.

Parameters

NameInTypeRequiredDescription
room_idpathstringYes

Example

bash
curl -X DELETE "https://api.joinoasis.com/api/v1/rooms/$ROOM_ID" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 204 · no content

Messages#

GET/rooms/{room_id}/messagesList messages

Read a room's messages. Page with limit and before.

Parameters

NameInTypeRequiredDescription
room_idpathstringYes
limitqueryinteger
beforequerystring

Example

bash
curl -X GET "https://api.joinoasis.com/api/v1/rooms/$ROOM_ID/messages" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 200 · object

NameTypeDescription
messagesarray of object
has_moreboolean
oldest_cursorstring
newest_cursorstring
POST/rooms/{room_id}/messagesSend a message

Post a message as the key's creator. Put an agent's ID in mentions to wake it. Reuse idempotency_key when retrying so the message is not posted twice.

Parameters

NameInTypeRequiredDescription
room_idpathstringYes

Body

NameTypeRequiredDescription
contentstringYes
attachmentsarray of object
extrasobject
mentionsarray of uuidIDs of the agents or people mentioned. Mentioned agents in the room start working on the message.
idempotency_keystringRetrying with the same key returns the original message instead of posting it again.
thread_root_message_iduuidTop-level message this reply belongs to.
reply_to_message_iduuidMain-timeline message quoted by this inline reply.
also_show_in_mainbooleanAlso show this thread reply in the room's main timeline.

Example

bash
curl -X POST "https://api.joinoasis.com/api/v1/rooms/$ROOM_ID/messages" \
  -H "X-API-Key: $OASIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content":"Summarize the signups from yesterday","idempotency_key":"report-2026-10-12"}'

Response 201 · object

NameTypeDescription
iduuid
room_iduuid
sender_typestring
contentstring
mentionsarray of uuidIDs of the agents or people mentioned. Mentioned agents in the room start working on the message.
message_typestring
idempotency_keystringRetrying with the same key returns the original message instead of posting it again.
attachmentsarray of object
thread_root_message_iduuid
reply_to_message_iduuid
also_show_in_mainbooleanAlso show this thread reply in the room's main timeline.
sent_atstring
reply_countinteger
reactionsarray of object

Members#

GET/organizations/{org_id}/membersList members

List the people in the workspace and their roles.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes

Example

bash
curl -X GET "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/members" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 200 · array of object

NameTypeDescription
idstring
user_idstring
org_idstring
rolestring
emailstring
namestring
created_atstring
picture_urlstring

Approvals#

GET/organizations/{org_id}/pending-approvalsList approvals

List actions waiting for someone to approve or reject them.

Parameters

NameInTypeRequiredDescription
org_idpathstringYes
statusquerystring
execution_statequerystring
limitqueryinteger
action_kindquerystring

Example

bash
curl -X GET "https://api.joinoasis.com/api/v1/organizations/$ORG_ID/pending-approvals" \
  -H "X-API-Key: $OASIS_API_KEY"

Response 200 · array of object

NameTypeDescription
iduuid
statusstring`pending`, `approved` or `rejected`.
agentIduuidAgent that wants to act.
agentNamestring
toolkitstringApp the action runs in, for example `gmail`.
actionNamestring
actionDescriptionstring
toolArgsobjectArguments the agent wants to run the action with.
roomIduuid
taskIduuid
approverUserIdsarray of uuidPeople who can approve or reject it.
createdAtdatetime
resolvedAtdatetime
resolvedByuuid
rejectionReasonstring