agency-board
POST /v1/agency/boards/{boardId}/ai/run
Run one AI function on this board.
Πισtoποίηση
Στείλτε ένα κλειδί API ως διακριτικό φορέα (bearer token). Αυτό το τελικό σημείο δεν ορίζει μια συγκεκριμένη άδεια στην προδιαγραφή, οπότε δώστε στο κλειδί σας τα ελάχιστα δυνατά δικαιώματα και ελέγξτε την απόκριση αντί να κάνετε υποθέσεις.
Αυτό το τελικό σημείο δεν δέχεται αναγνωριστικό οργανισμού. Το κλειδί σας προσδιορίζει ήδη τον οργανισμό στον οποίο ανήκει, και η απάντηση περιορίζεται σε αυτόν.
Δοκιμάστε το
Ατικatastήstε ό,τι βρίskεtai μέσα σe γώniaδeς μe τis δikές sas timές, kai to placeholder klεidioύ μe éna klεidi apó ton pinaka ελέgchou sas.
curl -X POST https://api.zinndigital.com/v1/agency/boards/{boardId}/ai/run \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "function": <string<draft_card, split_epic, summarise_card, summarise_board, triage_card, find_duplicates, release_notes, whats_blocked>> }'Συνδεθήκατε; Η κονσόλα API στον πίνακα ελέγχου σας συμπληρώνει το πραγματικό αναγνωριστικό του οργανισμού σας και το δικό σας κλειδί, και εκτελεί το αίτημα στο ζωντανό API, ώστε να μπορείτε να δείτε την πραγματική απόκριση. Ανοίξτε αυτό το τελικό σημείο στην κονσόλα API
Λεπτομέρειες
Runs a board AI function and returns its output. **A refusal to spend is a `200`, not a `4xx`.** When the org has no AI credit, no provider key, or is not in good standing, the response carries `skipped: true` with a `skipReason` and a customer-readable `text` — because the customer asked and we told them why not, which is a complete answer rather than a fault in their request. ⛔ A client reading `200` as "it ran" will record a success for a call that did nothing. **Read `skipped`.** `apply` defaults to `false`: AI on a board proposes and a person commits.
Παράμετροι
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
boardId (path) | Uuid | Ναι | Project board ID (UUIDv7). |
Σώμα αίτησης
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
function | string<draft_card, split_epic, summarise_card, summarise_board, triage_card, find_duplicates, release_notes, whats_blocked> | Ναι | Which AI function to run. |
card_id | Uuid | Όχι | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
apply | boolean | Όχι | Write the result to the board. Defaults to **false**: AI on a board proposes and a person commits, so the irreversible half must be asked for explicitly. |
force | boolean | Όχι | Re-run rather than replay. An identical call within 15 minutes is served from the previous run with no model call and no charge, so a retried automation cannot bill twice; `forc… |
options | object | Όχι | Per-function input. `draft_card` takes `brief` and optionally `source`; `release_notes` takes `column_id`. |
Απάντηση
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
function | string | Ναι | — |
text | string | Ναι | The output, or the reason it was skipped. |
payload | object | Όχι | Structured result — labels, sub-tasks, candidate duplicates. |
model | string | Όχι | The model that served it. Null on a skip, because none was chosen. |
provider | string | Όχι | — |
funding | string<byo, credits, included> | Όχι | Who paid. `byo` is the customer's own provider key; `credits` and `included` are Zinn®'s. All three are recorded on the same meter. |
usage_id | Uuid | Όχι | The meter row, so board history and AI spend join up. Null on a skip. |
skipped | boolean | Ναι | **Read this.** True means nothing ran and nothing was charged. A caller that treats `200` as "it worked" records a success for a call that did nothing. |
skip_reason | string | Όχι | Machine-readable cause, e.g. `AI_BUDGET_EXHAUSTED`, `AI_NOT_IN_GOOD_STANDING`, `not_enough_discussion`, `nothing_blocked`. |
skip_kind | string<nothing_to_do, not_in_good_standing, not_entitled, unavailable> | Όχι | The CLASS of the skip, beside its code. `nothing_to_do` is the product working (a healthy board has nothing blocked; a thread is too short to summarise) and is good news, not a… |
skip_params | object | Όχι | The values the refusal sentence quotes (`count`, `column`), sent structurally so a client can render that sentence in the customer's own language rather than the engine's Englis… |
cached | boolean | Όχι | Served from the previous identical run rather than the model. |
created_card_ids | Uuid[] | Όχι | — |
run_id | Uuid | Όχι | — |
Σφάλματα που μπορεί να επιστρέψει αυτό το τελικό σημείο
401 · 403 · 404 · 422