Statuses API Reference

Retrieve every sales status defined in your organization.

Overview:This endpoint returns every sales status defined in your organization. It is primarily used to **look up status IDs** before calling write endpoints that require one — for example, updating a lead's status via PATCH /api/external/leads/:id/status.
There is a single endpoint: list all statuses. There is no pagination, no filtering, and no detail/by-ID endpoint — the full set is always returned, ordered alphabetically by name.

List Statuses

Returns all sales statuses for your organization, ordered alphabetically by name. No pagination — the full set is always returned in a single call.

GET/api/external/statuses

Status Object Fields

FieldTypeDescription
idstring (UUID)Unique identifier. Use this id when calling PATCH /api/external/leads/:id/status.
namestringDisplay name of the status.
rolestring (enum)The functional role this status represents. See Role Values.
typestring (enum)Which entity boards this status appears on. See Type Values.
descriptionstring | nullOptional description. null when not set.
text_colorstringHex color code for the status label text (e.g. "#14532D").
bg_colorstringHex color code for the status label background (e.g. "#DCFCE7").

Code Examples

curl -X GET "https://api.hermon.io/api/external/statuses" \
  -H "x-api-key: sk_live_your_key_here"

Response Example

json
{
  "success": true,
  "message": "Statuses fetched successfully",
  "data": [
    {
      "id": "status_001abc",
      "name": "Appointment Booked",
      "role": "APPOINTMENT_BOOKED",
      "type": "BOTH",
      "description": "Lead has a scheduled appointment",
      "text_color": "#1E40AF",
      "bg_color": "#DBEAFE"
    },
    {
      "id": "status_002def",
      "name": "Closed Won",
      "role": "WON",
      "type": "BOTH",
      "description": "Deal successfully closed",
      "text_color": "#14532D",
      "bg_color": "#DCFCE7"
    },
    {
      "id": "status_003ghi",
      "name": "No Show",
      "role": "NO_SHOW",
      "type": "APPOINTMENT",
      "description": null,
      "text_color": "#7C3AED",
      "bg_color": "#EDE9FE"
    }
  ]
}

Values Reference

Role Values

ValueDescription
NEW_LEADNew/unqualified lead
APPOINTMENT_BOOKEDAppointment scheduled
NO_SHOWLead did not attend the appointment
RESCHEDULEDAppointment rescheduled
CANCELEDAppointment canceled
PARTIAL_PAYMENTPartial payment received
WONDeal won/closed
UNQUALIFIEDLead disqualified
FOLLOW_UPRequires follow-up
LOSTDeal lost

Type Values

ValueDescription
LEADVisible on the Lead board only
APPOINTMENTVisible on the Appointment board only
BOTHVisible on both Lead and Appointment boards

Usage Pattern

Typical Use Case: The typical use case for this endpoint is a two-step flow:
  1. Fetch all statuses to find the id of the status you want to apply.
  2. Update the lead using that id on the Lead Status Update endpoint.

Error Responses

401Missing or invalid API key
json
{
  "status": "error",
  "message": "Invalid or revoked API key"
}
404Resource not found
json
{
  "status": "error",
  "message": "Resource not found"
}
429Rate limit exceeded
json
{
  "status": "error",
  "message": "Too many requests"
}