Hookestdocs Postman OpenAPI llms.txt

GET/v1/predict/{id}0 credits

Get prediction

Job status. Id is pred_ plus 32 hex characters — returned by Get upload link. Another key’s id, or a job older than 24 hours, is 404.

After the link, status is awaiting_upload — no credits yet. After Upload the clip, GET again: queued or running means the file was consumed and 20 credits are reserved. If it is still awaiting_upload, the file may have landed without a reserve (credit miss, busy, daily cap) — call Retry start. Keep polling while awaiting_upload, queued, or running. Stop on succeeded or failed. Polling stays free even if a webhook is configured. The webhook body is this same JSON.

Needs predict:write on the key. This is a permission on the key, not a request header. Missing it returns 403 api_not_enabled.

Failed

{
  "object": "prediction",
  "id": "pred_7b3e0c1d2e3f4a5b6c7d8e9f0a1b2c3d",
  "status": "failed",
  "created_at": "2026-09-15T14:02:11.000Z",
  "completed_at": "2026-09-15T14:02:24.000Z",
  "input": { "duration_sec": 18 },
  "result": null,
  "error": { "type": "system_error", "message": "The job could not be completed." }
}

Request parameters

NameInTypeRequiredDescription
id path string Required Public id, pred_ plus 32 hex characters.

Response

{
  "object": "prediction",
  "id": "pred_7b3e0c1d2e3f4a5b6c7d8e9f0a1b2c3d",
  "status": "succeeded",
  "created_at": "2026-09-15T14:02:11.000Z",
  "completed_at": "2026-09-15T14:02:24.000Z",
  "input": { "duration_sec": 18 },
  "result": {
    "band": "high",
    "hook_duration_sec": 2.1,
    "category": { "slug": "education" }
  },
  "error": null
}

Response fields

NameTypeRequiredDescription
object string Required Always prediction.
id string Required Public id, pred_ plus 32 hex characters.
status string Required One of awaiting_upload, queued, running, succeeded, failed.
created_at string Required When the job was created.
completed_at string Nullable Set when the job finishes. null while awaiting upload, queued, or running.
input object Nullable Echo of accepted input, or null.
input.duration_sec number Nullable Present when input is set.
result object Nullable Score payload on success. null until then and on failure.
result.band string Optional Present when result is set.
result.hook_duration_sec number Nullable Present when result is set.
result.category object Nullable Present when result is set. May itself be null.
result.category.slug string Optional Present when result.category is set.
error object Nullable Set on failure. null otherwise.
error.type string Optional When error is set: unsupported, unsafe, or system_error.
error.message string Optional Present when error is set. English text.