Approval Workflows
Multi-step approval processes
Get stats
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
List
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Query Parameters
entitystringisActivestringCreate
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequirednameRequiredstringdescriptionstringentityRequiredstring"QUOTE" | "DISCOUNT" | "ORDER" | "CONTRACT" | "CUSTOM_OBJECT" | "LEAD" | "CONTACT" | "ACCOUNT" | "OPPORTUNITY" | "CASE" | "TASK"customObjectNamestringRequired when entity is CUSTOM_OBJECT: the object's API name.
"^[a-z][a-z0-9_]{0,62}$"conditionsarray<object>isActivebooleanprioritynumber0lockRecordbooleanLock the record while a request is pending (standard and custom objects; never quotes).
allowRecallbooleanstatusFieldstringRecord field that mirrors the request status (null clears it).
statusValuesobjectfieldUpdatesobjectHeader Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255Find by entity
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
entityRequiredstringCheck approval required
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
entityTypeRequiredstringentityIdRequiredstringFind one
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
idRequiredstringUpdate
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequirednamestringdescriptionstringentitystring"QUOTE" | "DISCOUNT" | "ORDER" | "CONTRACT" | "CUSTOM_OBJECT" | "LEAD" | "CONTACT" | "ACCOUNT" | "OPPORTUNITY" | "CASE" | "TASK"customObjectNamestring"^[a-z][a-z0-9_]{0,62}$"conditionsarray<object>isActivebooleanprioritynumber0lockRecordbooleanLock the record while a request is pending (standard and custom objects; never quotes).
allowRecallbooleanstatusFieldstringRecord field that mirrors the request status (null clears it).
statusValuesobjectfieldUpdatesobjectPath Parameters
idRequiredstringHeader Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255Delete
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
idRequiredstringClone
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequirednameRequiredstringPath Parameters
idRequiredstringHeader Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255Toggle active
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
idRequiredstringHeader Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255Add step
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequiredorderRequirednumber1nameRequiredstringdescriptionstringapproverTypeRequiredstring"USER" | "ROLE" | "MANAGER" | "SKIP_LEVEL_MANAGER"approverIdstringroleIdstringautoApproveAfterHoursnumber1autoRejectAfterHoursnumber1requireCommentbooleanallowDelegationbooleanPath Parameters
workflowIdRequiredstringHeader Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255Update step
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequiredordernumber1namestringdescriptionstringapproverTypestring"USER" | "ROLE" | "MANAGER" | "SKIP_LEVEL_MANAGER"approverIdstringroleIdstringautoApproveAfterHoursnumber1autoRejectAfterHoursnumber1requireCommentbooleanallowDelegationbooleanPath Parameters
workflowIdRequiredstringstepIdRequiredstringHeader Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255Delete step
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Path Parameters
workflowIdRequiredstringstepIdRequiredstringReorder steps
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
X-API-Key<token>API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.
In: header
Request Body
application/jsonRequiredstepIdsRequiredarray<string>Path Parameters
workflowIdRequiredstringHeader Parameters
Idempotency-KeystringUnique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.
255