Leadping Lead Statuses API

Manages the lead statuses used to classify and track leads throughout their lifecycle. Use these endpoints to list, create, update, and archive organization-specific lead statuses for consistent pipeline organization and reporting.

OpenAPI Specification

leadping-leadstatuses-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Leadping Lead Statuses API
  description: The Leadping API helps businesses capture and manage leads, automate follow-up, send SMS and MMS messages, place calls, track conversations, enforce contact suppression, and analyze communication workflows. Use this OpenAPI 3.1 contract to integrate lead sources, build organization tools, or generate a typed API client. Authenticate protected operations with a Leadping user access token or WorkOS organization API key. Lead intake operations also accept a Leadping source key.
  termsOfService: https://leadping.ai/docs/terms-of-service
  contact:
    name: Leadping Support
    url: https://leadping.ai/contact
    email: support@leadping.ai
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: v1
  summary: Lead management, messaging, calling, and automation API
servers:
- url: https://api.leadping.ai
  description: Production
tags:
- name: LeadStatuses
  description: Manages the lead statuses used to classify and track leads throughout their lifecycle. Use these endpoints to list, create, update, and archive organization-specific lead statuses for consistent pipeline organization and reporting.
paths:
  /lead-statuses:
    get:
      tags:
      - LeadStatuses
      summary: List the current organization's lead statuses
      description: Lists the current organization's active lead statuses for organizing and tracking leads through the sales workflow.
      operationId: LeadStatuses_GetAll
      responses:
        '200':
          description: The active lead statuses available to the current organization.
          content:
            application/json:
              schema:
                type: array
                items:
                  allOf:
                  - $ref: '#/components/schemas/LeadStatusResponse'
                  description: Describes an organization-defined lead status used to classify pipeline progress, drive automation, and report lifecycle outcomes.
        '401':
          description: Authentication credentials are missing or invalid.
          headers:
            WWW-Authenticate:
              description: Bearer authentication challenge returned when credentials are missing or invalid.
              schema:
                type: string
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '403':
          description: The authenticated user or organization does not have permission to perform this operation.
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '429':
          description: The API rate limit for this account or client has been exceeded.
          headers:
            Retry-After:
              description: Number of seconds to wait before retrying the request.
              schema:
                minimum: 0
                type: integer
                format: int32
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
      security:
      - Bearer: []
    post:
      tags:
      - LeadStatuses
      summary: Create an organization lead status
      description: Creates a reusable lead status for the current organization to categorize, organize, and track leads consistently throughout its sales and follow-up workflow.
      operationId: LeadStatuses_Create
      requestBody:
        description: The lead status name, color, and display order to create.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LeadStatusRequest'
              description: Defines the editable values used to create or update a lead status.
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LeadStatusRequest'
              description: Defines the editable values used to create or update a lead status.
        required: true
      responses:
        '201':
          description: The newly created lead status.
          content:
            text/plain:
              schema:
                allOf:
                - $ref: '#/components/schemas/LeadStatusResponse'
                description: Describes an organization-defined lead status used to classify pipeline progress, drive automation, and report lifecycle outcomes.
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/LeadStatusResponse'
                description: Describes an organization-defined lead status used to classify pipeline progress, drive automation, and report lifecycle outcomes.
            text/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/LeadStatusResponse'
                description: Describes an organization-defined lead status used to classify pipeline progress, drive automation, and report lifecycle outcomes.
        '401':
          description: Authentication credentials are missing or invalid.
          headers:
            WWW-Authenticate:
              description: Bearer authentication challenge returned when credentials are missing or invalid.
              schema:
                type: string
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '403':
          description: The authenticated user or organization does not have permission to perform this operation.
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '429':
          description: The API rate limit for this account or client has been exceeded.
          headers:
            Retry-After:
              description: Number of seconds to wait before retrying the request.
              schema:
                minimum: 0
                type: integer
                format: int32
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
      security:
      - Bearer: []
  /lead-statuses/{id}:
    put:
      tags:
      - LeadStatuses
      summary: Update an organization lead status
      description: Updates the name, color, and display order of a lead status owned by the current organization so pipeline stages remain clear and consistently organized.
      operationId: LeadStatuses_Update
      parameters:
      - name: id
        in: path
        description: The unique identifier of the lead status to update.
        required: true
        schema:
          type: string
      requestBody:
        description: The replacement lead status name, color, and display order.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LeadStatusRequest'
              description: Defines the editable values used to create or update a lead status.
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LeadStatusRequest'
              description: Defines the editable values used to create or update a lead status.
        required: true
      responses:
        '200':
          description: The updated lead status.
          content:
            text/plain:
              schema:
                allOf:
                - $ref: '#/components/schemas/LeadStatusResponse'
                description: Describes an organization-defined lead status used to classify pipeline progress, drive automation, and report lifecycle outcomes.
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/LeadStatusResponse'
                description: Describes an organization-defined lead status used to classify pipeline progress, drive automation, and report lifecycle outcomes.
            text/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/LeadStatusResponse'
                description: Describes an organization-defined lead status used to classify pipeline progress, drive automation, and report lifecycle outcomes.
        '401':
          description: Authentication credentials are missing or invalid.
          headers:
            WWW-Authenticate:
              description: Bearer authentication challenge returned when credentials are missing or invalid.
              schema:
                type: string
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '403':
          description: The authenticated user or organization does not have permission to perform this operation.
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '429':
          description: The API rate limit for this account or client has been exceeded.
          headers:
            Retry-After:
              description: Number of seconds to wait before retrying the request.
              schema:
                minimum: 0
                type: integer
                format: int32
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
      security:
      - Bearer: []
    delete:
      tags:
      - LeadStatuses
      summary: Archive an organization lead status
      description: Archives a lead status for the current organization so it is unavailable for new assignments while existing lead history is preserved.
      operationId: LeadStatuses_Archive
      parameters:
      - name: id
        in: path
        description: The unique identifier of the lead status to archive.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: '`true` after the lead status is archived.'
          content:
            text/plain:
              schema:
                type: boolean
            application/json:
              schema:
                type: boolean
            text/json:
              schema:
                type: boolean
        '401':
          description: Authentication credentials are missing or invalid.
          headers:
            WWW-Authenticate:
              description: Bearer authentication challenge returned when credentials are missing or invalid.
              schema:
                type: string
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '403':
          description: The authenticated user or organization does not have permission to perform this operation.
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '429':
          description: The API rate limit for this account or client has been exceeded.
          headers:
            Retry-After:
              description: Number of seconds to wait before retrying the request.
              schema:
                minimum: 0
                type: integer
                format: int32
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
      security:
      - Bearer: []
components:
  schemas:
    LeadStatusResponse:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the lead status.
        organizationId:
          type: string
          description: Identifier of the organization that owns the lead status.
        name:
          type: string
          description: Display name of the lead status.
        color:
          type: string
          description: Display color assigned to the lead status.
        category:
          allOf:
          - $ref: '#/components/schemas/LeadStatusCategory'
          description: LeadStatusChange category represented by the lead status.
        sortOrder:
          type: integer
          description: Relative display order of the lead status.
          format: int32
        isArchived:
          type: boolean
          description: Indicates whether the lead status has been archived.
        modifiedAt:
          type: string
          description: Date and time when the lead status was last modified.
          format: date-time
      description: Describes an organization-defined lead status used to classify pipeline progress, drive automation, and report lifecycle outcomes.
    ProblemDetails:
      type: object
      properties:
        type:
          type:
          - 'null'
          - string
          description: URI reference that identifies the problem type.
        title:
          type:
          - 'null'
          - string
          description: Short, human-readable summary of the problem.
        status:
          type:
          - 'null'
          - integer
          description: HTTP status code returned for the problem.
          format: int32
        detail:
          type:
          - 'null'
          - string
          description: Human-readable explanation specific to this occurrence of the problem.
        instance:
          type:
          - 'null'
          - string
          description: URI reference that identifies this specific occurrence of the problem.
      description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
      example:
        type: https://leadping.ai/docs/errors/validation
        title: Request validation failed
        status: 400
        detail: One or more request fields are invalid.
        instance: /leads/intake
    LeadStatusRequest:
      type: object
      properties:
        name:
          type:
          - 'null'
          - string
          description: Display name for the lead status.
        color:
          type:
          - 'null'
          - string
          description: Display color for the lead status.
        category:
          enum:
          - Open
          - Qualified
          - Converted
          - Lost
          - Invalid
          - Duplicate
          type:
          - 'null'
          - string
          description: Controlled lead status change categories used for reporting, automation, and analytics.
        sortOrder:
          type:
          - 'null'
          - integer
          description: Relative display order for the lead status.
          format: int32
      description: Defines the editable values used to create or update a lead status.
    LeadStatusCategory:
      enum:
      - Open
      - Qualified
      - Converted
      - Lost
      - Invalid
      - Duplicate
      type: string
      description: Controlled lead status change categories used for reporting, automation, and analytics.
  securitySchemes:
    Bearer:
      type: http
      description: Authorization header using the Bearer scheme. Accepted values are Leadping user JWT access tokens and WorkOS organization API keys beginning with sk_.
      scheme: bearer
      bearerFormat: JWT or organization API key
    SourceKey:
      type: http
      description: 'Leadping source key for lead ingestion endpoints only using the Authorization header. Example: "Authorization: Bearer lp_src_...".'
      scheme: bearer
      bearerFormat: Leadping source key
externalDocs:
  description: Leadping API documentation, authentication guide, concepts, and integration guidance.
  url: https://leadping.ai/docs/api-reference