---
title: "getOutboundStatus"
method: GET
path: "/v1/integrations/{integrationId}/outbound-status"
tags: ["integrations"]
---

# getOutboundStatus

`GET /v1/integrations/{integrationId}/outbound-status`

Get the status of all outbound use cases for a specific integration.
Returns conflict information when events or webhooks are disabled but the use case is enabled.

## Path parameters

- `integrationId` string, uuid, required

## Response `200`

Successfully retrieved outbound status

- OutboundStatusResponse
  - `useCases` OutboundUseCaseStatus[], required
    - `useCaseId` string, uuid, required — Unique identifier for the use case
    - `name` string, required — Human-readable name of the use case
    - `useCaseEnabled` boolean, required — Whether the use case is enabled
    - `eventCatalogEvent` string — The Event Catalog event name that triggers this outbound flow
    - `eventEnabled` boolean, nullable — Whether the event is enabled in Event Catalog. Null if the API is unreachable.
    - `webhooks` WebhookStatus[]
      - `webhookId` string, required — Unique identifier for the webhook
      - `webhookName` string — Human-readable name of the webhook
      - `enabled` boolean, nullable — Whether the webhook is enabled. Null if the API is unreachable.
    - `status` 'ok' | 'conflict' | 'disabled', required — Overall status of the use case: - 'ok': Use case is enabled and all dependencies are properly configured - 'conflict': Use case has configuration issues (disabled events/webhooks while enabled) - 'disabled': Use case is disabled
    - `conflicts` OutboundConflict[] — List of detected conflicts, if any
      - `type` 'event_disabled' | 'all_webhooks_disabled' | 'event_enabled_while_disabled' | 'webhook_enabled_while_disabled' | 'stream_blocked' | 'dlq_items_present', required — Type of conflict: - 'event_disabled': Event catalog event is disabled while use case is enabled - 'all_webhooks_disabled': All webhooks are disabled while use case is enabled - 'event_enabled_while_disabled': Event is enabled while use case is disabled - 'webhook_enabled_while_disabled': A webhook is enabled while use case is disabled - 'stream_blocked': The outbound stream is halted by a poison message awaiting operator action or consumer ack (poll mode) - 'dlq_items_present': Dead-lettered messages await redrive or expiry (poll mode)
      - `webhookId` string — Webhook ID (only present for webhook_enabled_while_disabled conflicts)
      - `message` string, required — Human-readable description of the conflict
    - `poll` OutboundPollStatus — Queue/consumer health for a poll-mode use case. Present only on use cases with a poll delivery mapping — webhook-only use cases are unaffected. Depth/age/DLQ numbers are first-page approximations.
      - `queue_depth` integer, required — Unconsumed messages attributable to this use case (first-page approximation)
      - `oldest_unconsumed_age_seconds` integer, nullable, required — Age of the oldest unconsumed message in seconds — null when the queue is empty
      - `last_poll_at` string, date-time, nullable, required — Timestamp of the last successful poll lease — null before the first poll
      - `last_ack_at` string, date-time, nullable, required — Timestamp of the last committed acknowledgment — null before the first ack
      - `blocked` boolean, required — Whether the integration's outbound stream is currently halted by a blocked head message (poison_policy 'block'). Stream-level flag — the same value is reported on every poll use case of the integration, because the stream spans them.
      - `dlq_count` integer, required — Dead-lettered messages of this use case awaiting redrive or expiry (first-page approximation)
    - `file_proxy` OutboundFileProxyTargetStatus[] — One entry per file_proxy mapping on this use case. Present only on use cases with a file_proxy delivery mapping.
      - `mapping_id` string, required — The mapping holding this file_proxy delivery
      - `use_case_slug` string, required — Slug of the referenced file_proxy use case
      - `resolved` boolean, required — Whether the slug currently resolves to an enabled `file_proxy` use case with `direction: upload` in this integration. References are resolved at delivery time, so `false` is a live warning rather than a save-time error.
      - `target_use_case_id` string, uuid — Id of the referenced use case — absent when unresolved
      - `target_enabled` boolean — Whether the referenced use case is enabled — absent when unresolved
      - `target_updated_at` string, date-time — When the referenced use case was last modified — absent when unresolved. Surfaced because a change here is invisible in this use case's own history diff.
      - `unresolved_reason` 'not_found' | 'wrong_type' | 'wrong_direction' | 'disabled' — Why the reference did not resolve — absent when `resolved` is true

## Other responses

- `401` — Unauthorized request
- `404` — Resource not found
- `500` — Internal Server Error

---

[API](https://skmtc.net/epilot/apis/integration-toolkit-api.md) · [All operations](https://skmtc.net/epilot/apis/integration-toolkit-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/epilot/integration-toolkit-api/revisions/a567add0c3f5/schema)
