## Retrieve sequence performance

**get** `/v1/sequences/{id}/performance`

Retrieves a sequence’s lifetime engagement, totalled by step type and broken down per step, with the live enrollments currently on each step. Test runs are not counted. A sequence that has never been published reports zero counts and no steps.

**[Required scope](/using-the-api/scopes/):** `sequences:read`

**[Rate limit category](/using-the-api/rate-limits/):** Read

### Path Parameters

- `id: string`

  Unique identifier of the sequence.

### Returns

- `SequenceRetrievePerformanceResponse object { byStepType, perStep }`

  - `byStepType: object { EMAIL, LINKEDIN_INVITE, LINKEDIN_MESSAGE, 2 more }`

    Lifetime totals for each step type, across all of its steps.

    - `EMAIL: object { bounced, bounceRate, currentEnrollments, 6 more }`

      Email steps.

      - `bounced: number`

        Sent emails that bounced.

      - `bounceRate: number`

        Bounced divided by sent; null if none sent.

      - `currentEnrollments: number`

        Enrollments currently on steps of this type, paused ones included.

      - `delivered: number`

        Sent minus bounced, never below zero.

      - `opened: number`

        Sent emails that were opened.

      - `openRate: number`

        Opened divided by delivered; null if none delivered.

      - `replied: number`

        Sent messages that received a reply.

      - `replyRate: number`

        Replied divided by delivered; null if none delivered.

      - `sent: number`

        Messages sent.

    - `LINKEDIN_INVITE: object { acceptanceRate, accepted, currentEnrollments, 3 more }`

      LinkedIn connection request steps.

      - `acceptanceRate: number`

        Accepted divided by sent; null if none sent.

      - `accepted: number`

        Connection requests that were accepted.

      - `currentEnrollments: number`

        Enrollments currently on steps of this type, paused ones included.

      - `replied: number`

        Sent messages that received a reply.

      - `replyRate: number`

        Replied divided by sent; null if none sent.

      - `sent: number`

        Messages sent.

    - `LINKEDIN_MESSAGE: object { currentEnrollments, read, readRate, 3 more }`

      LinkedIn message steps.

      - `currentEnrollments: number`

        Enrollments currently on steps of this type, paused ones included.

      - `read: number`

        Sent messages that were read.

      - `readRate: number`

        Read divided by sent; null if none sent.

      - `replied: number`

        Sent messages that received a reply.

      - `replyRate: number`

        Replied divided by sent; null if none sent.

      - `sent: number`

        Messages sent.

    - `WAIT: object { currentEnrollments }`

      Wait steps.

      - `currentEnrollments: number`

        Enrollments currently on steps of this type, paused ones included.

    - `WAIT_FOR_CONNECTION: object { currentEnrollments }`

      Wait-for-connection steps.

      - `currentEnrollments: number`

        Enrollments currently on steps of this type, paused ones included.

  - `perStep: array of object { bounced, bounceRate, currentEnrollments, 8 more }  or object { currentEnrollments, read, readRate, 5 more }  or object { acceptanceRate, accepted, currentEnrollments, 5 more }  or 2 more`

    Per-step statistics in published sequence order, including steps with no activity. Steps no longer in the published definition are included if they have sent messages.

    - `EmailStep object { bounced, bounceRate, currentEnrollments, 8 more }`

      - `bounced: number`

        Sent emails that bounced.

      - `bounceRate: number`

        Bounced divided by sent; null if none sent.

      - `currentEnrollments: number`

        Enrollments currently on this step, paused ones included.

      - `delivered: number`

        Sent minus bounced, never below zero.

      - `opened: number`

        Sent emails that were opened.

      - `openRate: number`

        Opened divided by delivered; null if none delivered.

      - `replied: number`

        Sent messages that received a reply.

      - `replyRate: number`

        Replied divided by delivered; null if none delivered.

      - `sent: number`

        Messages sent.

      - `sequenceStepId: string`

        ID of the step. A step no longer in the published definition keeps its original ID.

      - `sequenceStepType: "EMAIL"`

        - `"EMAIL"`

    - `LinkedInMessageStep object { currentEnrollments, read, readRate, 5 more }`

      - `currentEnrollments: number`

        Enrollments currently on this step, paused ones included.

      - `read: number`

        Sent messages that were read.

      - `readRate: number`

        Read divided by sent; null if none sent.

      - `replied: number`

        Sent messages that received a reply.

      - `replyRate: number`

        Replied divided by sent; null if none sent.

      - `sent: number`

        Messages sent.

      - `sequenceStepId: string`

        ID of the step. A step no longer in the published definition keeps its original ID.

      - `sequenceStepType: "LINKEDIN_MESSAGE"`

        - `"LINKEDIN_MESSAGE"`

    - `LinkedInInviteStep object { acceptanceRate, accepted, currentEnrollments, 5 more }`

      - `acceptanceRate: number`

        Accepted divided by sent; null if none sent.

      - `accepted: number`

        Connection requests that were accepted.

      - `currentEnrollments: number`

        Enrollments currently on this step, paused ones included.

      - `replied: number`

        Sent messages that received a reply.

      - `replyRate: number`

        Replied divided by sent; null if none sent.

      - `sent: number`

        Messages sent.

      - `sequenceStepId: string`

        ID of the step. A step no longer in the published definition keeps its original ID.

      - `sequenceStepType: "LINKEDIN_INVITE"`

        - `"LINKEDIN_INVITE"`

    - `WaitStep object { currentEnrollments, sequenceStepId, sequenceStepType }`

      - `currentEnrollments: number`

        Enrollments currently on this step, paused ones included.

      - `sequenceStepId: string`

        ID of the step. A step no longer in the published definition keeps its original ID.

      - `sequenceStepType: "WAIT"`

        - `"WAIT"`

    - `WaitForConnectionStep object { currentEnrollments, sequenceStepId, sequenceStepType }`

      - `currentEnrollments: number`

        Enrollments currently on this step, paused ones included.

      - `sequenceStepId: string`

        ID of the step. A step no longer in the published definition keeps its original ID.

      - `sequenceStepType: "WAIT_FOR_CONNECTION"`

        - `"WAIT_FOR_CONNECTION"`

### Example

```http
curl https://api.lightfield.app/v1/sequences/$ID/performance \
    -H 'Lightfield-Version: 2026-03-01' \
    -H "Authorization: Bearer $API_KEY"
```

#### Response

```json
{
  "byStepType": {
    "EMAIL": {
      "bounced": -9007199254740991,
      "bounceRate": 0,
      "currentEnrollments": -9007199254740991,
      "delivered": -9007199254740991,
      "opened": -9007199254740991,
      "openRate": 0,
      "replied": -9007199254740991,
      "replyRate": 0,
      "sent": -9007199254740991
    },
    "LINKEDIN_INVITE": {
      "acceptanceRate": 0,
      "accepted": -9007199254740991,
      "currentEnrollments": -9007199254740991,
      "replied": -9007199254740991,
      "replyRate": 0,
      "sent": -9007199254740991
    },
    "LINKEDIN_MESSAGE": {
      "currentEnrollments": -9007199254740991,
      "read": -9007199254740991,
      "readRate": 0,
      "replied": -9007199254740991,
      "replyRate": 0,
      "sent": -9007199254740991
    },
    "WAIT": {
      "currentEnrollments": -9007199254740991
    },
    "WAIT_FOR_CONNECTION": {
      "currentEnrollments": -9007199254740991
    }
  },
  "perStep": [
    {
      "bounced": -9007199254740991,
      "bounceRate": 0,
      "currentEnrollments": -9007199254740991,
      "delivered": -9007199254740991,
      "opened": -9007199254740991,
      "openRate": 0,
      "replied": -9007199254740991,
      "replyRate": 0,
      "sent": -9007199254740991,
      "sequenceStepId": "sequenceStepId",
      "sequenceStepType": "EMAIL"
    }
  ]
}
```
