Skip to content
Pitch2SaleDevelopers
Open the app
Early access: these pages are being written and reviewed. Facts in the header boxes come straight from the product.

Log a meeting on a lead

POST
/api/v1/activity/meeting
curl --request POST \
--url https://api.pitch2sale.com/api/v1/activity/meeting \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "lead_id": "example", "contact_id": "example", "subject": "example", "body": "example", "body_text": "example", "duration_seconds": 1, "metadata": { "additionalProperty": "example" }, "is_pinned": true, "activity_at": "2026-04-15T12:00:00Z", "custom_fields": { "additionalProperty": "example" } }'

Records a meeting on the timeline; to schedule a real meeting use POST /api/v1/leads/{leadId}/meetings.

Media typeapplication/json
object
lead_id
required
string
/^[0-9a-fA-F]{24}$/
contact_id
string
/^[0-9a-fA-F]{24}$/
subject
required
string
>= 1 characters
body
string
body_text
string
duration_seconds
number
metadata
object
key
additional properties
is_pinned
boolean
activity_at
string format: date-time
custom_fields
object
key
additional properties
Examplegenerated
{
"lead_id": "example",
"contact_id": "example",
"subject": "example",
"body": "example",
"body_text": "example",
"duration_seconds": 1,
"metadata": {
"additionalProperty": "example"
},
"is_pinned": true,
"activity_at": "2026-04-15T12:00:00Z",
"custom_fields": {
"additionalProperty": "example"
}
}

The new activity

Media typeapplication/json
object
activity
required
object
_id
required
string
type
required
string
lead_id
required
string | null
key
additional properties
any
Examplegenerated
{
"activity": {
"_id": "example",
"type": "example",
"lead_id": "example"
}
}

Validation failed

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Authentication required or token invalid

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Feature not available on the organization plan

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Role permission or token scope missing

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Rate limit exceeded

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}