> ## Documentation Index
> Fetch the complete documentation index at: https://docs.leadlex.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get campaign step

> Retrieve a single campaign step.



## OpenAPI

````yaml /api-reference/openapi.yaml get /v1/campaigns/{id}/steps/{stepId}
openapi: 3.1.0
info:
  title: LeadLex API
  version: '2026-04-17'
  description: >
    LeadLex CRM public API. Multi-tenant, workspace-scoped endpoints for
    contacts, companies,

    deals, campaigns, Lexi AI, webhooks, and analytics. All requests require a
    workspace API

    key (Bearer `wbk_<48 chars>`) and are rate-limited per key.


    Error responses follow `{ error: { code, message, request_id } }`. Write
    endpoints accept

    an optional `Idempotency-Key` header for safe retries. Every response
    carries

    `X-Request-ID` and `X-RateLimit-*` headers.
  contact:
    name: LeadLex API Support
    email: support@leadlex.com
    url: https://leadlex.com/docs
  license:
    name: Proprietary
    url: https://leadlex.com/terms
servers:
  - url: https://data.leadlex.com/functions/v1/api-gateway
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Contacts
    description: Contact CRUD, tagging, notes, and exports.
  - name: Companies
    description: Company CRUD, links, and exports.
  - name: Deals
    description: Deal pipeline, bulk operations, and notes.
  - name: Pipelines
    description: Pipeline metadata.
  - name: Tasks
    description: Task management.
  - name: Notes
    description: Workspace-level notes.
  - name: Lists
    description: Contact lists and memberships.
  - name: Tags
    description: Tag catalog.
  - name: Activities
    description: Activity tracking.
  - name: Campaigns
    description: Outreach campaigns, steps, contacts, stats.
  - name: Prospector
    description: Prospect discovery and reveal.
  - name: Lexi AI
    description: Lexi assistant chat, tasks, autoresearch, and personalization.
  - name: Conversations
    description: Lexi conversation history.
  - name: Webhooks
    description: Webhook subscriptions and logs.
  - name: Events
    description: Webhook event catalog.
  - name: Email
    description: Email send, threads, sync and correspondents.
  - name: Calendar
    description: Calendar events and sync.
  - name: Channels
    description: Multi-channel messaging (WhatsApp, SMS, etc.).
  - name: Enrichment
    description: Work-email lookup.
  - name: AI
    description: AI analysis endpoints.
  - name: Documents
    description: Document management and linking.
  - name: Workflows
    description: Automation workflows.
  - name: API Keys
    description: Workspace API key management.
  - name: Settings
    description: Workspace settings and provider config.
  - name: Audit Logs
    description: Audit log access.
  - name: Users
    description: Workspace users.
  - name: Analytics
    description: Outreach analytics.
  - name: Stats
    description: Pipeline and activity statistics.
  - name: Import
    description: Bulk import from CSV/JSON.
  - name: Export
    description: Bulk export as CSV.
paths:
  /v1/campaigns/{id}/steps/{stepId}:
    parameters:
      - $ref: '#/components/parameters/ResourceId'
      - name: stepId
        in: path
        required: true
        description: Step ID
        schema:
          type: string
          format: uuid
    get:
      tags:
        - Campaigns
      summary: Get campaign step
      description: Retrieve a single campaign step.
      operationId: getCampaignStep
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignStep'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
      security:
        - bearerAuth: []
components:
  parameters:
    ResourceId:
      name: id
      in: path
      required: true
      description: Resource identifier (UUID).
      schema:
        type: string
        format: uuid
  headers:
    X-Request-ID:
      description: Unique identifier for this request (UUID v4).
      schema:
        type: string
        format: uuid
    X-RateLimit-Limit:
      description: Maximum requests allowed in the current window.
      schema:
        type: integer
    X-RateLimit-Remaining:
      description: Requests remaining in the current window.
      schema:
        type: integer
    X-RateLimit-Reset:
      description: Unix epoch seconds when the window resets.
      schema:
        type: integer
  schemas:
    CampaignStep:
      type: object
      properties:
        id:
          type: string
          format: uuid
        campaign_id:
          type: string
          format: uuid
        order:
          type: integer
        type:
          type: string
          enum:
            - email
            - task
            - wait
            - condition
        subject:
          type: string
        body:
          type: string
        delay_days:
          type: integer
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - request_id
          properties:
            code:
              type: string
              example: validation_error
            message:
              type: string
              example: Invalid input.
            request_id:
              type: string
              format: uuid
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: API key lacks the required permission scope.
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found.
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: Rate limit exceeded.
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
        X-RateLimit-Limit:
          $ref: '#/components/headers/X-RateLimit-Limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/X-RateLimit-Remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/X-RateLimit-Reset'
        Retry-After:
          description: Seconds until retry allowed.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: wbk_<48 chars>
      description: |
        Workspace API key. Format `wbk_` followed by 48 URL-safe characters.
        Send as `Authorization: Bearer wbk_...`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.