> ## Documentation Index
> Fetch the complete documentation index at: https://docs.origami.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# Job succeeded

> Origami POSTs this event when a v3 Job finishes successfully.
`data.summary` carries counts and resource ids (for example
`list_id`, `added`) — never `row_ids` and never row-level
data. Read the full `result` with
`GET /api/v3/jobs/{job_id}`.

`data.credits.settled: false` on a quoted run means the spend
is provisional until delivered-lead settlement writes back.

**Default in the picker:** off.




## OpenAPI

````yaml /openapi-webhooks-jobs.yaml webhook job.succeeded
openapi: 3.1.0
info:
  title: Origami Job webhooks
  version: '3.0'
  description: |
    Outbound events Origami POSTs to your servers when a v3 API Job
    changes status. These events are v3-only — they fire for searches,
    fetches, enrichment, campaign drafts, domain purchases, mailbox
    provisioning, and chat messages.

    Payloads carry a compact summary (counts and resource ids), never
    row-level data. Fetch the full Job with
    `GET /api/v3/jobs/{job_id}`. Verify the `webhook-signature` header
    on every request; receivers MUST dedupe on `webhook-id`. Subscribe
    to specific types or the `job.*` wildcard in
    **Settings → Developers → Webhooks**.
servers: []
security: []
paths: {}

````