Leads
Update a lead
Write back to a lead. external_ref stamps your CRM reference; ai_paused pauses/resumes the agent on this lead; status: "closed" marks the conversation over (the only stage the API may set — see the echo-loop contract on the Webhooks page). Provide at least one field.
Authorization
bearerAuth AuthorizationBearer <token>
Org-scoped token, created at Settings → Integrations → Webhook. Looks like rf_org_…, shown once, sent as Authorization: Bearer rf_org_…. Rate limit: 120 requests/minute per token.
In: header
Path Parameters
leadId*string
The lead's id.
Format
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/api/v1/leads/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{ "ai_paused": true, "external_ref": { "system": "my-crm", "id": "crm-123" } }'{ "lead": { "id": "3f1c2e00-9a1b-4c77-8d2e-2b6a1f0e9c34", "name": "Jane Buyer", "email": null, "phone": "+971501234567", "channel": "whatsapp", "qualification_stage": "qualified", "route_target": "hotLead", "profile": { "budget": "1.5M AED", "bedrooms": 2, "area": "Dubai Marina" }, "external_ref": { "system": "my-crm", "id": "crm-123", "url": "https://crm.example.com/leads/123" }, "conversation_url": "https://replyfirst.ae/app/chats/3f1c2e00-9a1b-4c77-8d2e-2b6a1f0e9c34", "created_at": "2026-07-15T09:30:00.000Z", "updated_at": "2026-07-15T09:31:12.000Z" }}{ "error": "Invalid JSON body"}{ "error": "Unauthorized"}{ "error": "Lead not found"}{ "error": "Provide at least one of external_ref, ai_paused, status."}{ "error": "Rate limit exceeded"}