Skip to content
GurtOS

List approvals

GET
/approvals
curl --request GET \
--url 'http://127.0.0.1:7700/api/approvals?state=pending&for=me' \
--header 'Authorization: Bearer <token>'

Every approval, or only those in one state. state=pending is the inbox. With for=me on a GurtOS Business box, only the pending approvals the calling person may answer now (an empty list when no person is calling).

state
string
Allowed values: pending approved denied

Only approvals in this state.

for
string
Allowed value: me

me: the Business “waiting for me” list.

The approvals.

Media typeapplication/json
Array<object>
object
id
required

<task id>.budget.<action> for the box’s own spend question, <task id>.task.<key> for a question the task asked, <task id>.tool.<call>.ask.<hash> for one a tool asked, <task id>.shadow.<action> for a Business shadow request. The same key asked twice is the same approval. A task can only name keys under task., so it cannot pre-answer the box’s own questions.

string
task
required
string
question
required

The question shown to people.

string
costCents
required

The spending being asked about

number
payee

Who gets paid

string
purpose

What the spend or action is for.

string
state
required
string
Allowed values: pending approved denied
by

Who answered: a paired device’s name, what the box’s own screen sent (such as box screen), jira:<name>, asi1, undo, or task ended. On Business, the person’s name.

string
person

Business: the id of the person who answered.

string
via

Business: the phone or screen the answer came from. A native app’s auth is kept here as reported.

string
askedBy

Business: the id of the person who asked for the task. They may not answer it.

string
route

Business: where the policy sent a request, and why.

object
rule
required

The policy line that matched, such as Over $10,000 goes to the Controller.

string
to
required

Who it goes to as the policy says it: the Controller, IT, any approver.

string
amountCents
required

The amount the rules and limits were checked against

integer
people
required

The people who could approve it when it was asked.

Array<object>
object
id
string
name
string
why
required

One sentence for people.

string
shadow

Business shadow mode: the seat this is a suggestion from.

string

Example

[
{
"id": "t3k9x2a1b2.budget.example.spend:9f2c41d07a6be315",
"task": "t3k9x2a1b2",
"question": "Spend $8.00 to Test Vendor on example.spend (test spend on a GPU hour)? Budget $5.00, spent $0.00.",
"costCents": 800,
"payee": "Test Vendor",
"purpose": "test spend on a GPU hour",
"state": "pending"
}
]