Approvals
4 operations under approvals. Examples read $API and $KEY from your shell.
- GET /v1/approvals
- GET /v1/approvals/{id}
- POST /v1/approvals/{id}/approve
- POST /v1/approvals/{id}/reject
GET /v1/approvals
Parameters
statusstring optional in query, one of pending, approved, rejected, canceled, expiredobject_idstring optional in querylimitinteger required in querystarting_afterstring optional in query
Responses
200 Default Response
object
dataarray requiredEach item:
objectstring required one ofapprovalidstring requiredstatusstring required one ofpending,approved,rejected,canceled,expiredactionstring requiredobject_typestring requiredobject_idstring requiredamountdecimal string requiredcurrencystring requiredruleobject requiredactionstring requiredcurrencystring requiredmin_amountdecimal string requiredapprovers_requirednumber required
policy_versioninteger requiredapprovals_countinteger requiredapprovers_requiredinteger requiredmakerobject requiredtypestring requiredidstring required
decisionsarray requiredEach item:
user_idstring requireddecisionstring required one ofapprove,rejectcommentstring required (nullable)created_atstring required
can_decideboolean requiredcreated_atstring requireddecided_atstring required (nullable)versioninteger required
has_moreboolean required
Errors are RFC 9457 problem documents (application/problem+json).
curl
curl -s \
"$API/v1/approvals?limit=1" \
-H "authorization: Bearer $KEY"SDK
import { createScrClient } from "@scr/sdk";
// The client sends the API key for you.
const client = createScrClient({ baseUrl: process.env.API!, apiKey: process.env.KEY! });
const { data, error } = await client.GET("/v1/approvals", {
params: { query: { limit: 1 } },
});GET /v1/approvals/{id}
Parameters
idstring required in path
Responses
200 Default Response
object
objectstring required one ofapprovalidstring requiredstatusstring required one ofpending,approved,rejected,canceled,expiredactionstring requiredobject_typestring requiredobject_idstring requiredamountdecimal string requiredcurrencystring requiredruleobject requiredactionstring requiredcurrencystring requiredmin_amountdecimal string requiredapprovers_requirednumber required
policy_versioninteger requiredapprovals_countinteger requiredapprovers_requiredinteger requiredmakerobject requiredtypestring requiredidstring required
decisionsarray requiredEach item:
user_idstring requireddecisionstring required one ofapprove,rejectcommentstring required (nullable)created_atstring required
can_decideboolean requiredcreated_atstring requireddecided_atstring required (nullable)versioninteger required
Errors are RFC 9457 problem documents (application/problem+json).
curl
curl -s \
"$API/v1/approvals/$ID" \
-H "authorization: Bearer $KEY"SDK
import { createScrClient } from "@scr/sdk";
// The client sends the API key for you.
const client = createScrClient({ baseUrl: process.env.API!, apiKey: process.env.KEY! });
const { data, error } = await client.GET("/v1/approvals/{id}", {
params: { path: { id: "<id>" } },
});POST /v1/approvals/{id}/approve
Send an Idempotency-Key header on every POST so a retry never repeats the request.
Parameters
idstring required in path
Request body
application/json, required
object
commentstring optional
Responses
200 Default Response
object
objectstring required one ofapprovalidstring requiredstatusstring required one ofpending,approved,rejected,canceled,expiredactionstring requiredobject_typestring requiredobject_idstring requiredamountdecimal string requiredcurrencystring requiredruleobject requiredactionstring requiredcurrencystring requiredmin_amountdecimal string requiredapprovers_requirednumber required
policy_versioninteger requiredapprovals_countinteger requiredapprovers_requiredinteger requiredmakerobject requiredtypestring requiredidstring required
decisionsarray requiredEach item:
user_idstring requireddecisionstring required one ofapprove,rejectcommentstring required (nullable)created_atstring required
can_decideboolean requiredcreated_atstring requireddecided_atstring required (nullable)versioninteger required
Errors are RFC 9457 problem documents (application/problem+json).
curl
curl -s \
-X POST \
"$API/v1/approvals/$ID/approve" \
-H "authorization: Bearer $KEY" \
-H "idempotency-key: $(uuidgen)" \
-H "content-type: application/json" \
-d '{}'SDK
import { createScrClient } from "@scr/sdk";
// The client sends the API key and an Idempotency-Key for you.
const client = createScrClient({ baseUrl: process.env.API!, apiKey: process.env.KEY! });
const { data, error } = await client.POST("/v1/approvals/{id}/approve", {
params: { path: { id: "<id>" } },
body: {},
});POST /v1/approvals/{id}/reject
Send an Idempotency-Key header on every POST so a retry never repeats the request.
Parameters
idstring required in path
Request body
application/json, required
object
reasonstring required
Responses
200 Default Response
object
objectstring required one ofapprovalidstring requiredstatusstring required one ofpending,approved,rejected,canceled,expiredactionstring requiredobject_typestring requiredobject_idstring requiredamountdecimal string requiredcurrencystring requiredruleobject requiredactionstring requiredcurrencystring requiredmin_amountdecimal string requiredapprovers_requirednumber required
policy_versioninteger requiredapprovals_countinteger requiredapprovers_requiredinteger requiredmakerobject requiredtypestring requiredidstring required
decisionsarray requiredEach item:
user_idstring requireddecisionstring required one ofapprove,rejectcommentstring required (nullable)created_atstring required
can_decideboolean requiredcreated_atstring requireddecided_atstring required (nullable)versioninteger required
Errors are RFC 9457 problem documents (application/problem+json).
curl
curl -s \
-X POST \
"$API/v1/approvals/$ID/reject" \
-H "authorization: Bearer $KEY" \
-H "idempotency-key: $(uuidgen)" \
-H "content-type: application/json" \
-d '{"reason":"<reason>"}'SDK
import { createScrClient } from "@scr/sdk";
// The client sends the API key and an Idempotency-Key for you.
const client = createScrClient({ baseUrl: process.env.API!, apiKey: process.env.KEY! });
const { data, error } = await client.POST("/v1/approvals/{id}/reject", {
params: { path: { id: "<id>" } },
body: {
"reason": "<reason>"
},
});