Leads

Change a lead status

Same rules as the Inbox. validated needs an event: the lead's own, or the event of its sibling at the same venue (then linked); otherwise 409 validation_requires_event (convert the lead instead). Leaving needs_info clears the information request, except for a rejection, which keeps it (the venue did answer). A rejection may carry rejection_reason; any other status clears it. Role permission: leads.manage.

post/leads/{id}/status

Request

  • Base URL: https://joinways.app/api/v1
  • URL: https://joinways.app/api/v1/leads/{id}/status
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://joinways.app/oauth/authorize, token URL https://joinways.app/api/oauth/token, scopes: mcp.write)

Headers

Idempotency-Keystring

Optional client-generated key (1 to 255 characters, e.g. a UUID v4) that makes the request idempotent for 24 hours: a retry with the same key replays the recorded response (marked Idempotency-Replayed: true) instead of executing the operation again. Same key with another body: 422 idempotency_key_reuse; while the first request runs: 409 idempotency_conflict. See the Idempotency section.

Request body

status'pending' | 'validated' | 'rejected' | 'needs_info' required

pending = to process, validated = accepted (it has an event), rejected = declined, needs_info = waiting for information from the client.

rejection_reason'date_unavailable' | 'capacity' | 'budget' | 'not_a_fit' | 'other'

Why the venue declined the request (optional). Only set on a rejected lead; cleared as soon as the status changes.

Example request

{
  "status": "pending",
  "rejection_reason": "date_unavailable"
}

Response

The new status.

idstring uuid
status'pending' | 'validated' | 'rejected' | 'needs_info'

pending = to process, validated = accepted (it has an event), rejected = declined, needs_info = waiting for information from the client.

client_namestring nullable
companystring nullable
event_idstring uuid nullable
rejection_reason'date_unavailable' | 'capacity' | 'budget' | 'not_a_fit' | 'other'

Why the venue declined the request (optional). Only set on a rejected lead; cleared as soon as the status changes.

Example response

{
  "status": "pending",
  "rejection_reason": "date_unavailable"
}

Changes

No recorded changes to this operation across all 1 revision of this API.