Browse the docs

Reference · 5 operations

Sequences

Outreach sequences, their enrollments and reply reports.

Last updated from API version 2026-10-06 at (live spec, refreshed hourly). openapi.json

Sequences

sequences.list

List outreach sequences, newest first.

get/api/v1/sequences
Scope
read
Credits
Free
Idempotency-Key
Not used

Cursor-paginated (meta.page). stats are the sequence's stored counters; GET /sequences/{id} returns live counts. v0 (legacy) keys keep the v0 contract on this path (data: {total, items}, max 200).

Parameters

  • limitqueryinteger

    Page size.

    default 50min 1max 200
  • cursorquerystring

    Opaque cursor from meta.page.nextCursor. Reusing it with other filters is 400 CURSOR_MISMATCH.

  • sortByquerystring

    Reserved. The sort is fixed (newest first); any value is 400 UNSUPPORTED_FILTER.

  • updatedSincequerystring

    Reserved; any value is 400 UNSUPPORTED_FILTER.

Responses

200
A page of sequences.
Show schema

SequenceListResponse

Errors

400 The request is invalid (VALIDATION_ERROR, CURSOR_MISMATCH, UNSUPPORTED_FILTER) · 401 Missing, invalid, expired or revoked key · 403 Missing scope, suspended workspace or unavailable identity · 429 Rate limit reached · 500 Unexpected error · 503 The backend is unreachable; retry after `Retry-After`. Every error is {error: {type, code, message, requestId, docUrl}}; see error codes.

curl "https://app.owlbound.ai/api/v1/sequences" \
  -H "Authorization: Bearer $OWLBOUND_API_KEY" \
  -H "Owlbound-Version: 2026-10-06"

sequences.get

Get one sequence with its steps, assigned identity and live counts.

get/api/v1/sequences/{id}
Scope
read
Credits
Free
Idempotency-Key
Not used

steps is a summary (type, delay, AI on or off); templates and prompts are not returned. counts come from the enrollment aggregate. A sequence in another workspace is 404 NOT_FOUND.

Parameters

  • idpathstringrequired

    Opaque resource id.

Responses

200
The sequence.
Show schema

SequenceResponse

  • dataSequencerequired

    One sequence with its steps, assigned identity and live counts.

    0
  • metaResponseMetarequired

    Metadata on every success response.

    0

Errors

400 The request is invalid (VALIDATION_ERROR, CURSOR_MISMATCH, UNSUPPORTED_FILTER) · 401 Missing, invalid, expired or revoked key · 403 Missing scope, suspended workspace or unavailable identity · 404 Unknown resource or route. A resource in another workspace is also 404 · 429 Rate limit reached · 500 Unexpected error · 503 The backend is unreachable; retry after `Retry-After`. Every error is {error: {type, code, message, requestId, docUrl}}; see error codes.

curl "https://app.owlbound.ai/api/v1/sequences/$ID" \
  -H "Authorization: Bearer $OWLBOUND_API_KEY" \
  -H "Owlbound-Version: 2026-10-06"

Enrollments

sequences.enrollments.list

List a sequence's enrollments, newest first.

get/api/v1/sequences/{id}/enrollments
Scope
read
Credits
Free
Idempotency-Key
Not used

Cursor-paginated. status filters the sequence's enrollments, so a page may be shorter than limit: meta.page.hasMore is the only end signal. A sequence in another workspace is 404 NOT_FOUND.

Parameters

  • idpathstringrequired

    Opaque resource id.

  • limitqueryinteger

    Page size.

    default 50min 1max 200
  • cursorquerystring

    Opaque cursor from meta.page.nextCursor. Reusing it with other filters is 400 CURSOR_MISMATCH.

  • statusquerystring
    activepausedcompletedbouncedrepliedunsubscribedwaiting_for_conditionfailed

Responses

200
A page of enrollments.
Show schema

EnrollmentListResponse

Errors

400 The request is invalid (VALIDATION_ERROR, CURSOR_MISMATCH, UNSUPPORTED_FILTER) · 401 Missing, invalid, expired or revoked key · 403 Missing scope, suspended workspace or unavailable identity · 404 Unknown resource or route. A resource in another workspace is also 404 · 429 Rate limit reached · 500 Unexpected error · 503 The backend is unreachable; retry after `Retry-After`. Every error is {error: {type, code, message, requestId, docUrl}}; see error codes.

curl "https://app.owlbound.ai/api/v1/sequences/$ID/enrollments" \
  -H "Authorization: Bearer $OWLBOUND_API_KEY" \
  -H "Owlbound-Version: 2026-10-06"

Analytics

sequences.analytics.get

Get a sequence's enrollment funnel and lifecycle counts.

get/api/v1/sequences/{id}/analytics
Scope
read
Credits
Free
Idempotency-Key
Not used

Same content as the v0 endpoint, in the v1 envelope. A sequence in another workspace is 404 NOT_FOUND.

Parameters

  • idpathstringrequired

    Opaque resource id.

Responses

200
The sequence's analytics.
Show schema

SequenceAnalyticsResponse

Errors

400 The request is invalid (VALIDATION_ERROR, CURSOR_MISMATCH, UNSUPPORTED_FILTER) · 401 Missing, invalid, expired or revoked key · 403 Missing scope, suspended workspace or unavailable identity · 404 Unknown resource or route. A resource in another workspace is also 404 · 429 Rate limit reached · 500 Unexpected error · 503 The backend is unreachable; retry after `Retry-After`. Every error is {error: {type, code, message, requestId, docUrl}}; see error codes.

curl "https://app.owlbound.ai/api/v1/sequences/$ID/analytics" \
  -H "Authorization: Bearer $OWLBOUND_API_KEY" \
  -H "Owlbound-Version: 2026-10-06"

Replies

sequences.replies.report

Report a sequence's campaign-attributable replies over a date range.

get/api/v1/sequences/{id}/replies
Scope
read
Credits
Free
Idempotency-Key
Not used

The v0 date-range report, kept as v0 defines it: same start, end and channel params and the same body, in the v1 envelope. Not paginated (at most 2,000 reply rows are read). Defaults to the last 30 days; ranges over 90 days are 400. A sequence in another workspace is 404 NOT_FOUND.

Parameters

  • idpathstringrequired

    Opaque resource id.

  • startquerystring

    Start of the range, ISO date (YYYY-MM-DD, UTC start of day) or unix ms. Default end minus 30 days.

  • endquerystring

    End of the range, ISO date (YYYY-MM-DD, UTC end of day) or unix ms. Default now.

  • channelquerystring
    emaillinkedinwhatsapp

Responses

200
The report.
Show schema

SequenceRepliesReportResponse

  • Same body as the v0 report (dateRange, replies, actions, identities, enrollments).

    0
  • metaResponseMetarequired

    Metadata on every success response.

    0

Errors

400 The request is invalid (VALIDATION_ERROR, CURSOR_MISMATCH, UNSUPPORTED_FILTER) · 401 Missing, invalid, expired or revoked key · 403 Missing scope, suspended workspace or unavailable identity · 404 Unknown resource or route. A resource in another workspace is also 404 · 429 Rate limit reached · 500 Unexpected error · 503 The backend is unreachable; retry after `Retry-After`. Every error is {error: {type, code, message, requestId, docUrl}}; see error codes.

curl "https://app.owlbound.ai/api/v1/sequences/$ID/replies" \
  -H "Authorization: Bearer $OWLBOUND_API_KEY" \
  -H "Owlbound-Version: 2026-10-06"

Models on this page

Shared objects the operations above link to. Clients must ignore fields they do not know.

SequenceSummaryobject

A sequence as listed.

  • idstringrequired
    0
  • namestringrequired
    0
  • descriptionstring | nullrequired
    0
  • statusstringrequired
    activeinactive
  • isActivebooleanrequired
    0
  • channelstringrequired

    linkedin, email or multi-channel.

    0
  • stepsCountintegerrequired
    0
  • assignedIdentityIdstring | nullrequired

    The identity whose accounts send this sequence's steps.

    0
  • statsSequenceStatsrequired

    Stored counters on the sequence.

    0
  • completedAtnumber | nullrequired
    0
  • createdAtnumberrequired
    0
  • updatedAtnumberrequired
    0
SequenceStatsobject

Stored counters on the sequence.

  • totalEnrollednumberrequired
    0
  • activenumberrequired
    0
  • completednumberrequired
    0
  • repliednumberrequired
    0
  • bouncednumberrequired
    0
  • failednumberrequired
    0
  • unsubscribednumberrequired
    0
PagedResponseMetaobject

Metadata on a paginated success response.

  • requestIdstringrequired
    0
  • creditsCreditsMetarequired
    0
  • pagePageMetarequired

    Cursor pagination. hasMore is the only end signal; pages may be short.

    0
CreditsMetaobject
  • usednumberrequired

    Credits charged by this request. Reads are free.

    0
  • balancenumber
    0
  • estimatednumber

    Dry run only (action operations).

    0
  • availablenumber

    Dry run only (action operations).

    0
  • reservationIdstring | null

    Async operations only; the job settles this reservation.

    0
PageMetaobject

Cursor pagination. hasMore is the only end signal; pages may be short.

  • nextCursorstring | nullrequired
    0
  • hasMorebooleanrequired
    0
  • limitintegerrequired
    min 1max 200
Sequenceobject

One sequence with its steps, assigned identity and live counts.

  • idstringrequired
    0
  • namestringrequired
    0
  • descriptionstring | nullrequired
    0
  • statusstringrequired
    activeinactive
  • isActivebooleanrequired
    0
  • channelstringrequired
    0
  • stepsCountintegerrequired
    0
  • assignedIdentityIdstring | nullrequired
    0
  • statsSequenceStatsrequired

    Stored counters on the sequence.

    0
  • completedAtnumber | nullrequired
    0
  • createdAtnumberrequired
    0
  • updatedAtnumberrequired
    0
  • triggerOnstringrequired
    0
  • stepsarray of SequenceSteprequired
    0
  • assignedIdentityIdentityRef | nullrequired
    0
  • countsEnrollmentCountsrequired

    Live enrollment counts by status (enrollment aggregate).

    0
SequenceStepobject

A step summary; templates and prompts are not returned.

  • stepNumberintegerrequired
    0
  • typestringrequired

    Step type, e.g. connection_request, message, email, wait.

    0
  • delaynumberrequired
    0
  • useAIbooleanrequired
    0
IdentityRefobject
  • idstringrequired
    0
  • memberNamestringrequired
    0
EnrollmentCountsobject

Live enrollment counts by status (enrollment aggregate).

  • totalEnrolledintegerrequired
    0
  • activeintegerrequired
    0
  • completedintegerrequired
    0
  • repliedintegerrequired
    0
  • bouncedintegerrequired
    0
  • failedintegerrequired
    0
  • unsubscribedintegerrequired
    0
  • pausedintegerrequired
    0
  • waitingForConditionintegerrequired
    0
ResponseMetaobject

Metadata on every success response.

  • requestIdstringrequired
    0
  • creditsCreditsMetarequired
    0
  • Cursor pagination. hasMore is the only end signal; pages may be short.

    0
  • dryRunboolean

    True only on a dry-run response (action operations).

    0
Enrollmentobject

A contact's enrollment in a sequence. Step execution details are not returned.

  • idstringrequired
    0
  • sequenceIdstringrequired
    0
  • contactIdstring | nullrequired
    0
  • statusstringrequired
    activepausedcompletedbouncedrepliedunsubscribedwaiting_for_conditionfailed
  • currentStepintegerrequired
    0
  • stepsExecutedintegerrequired
    0
  • nextStepAtnumber | nullrequired
    0
  • executingIdentityIdstring | nullrequired
    0
  • enrollmentSourcestring | nullrequired
    0
  • repliedbooleanrequired
    0
  • repliedAtnumber | nullrequired
    0
  • completedAtnumber | nullrequired
    0
  • failedAtnumber | nullrequired
    0
  • enrolledAtnumberrequired
    0
  • updatedAtnumber | nullrequired
    0
SequenceAnalyticsobject
  • sequenceobjectrequired
    0
    + Show child fields
    • idstringrequired
      0
    • namestringrequired
      0
    • statusstringrequired
      activeinactive
    • channelstringrequired
      0
    • stepsCountintegerrequired
      0
  • enrollmentsEnrollmentCountsrequired

    Live enrollment counts by status (enrollment aggregate).

    0
  • stepFunnelobjectrequired
    0
    + Show child fields
StepFunnelCountsobject
  • stepinteger
    0
  • activeintegerrequired
    0
  • completedintegerrequired
    0
  • repliedintegerrequired
    0
  • failedintegerrequired
    0
  • pausedinteger
    0
SequenceRepliesReportobject

Same body as the v0 report (dateRange, replies, actions, identities, enrollments).

  • dateRangeobjectrequired
    0
    + Show child fields
    • startnumberrequired
      0
    • endnumberrequired
      0
  • repliesobjectrequired
    0
    + Show child fields
    • totalintegerrequired
      0
    • bySequencearray of objectrequired
      0
      + Show child fields
      • sequenceIdstringrequired
        0
      • sequenceNamestringrequired
        0
      • countintegerrequired
        0
      • byChannelobjectrequired
        0
        + Show child fields
        • emailintegerrequired
          0
        • linkedinintegerrequired
          0
    • byChannelReplyChannelCountsrequired
      0
    • byIntentobjectrequired
      0
    • itemsarray of RepliesReportItemrequired
      0
  • actionsobjectrequired

    Best effort, sampled from the most recent enrollments (capped when the sample limit was hit).

    0
    + Show child fields
    • totalintegerrequired
      0
    • succeededintegerrequired
      0
    • failedintegerrequired
      0
    • successRatenumberrequired
      0
    • byTypeobjectrequired
      0
    • cappedbooleanrequired
      0
    • enrollmentsSampledintegerrequired
      0
  • identitiesobjectrequired
    0
    + Show child fields
    • countintegerrequired
      0
    • itemsarray of objectrequired
      0
      + Show child fields
      • idstringrequired
        0
      • namestringrequired
        0
      • repliesCountintegerrequired
        0
      • actionsCountintegerrequired
        0
  • enrollmentsobjectrequired
    0
    + Show child fields
    • totalintegerrequired
      0
    • executedintegerrequired
      0
ReplyChannelCountsobject
  • emailintegerrequired
    0
  • linkedinintegerrequired
    0
  • whatsappintegerrequired
    0
RepliesReportItemobject

One campaign-attributable reply. Absent optional fields mean unknown.

  • replyAtnumberrequired
    0
  • channelstringrequired
    emaillinkedinwhatsapp
  • attributionStatusstringrequired
    0
  • intentstring
    0
  • sentimentstring
    0
  • contactobject | nullrequired
    0
    + Show child fields
    • idstringrequired
      0
    • namestringrequired
      0
    • titlestring
      0
    • companystring
      0
    • scorenumber
      0
    • icpNamestring
      0
  • replyobjectrequired
    0
    + Show child fields
    • messageIdstringrequired
      0
    • textstring
      0
    • subjectstring
      0
  • outboundobjectrequired
    0
    + Show child fields
    • messageIdstring
      0
    • textstring
      0
    • subjectstring
      0
    • sentAtnumber
      0
    • sentViaPlatformbooleanrequired
      0
  • sequenceobject | nullrequired
    0
    + Show child fields
    • idstringrequired
      0
    • namestringrequired
      0
    • stepNumberinteger
      0
  • identityobject | nullrequired
    0
    + Show child fields
    • idstringrequired
      0
    • namestringrequired
      0

← All operations