Create Deal

Create a new deal in the pipeline.
POST
/v2/pipeline
Request Body
Writeable fields
FieldTypeStatusFormatNotes
dataobject
required
--
data.user_iduuid
optional
uuidDefaults to the caller's user_id unless provided
data.deal_sizenumber
optional
-Monetary value (number only, no symbols).
data.stageenum
QualificationProposalNegotiationInterestedVerbalDiscoveryWonLost
required
-Stage label
data.open_dateISO 8601 datetime
optional
date-timeISO datetime when the deal opened. Defaults to now if omitted.
data.close_dateISO 8601 datetime
optional
date-timeISO datetime if already closed. Leave null for open deals.
data.companystring
required
-Company associated with the deal.
data.notesstring
optional
-Freeform notes.
data.contact_emailstring
optional
emailEmail for the primary
cURl example
curl -X POST 'https://lunarsend.com/api/v2/pipeline' \
  -H 'x-api-key: $LUNARSEND_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "stage": "Qualification",
    "deal_size": 12000,
    "company": "A-B Logistics",
    "primary_contact": "150c081d-5d5f-401d-abd1-727c35222054",
    "contact_email": "ops@ABLogistics.com",
    "notes": "Kickoff pending legal review."
  }'
Response
[
        {
            status: "success",
            data: {
                id: "7b1b0e42-1f2a-4e1e-8e5d-1f6a7b0c9d21",
                user_id: "77f463d7-4107-1957-8b71-ab03acc319a2",
                deal_size: 12000,
                primary_contact: "150c081d-5d5f-401d-abd1-727c35222054",
                stage: "Qualification",
                open_date: "2025-10-04T14:25:11.000Z",
                close_date: null,
                owner: "John",
                company: "A-B Logistics",
                notes: "Kickoff pending legal review.",
                contact_email: "ops@ABLogistics.com",
                created_at: "2025-10-04T14:25:11.000Z",
            },
        },
    ]
Response Fields
FieldTypeStatusFormatNotes
statusenum
successerror
read-only optional
--
errorstring - Error description (only present on error)
read-only optional
--
dataobject
required
--
data.iduuid
read-only optional nullable
uuidServer-assigned UUID.
data.user_iduuid
optional nullable
uuidDefaults to the caller's user_id unless provided
data.deal_sizenumber
optional nullable
-Monetary value (number only, no symbols).
data.primary_contactuuid
read-only optional nullable
uuidUUID of the primary contact, this is auto assigned if contact email is found in contacts
data.stageenum
QualificationProposalNegotiationInterestedVerbalDiscoveryWonLost
required
-Stage label
data.open_dateISO 8601 datetime
optional nullable
date-timeISO datetime when the deal opened. Defaults to now if omitted.
data.close_dateISO 8601 datetime
optional nullable
date-timeISO datetime if already closed. Leave null for open deals.
data.ownerstring
read-only optional
-Resolved to the caller's display name.
data.companystring
required
-Company associated with the deal.
data.notesstring
optional nullable
-Freeform notes.
data.contact_emailstring
optional nullable
emailEmail for the primary
data.created_atISO 8601 datetime
read-only optional nullable
date-timeServer-assigned creation time.