Skip to content
GurtOS

The caller's view

GET
/me
curl --request GET \
--url http://127.0.0.1:7700/api/me \
--header 'Authorization: Bearer <token>'

Preview. owner says whether this caller has the owner’s controls, on any edition, so a screen need not probe for them. On a Business box it also holds the caller’s person, every person’s name, title, role and limit in directory, the requests this person may approve now (waiting), requests nobody can approve that this person may still deny (stuck), and their own last 50 (requests), each with its route. The box’s own screen acts as the owner, or as a person when it sends x-box-person: <id>.

The view.

Media typeapplication/json
object
owner
required
boolean
edition
required
string
Allowed values: server personal business
company
string
paused
One of:
null
person
One of:
null
directory
Array<object>
object
waiting
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
stuck
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
requests
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

{
"edition": "server",
"person": {
"id": "rosa",
"role": "owner"
},
"waiting": [
{
"state": "pending"
}
],
"stuck": [
{
"state": "pending"
}
],
"requests": [
{
"state": "pending"
}
]
}