Skip to main content
PATCH
/
api
/
campaigns
/
{id}
/
leads
Update a prospect
curl --request PATCH \
  --url https://app.puffle.ai/api/campaigns/{id}/leads \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "prospect_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "updates": {
    "email": "<string>",
    "linkedin_url": "<string>",
    "first_name": "<string>",
    "last_name": "<string>",
    "name": "<string>",
    "company": "<string>",
    "position": "<string>",
    "headline": "<string>"
  }
}
'
{
  "prospect": {
    "id": "7a1e8a2c-1234-4567-89ab-cdef01234567",
    "campaign_id": "8c2b2d4e-e29b-41d4-a716-446655440000",
    "user_id": "11111111-1111-1111-1111-111111111111",
    "status": "pending",
    "email": "[email protected]",
    "first_name": "Jane",
    "last_name": "Doe",
    "company": "Acme",
    "position": "VP of Sales"
  }
}

Overview

Edit a single prospect’s profile fields. Draft campaigns only. Non-listed fields are ignored. Status and sequencing columns are not editable through this endpoint.
This operation shares the URL path /api/campaigns/{id}/leads with other verbs. See the sibling page for related operations on the same resource.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string<uuid>
required

Campaign UUID

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$

Body

application/json
prospect_id
string<uuid>
required

UUID of the prospect to update. Must belong to this campaign.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
updates
object
required

Fields to overwrite. Only email, linkedin_url, first_name, last_name, name, company, position, headline are accepted — other keys are silently dropped. Empty strings become null.

Response

Prospect updated. Returns the full updated row.

prospect
object
required

Canonical campaign_prospects row. Extra columns beyond the documented set are also returned.