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

# Get an enrollee

> One enrollee with every step: what was sent, what is still to come, and which steps can still be edited. Needs `campaigns:read`.



## OpenAPI

````yaml /api-reference/openapi-v1.json get /v1/campaigns/{id}/enrollments/{enrollment_id}
openapi: 3.1.0
info:
  title: Stardex API (v1)
  version: 1.0.0
  description: >-
    Stardex ATS API — manage candidates, jobs, companies, and recruiting
    workflows.
servers:
  - url: https://api.stardex.ai
    description: Production API server
security:
  - bearerAuth: []
tags:
  - name: Persons
    description: Manage person records — contacts, work history, and custom fields.
  - name: Jobs
    description: Manage job postings — pipeline stages, team members, and custom fields.
  - name: Candidates
    description: Manage candidate records and pipeline stage transitions.
  - name: Companies
    description: Browse and retrieve company records.
  - name: Lists
    description: Create, search, and retrieve saved person and company lists.
  - name: Person Activities
    description: Create and manage activity records (notes, emails, meetings) for persons.
  - name: Team Members
    description: List team members for use in search filters and assignments.
  - name: Custom Fields
    description: Retrieve custom field definitions and tag options for search filters.
  - name: Campaigns
    description: >-
      Create and edit email campaigns, enroll people through enrollment batches,
      and manage who is enrolled.
paths:
  /v1/campaigns/{id}/enrollments/{enrollment_id}:
    get:
      tags:
        - Campaigns
      summary: Get an enrollee
      description: >-
        One enrollee with every step: what was sent, what is still to come, and
        which steps can still be edited. Needs `campaigns:read`.
      operationId: getCampaignEnrollment
      parameters:
        - schema:
            type: string
            format: uuid
            description: Campaign ID.
          required: true
          description: Campaign ID.
          name: id
          in: path
        - schema:
            type: string
            format: uuid
            description: Enrollment ID.
          required: true
          description: Enrollment ID.
          name: enrollment_id
          in: path
      responses:
        '200':
          description: Enrollee
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignEnrollmentResponse'
              example:
                success: true
                data:
                  id: e7b1d3f5-9a2c-4e6b-8d0f-3a5c7e9b1d42
                  person_id: 2f6b9d1e-4a8c-4e3f-b7d2-1c5a9e3b7f40
                  name: Sam Patel
                  email: sam@gmail.com
                  status: active
                  status_group: running
                  from_email: riya@acmetalent.com
                  sender_team_member_id: 7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20
                  job_id: b21d7e4a-5c9f-4e3b-a1d6-8f2c4e7b9a13
                  enrolled_at: '2026-10-13T11:31:05.000Z'
                  current_step: 2
                  next_step_at: '2026-10-22T09:14:00.000Z'
                  opens: 0
                  clicks: 1
                  reply_intent: null
                  batch_id: eb8d2f41-3c7a-4e19-b5d2-7f0a1c9e6b34
                  source: api
                  steps:
                    - id: f8a2c4e6-0b3d-4f5a-9c7e-1b3d5f7a9c08
                      step_id: 5b0f3c8e-2a71-4d0e-9a51-6f0c2d7e1a43
                      order: 1
                      type: email
                      subject: Senior Backend Engineer role at Monzo
                      body_html: >-
                        <div>Hi Sam,</div><div><br></div><div>Your work scaling
                        payments at Wise stood out. I'm hiring a <strong>Senior
                        Backend Engineer</strong> at Monzo. Loved your PyCon
                        talk on async Python.</div><div><br></div><div>You can
                        see the role <a target="_blank" rel="noopener noreferrer
                        nofollow"
                        href="https://jobs.stardex.com/acme-talent/senior-backend-engineer-k3f9a2">here</a>.
                        Open to a chat?</div><div><br></div><div>Riya</div>
                      status: sent
                      due_at: '2026-10-19T08:00:00.000Z'
                      sent_at: '2026-10-19T08:03:41.000Z'
                      editable: false
                    - id: 0c4e6a8b-2d5f-4a7c-8e9b-3d5f7b9a1c19
                      step_id: 9d2e7a14-61c3-4b8f-8f0e-3a5c9b2d4e17
                      order: 2
                      type: email
                      subject: 'Re: Senior Backend Engineer role at Monzo'
                      body_html: >-
                        <div>Hi Sam, following up on my
                        note.</div><div><br></div><div>Riya</div>
                      status: pending
                      due_at: '2026-10-22T09:14:00.000Z'
                      sent_at: null
                      editable: true
                    - id: 6e8a0c2d-4f7b-4c9e-8a1d-5f7b9d1e3a20
                      step_id: c4a8e2f1-7b3d-4e6a-9c1f-2d8b5a7e3f90
                      order: 3
                      type: manual
                      subject: null
                      body_html: <div>Call Sam if they opened but did not reply.</div>
                      status: pending
                      due_at: null
                      sent_at: null
                      editable: true
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                    description: Always false for error responses.
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: >-
                          Machine-readable error code (e.g. "VALIDATION_ERROR",
                          "NOT_FOUND").
                      message:
                        type: string
                        description: Human-readable error description.
                      details:
                        type: object
                        additionalProperties: {}
                        description: >-
                          Extra facts about the error when they help you fix it,
                          such as a limit and when it resets.
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
        '403':
          description: No access to campaigns, or the API key lacks the permission
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                    description: Always false for error responses.
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: >-
                          Machine-readable error code (e.g. "VALIDATION_ERROR",
                          "NOT_FOUND").
                      message:
                        type: string
                        description: Human-readable error description.
                      details:
                        type: object
                        additionalProperties: {}
                        description: >-
                          Extra facts about the error when they help you fix it,
                          such as a limit and when it resets.
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                    description: Always false for error responses.
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: >-
                          Machine-readable error code (e.g. "VALIDATION_ERROR",
                          "NOT_FOUND").
                      message:
                        type: string
                        description: Human-readable error description.
                      details:
                        type: object
                        additionalProperties: {}
                        description: >-
                          Extra facts about the error when they help you fix it,
                          such as a limit and when it resets.
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                    description: Always false for error responses.
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: >-
                          Machine-readable error code (e.g. "VALIDATION_ERROR",
                          "NOT_FOUND").
                      message:
                        type: string
                        description: Human-readable error description.
                      details:
                        type: object
                        additionalProperties: {}
                        description: >-
                          Extra facts about the error when they help you fix it,
                          such as a limit and when it resets.
                    required:
                      - code
                      - message
                required:
                  - success
                  - error
components:
  schemas:
    CampaignEnrollmentResponse:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - true
        data:
          $ref: '#/components/schemas/CampaignEnrollmentDetail'
      required:
        - success
        - data
    CampaignEnrollmentDetail:
      allOf:
        - $ref: '#/components/schemas/CampaignEnrollment'
        - type: object
          properties:
            steps:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  step_id:
                    type: string
                    format: uuid
                    description: Campaign step it was copied from.
                  order:
                    type: integer
                  type:
                    type: string
                    enum:
                      - email
                      - manual
                      - text
                      - linkedin_message
                      - linkedin_connection
                      - call
                  subject:
                    type:
                      - string
                      - 'null'
                  body_html:
                    type: string
                  status:
                    type:
                      - string
                      - 'null'
                  due_at:
                    type:
                      - string
                      - 'null'
                  sent_at:
                    type:
                      - string
                      - 'null'
                  editable:
                    type: boolean
                    description: >-
                      Not sent and not being sent, so subject and body can still
                      be changed.
                required:
                  - id
                  - step_id
                  - order
                  - type
                  - subject
                  - body_html
                  - status
                  - due_at
                  - sent_at
                  - editable
          required:
            - steps
    CampaignEnrollment:
      type: object
      properties:
        id:
          type: string
          format: uuid
        person_id:
          type: string
          format: uuid
        name:
          type:
            - string
            - 'null'
        email:
          type:
            - string
            - 'null'
        status:
          type: string
          description: >-
            Detailed status: active, pending, replied, event_scheduled, bounced,
            exited, stopped, cancelled, failed or access_revoked. status_group
            groups these.
        status_group:
          type:
            - string
            - 'null'
          enum:
            - running
            - awaiting_task
            - replied
            - meeting_booked
            - bounced
            - completed
            - stopped
          description: >-
            The status group of status. People held by a task step show as
            running or bounced here; search with status awaiting_task to find
            them.
        from_email:
          type:
            - string
            - 'null'
        sender_team_member_id:
          type:
            - string
            - 'null'
          format: uuid
        job_id:
          type:
            - string
            - 'null'
          format: uuid
        enrolled_at:
          type: string
        current_step:
          type:
            - integer
            - 'null'
          description: 1-based step the person is on, while running.
        next_step_at:
          type:
            - string
            - 'null'
        opens:
          type: integer
        clicks:
          type: integer
        reply_intent:
          type:
            - string
            - 'null'
          enum:
            - positive
            - neutral
            - negative
          description: >-
            How their reply was read: positive (interested), neutral or negative
            (not interested). null until they reply.
        batch_id:
          type:
            - string
            - 'null'
          format: uuid
        source:
          type:
            - string
            - 'null'
          enum:
            - api
            - mcp
            - copilot
            - app
          description: >-
            Where the enrollment batch that enrolled them was made: api (an API
            key), mcp (an AI assistant connected over MCP), copilot (Ask Dex) or
            app (a signed-in user calling the API). null for people enrolled in
            the Stardex app.
      required:
        - id
        - person_id
        - name
        - email
        - status
        - status_group
        - from_email
        - sender_team_member_id
        - job_id
        - enrolled_at
        - current_step
        - next_step_at
        - opens
        - clicks
        - reply_intent
        - batch_id
        - source
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Authenticate with a Bearer token: API key, OAuth token, or session
        token.

````

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