Task routes: create, get, list
The Task Verbs create, get, list as api.sb routes, with inputs, result, refusals and an example.
Reference for Task, one group of Task routes.
Task.create
Creates a Task. Verb page.
POST /{namespace}/ tasksBody, as JSON: the inputs. Emits Task.created.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
by | Worker | The Worker that performed it. | |
for | Party | The Party it was done on behalf of. | |
via | string | The Interface or request it arrived through. | |
on | string | The Action or Event that caused it, such as the failed attempt a retry follows. | |
thing | string | The record, at the Version the Action was decided against. | |
input | json | The input it was called with. | |
createdAt | datetime | When it was called. | |
reserved | money | The most this Action may cost, held against its Limits from the check until it settles, billed misses included. | |
due | datetime | When the Task is due. | |
priority | integer | Its rank in the inbox, highest first. | |
recurrence | string | The schedule a recurring duty repeats on. | |
project | Project | A Project is made of Tasks. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
task | Task | required | The Task. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ tasks \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"by": "worker_whZFpOKWIV"}'{
"api": "https: //api.sb/ leaseline.app",
"task": {
"$id": "https: //api.sb/ leaseline.app/ tasks/ task_tVPKjporKn",
"$type": "Task",
"status": "pending",
"mode": "try"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Task.create",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}Task.get
Returns one Task by id. Verb page.
GET /{namespace}/ tasks/ {id}Path: id. Query: the other inputs. Reads only: it emits no Event.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
id | string | required | The id of the Task. |
at | string | A time or Version name: the record as it stood then. Unset: as it stands now. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
task | Task | required | The Task. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl https: //api.sb/ leaseline.app/ tasks/ task_tVPKjporKn \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"$type": "Task",
"$id": "https: //api.sb/ leaseline.app/ tasks/ task_tVPKjporKn",
"task": {
"$id": "https: //api.sb/ leaseline.app/ tasks/ task_tVPKjporKn",
"$type": "Task",
"status": "pending",
"mode": "try"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ tasks/ task_tVPKjporKn",
"up": "https: //api.sb/ leaseline.app/ tasks"
},
"actions": {
"assign": "https: //api.sb/ leaseline.app/ tasks/ task_tVPKjporKn/ assign",
"claim": "https: //api.sb/ leaseline.app/ tasks/ task_tVPKjporKn/ claim",
"complete": "https: //api.sb/ leaseline.app/ tasks/ task_tVPKjporKn/ complete"
}
}Task.list
Returns Tasks, newest first, one page at a time. Verb page.
GET /{namespace}/ tasksQuery: the inputs. Reads only: it emits no Event.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
limit | integer | At most this many records, up to 100. The default is 20. | |
after | string | The cursor from the previous page. | |
where | string | A filter over the properties, such as paidAt = null and total.amount > 500. | |
sort | string | Properties to sort by, comma-separated; a leading minus sorts descending. | |
total | boolean | True adds the match count as meta.total, exact up to 10,000 matches and estimated above. | |
facets | string | Properties to count by value, comma-separated, returned as meta.facets. | |
fields | string | Properties to return on each record, comma-separated; $id and $type always return. | |
include | string | Related records to embed in place of their URLs, comma-separated. | |
depth | integer | How many levels of related records to embed. The default is 1. | |
q | string | Words to match across the text properties, ranked by relevance. | |
match | string | Ranks the search by words, or meaning; words is the default. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
tasks | list of Task | required | One page of Tasks. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl "https: //api.sb/ leaseline.app/ tasks? limit= 20" \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"$type": "Task",
"tasks": [
{
"$id": "https: //api.sb/ leaseline.app/ tasks/ task_tVPKjporKn",
"$type": "Task",
"status": "pending",
"mode": "try"
}
],
"meta": {
"limit": 20,
"after": "task_tVPKjporKn"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ tasks? limit= 20",
"next": "https: //api.sb/ leaseline.app/ tasks? after= task_tVPKjporKn"
}
}