WundertreOS

Get deal

Retrieve a single deal by ID.

GET/api-deals/:id
Try it
GET

Create an API key in your workspace under Settings → Integrations & API.

Path
:id
Query
None.

Requires the crm:read scope (the legacy contacts:read alias also works).

Path parameters

Path
NameTypeDescription
idrequireduuidThe deal ID. Must belong to the caller's organization.

Example request

bash
curl -X GET \
  'https://api.wundertreos.com/functions/v1/api-deals/d1e2f3a4-1111-2222-3333-444455556666' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Response

json
{
  "data": {
    "id": "d1e2f3a4-1111-2222-3333-444455556666",
    "org_id": "a1b2c3d4-1111-2222-3333-444455556666",
    "contact_id": "c8b1f3a0-4d2e-4f9a-9b1c-2d4e5f6a7b8c",
    "company_id": null,
    "pipeline_id": "p1a2b3c4-1111-2222-3333-444455556666",
    "stage_id": "s1a2b3c4-1111-2222-3333-444455556666",
    "title": "Acme — Annual plan",
    "value": 12000,
    "currency": "USD",
    "expected_close_date": "2026-06-30",
    "assigned_to": "u1b1f3a0-4d2e-4f9a-9b1c-2d4e5f6a7b8c",
    "notes": null,
    "won_at": null,
    "lost_at": null,
    "lost_reason": null,
    "created_at": "2026-05-01T10:00:00Z",
    "updated_at": "2026-05-17T12:00:00Z",
    "created_by": "u1b1f3a0-4d2e-4f9a-9b1c-2d4e5f6a7b8c"
  }
}
Response
FieldTypeDescription
data.iduuid
data.org_iduuid
data.contact_idnullableuuidLinked contact.
data.company_idnullableuuidLinked company.
data.pipeline_iduuidPipeline this deal lives in.
data.stage_iduuidCurrent stage within the pipeline. Resolve names and won/lost flags via List pipelines.
data.titlestring
data.valuenumberMonetary value of the deal. 0 when unset.
data.currencystringISO 4217 code (e.g. USD).
data.expected_close_datenullablestring (ISO 8601 date)
data.assigned_tonullableuuidOwner user ID.
data.notesnullablestring
data.won_atnullablestring (ISO 8601)When the deal last entered a won stage. Historical — the current stage is the source of truth.
data.lost_atnullablestring (ISO 8601)When the deal last entered a lost stage.
data.lost_reasonnullablestring
data.created_atstring (ISO 8601)
data.updated_atstring (ISO 8601)
data.created_bynullableuuid
Is this deal won?

Check whether stage_id points at a stage with is_won: true (see List pipelines). won_at is set when a deal enters a won stage and is kept as history if the deal is later moved back to an open stage, so it alone does not mean the deal is currently won.

Errors

StatuserrorWhen
403forbiddenThe credential lacks the crm:read scope.
404not_foundNo deal with that ID in the caller's organization.