Report the outcome per record: built, declined or postponed. A task with nothing left to build is done.
/docs/api/ack.txtPOST https://api.pixydesignapp.com/tasks/ack
Close the loop. Pulling does not mean implementing, so after building, an agent reports an outcome per record, in the editor's own words. Acked records leave the pull stream and the page, every open editor sees them go, and a task with no new records left is done. What is not acked stays new and comes back on the next pull: that is the list of what is not done yet.
Acking sets a status, the story of what changed goes in a message on the task. One thing rides along: loose records get filed into a task here. The user never has to package: name creates a task with that title and files the acked loose records into it, in the same call. One call per task, so the work splits into as many tasks as you decide, the way commits do. Records the user already put in a task stay where they are.
Header: X-Pixy-Key carrying the agent key (px_sk_…).
Body:
| field | type | required | description |
|---|---|---|---|
ids |
array | yes | Record ids to ack. They come back on every pull as each record's id. |
status |
string | yes | One of the two below. |
reason |
string | with dismissed |
Why. Trimmed to 300 characters. |
name |
string | no | Create a task with this title and file the acked loose records into it. A short line, the way a commit is named. |
task |
string | no | An existing task's id to file the acked loose records into, instead of creating one. |
| status | means |
|---|---|
resolved |
The change is in the source. |
dismissed |
A conscious no. Say why in reason. |
Response:
| field | type | description |
|---|---|---|
acked |
number | How many records the call actually changed. |
done |
array | The ids of the tasks that had nothing left to build and closed on this call. |
tasks |
array | Every task the acked records are in, each with its id, num, title, status, messages and edits, the acked records as they now stand. The final message goes to the task's id. |
Errors:
| error | when |
|---|---|
invalid_key |
The key is not one of the project's, or was retired. |
invalid_ack |
ids is empty, or status is not one of the two. |
no_task |
The task id names no task of this project. |
Examples:
Loose edits, built, named and done in one report:
curl -X POST https://api.pixydesignapp.com/tasks/ack \
-H 'X-Pixy-Key: px_sk_yourkey' \
-H 'Content-Type: application/json' \
-d '{
"ids": ["3a6b1d92-4c07-4f18-8b55-1de0c9a7f204", "b2f80c11-9d34-4e6a-a1c7-5f2e8d90ab36"],
"status": "resolved",
"name": "Header polish"
}'
{
"ok": true, "acked": 2, "done": ["9f1c2e40-7b3a-4d51-9a2e-2c8f0b6d1a77"],
"tasks": [{
"id": "9f1c2e40-7b3a-4d51-9a2e-2c8f0b6d1a77", "num": 4, "title": "Header polish", "status": "done",
"messages": [],
"edits": [{"id": "3a6b1d92-…", "status": "resolved", "task_id": "9f1c2e40-…", "…": "…"}, {"id": "b2f80c11-…", "…": "…"}]
}]
}
A record you could not build:
curl -X POST https://api.pixydesignapp.com/tasks/ack \
-H 'X-Pixy-Key: px_sk_yourkey' \
-H 'Content-Type: application/json' \
-d '{
"ids": ["3a6b1d92-4c07-4f18-8b55-1de0c9a7f204"],
"status": "dismissed",
"reason": "That color is set by the theme token, not this rule."
}'