← API v2 Overview

Deals

Read checkout/deal records for reporting, integrations, and status checks.

The Deal Object

Generated from the OpenAPI schema. Always matches the live API.

Fields (19)
AttributeTypeRequiredDescriptionExample
idinteger-Deal id.
dealstring-Deal number.
referencestring-Deal reference.
contactinteger or null-Contact id, or null.
vehicleinteger or null-Vehicle id, or null.
stageobject-Current deal stage.
stage.namestring-Stage key.
stage.labelstring-Human-readable stage label.
sourcestring-Deal source.
channelstring-Originating channel.
createdinteger-Unix timestamp the deal was created.
updatedinteger-Unix timestamp the deal was last updated.
sectionsobject-Which deal sections are present (full view only).
sections.part_exchangeboolean-Whether a part-exchange section is present.
sections.productboolean-Whether a product section is present.
sections.delivery_collectionboolean-Whether a delivery/collection section is present.
sections.financeboolean-Whether a finance section is present.
sections.paymentboolean-Whether a payment section is present.
summaryobject-Whitelisted scalar summary of the part_exchange, delivery_collection, and finance sections (full view only).
Example object
{
    "id": 0,
    "deal": "",
    "reference": "",
    "contact": 0,
    "vehicle": 0,
    "stage": {
        "name": "",
        "label": ""
    },
    "source": "",
    "channel": "",
    "created": 0,
    "updated": 0,
    "sections": {
        "part_exchange": false,
        "product": false,
        "delivery_collection": false,
        "finance": false,
        "payment": false
    },
    "summary": {}
}

Endpoints

GET List Deals

GET /2.0/deals · scope deals:read

List deals with pagination and optional filters (stage, source, channel, created/updated range).

Parameters (12)
ParameterInTypeRequiredDescriptionExample
pagequeryinteger-Page number, starting at 1 (offset pagination).
per_pagequeryinteger-Results per page (maximum 500).
viewqueryenum-Response detail: "simple" for a compact object or "full" for the complete object.
contactqueryinteger-Filter by contact id.
vehiclequeryinteger-Filter by vehicle id.
stagequerystring-Filter by stage.
channelquerystring-Filter by channel.
referencequerystring-Filter by reference.
createdquerystring-Unix timestamp exact match, or a two-element array [from, to] for a range. An empty bound is open-ended.
updatedquerystring-Unix timestamp exact match, or a two-element array [from, to] for a range. An empty bound is open-ended.
cursorquerystring-Keyset pagination cursor from a previous response's meta.pagination.next_cursor. When supplied, page/total are not returned.
fieldsquerystring-Comma-separated dot-paths to return only those fields, e.g. id,data.stock.price_channel.
Responses
StatusDescription
200 OKPaginated deals

Failures use the standard error responses (4xx/5xx) with the shared error envelope.

{
    "success": true,
    "data": [
        {
            "id": 0,
            "deal": "",
            "reference": "",
            "contact": 0,
            "vehicle": 0,
            "stage": {
                "name": "",
                "label": ""
            },
            "source": "",
            "channel": "",
            "created": 0,
            "updated": 0,
            "sections": {
                "part_exchange": false,
                "product": false,
                "delivery_collection": false,
                "finance": false,
                "payment": false
            },
            "summary": {}
        }
    ],
    "meta": {
        "pagination": {
            "page": 0,
            "per_page": 0,
            "total": 0,
            "total_pages": 0,
            "next_cursor": ""
        }
    }
}

GET Get Deal

GET /2.0/deals/{id} · scope deals:read

Retrieve a single deal by id, including its customer, vehicle, and stage.

Parameters (3)
ParameterInTypeRequiredDescriptionExample
idpathstringYesResource identifier in the path.
viewqueryenum-Response detail: "simple" for a compact object or "full" for the complete object.
fieldsquerystring-Comma-separated dot-paths to return only those fields, e.g. id,data.stock.price_channel.
Responses
StatusDescription
200 OKDeal

Failures use the standard error responses (4xx/5xx) with the shared error envelope.

{
    "success": true,
    "data": {
        "id": 0,
        "deal": "",
        "reference": "",
        "contact": 0,
        "vehicle": 0,
        "stage": {
            "name": "",
            "label": ""
        },
        "source": "",
        "channel": "",
        "created": 0,
        "updated": 0,
        "sections": {
            "part_exchange": false,
            "product": false,
            "delivery_collection": false,
            "finance": false,
            "payment": false
        },
        "summary": {}
    }
}