---
title: "Retry Api Source"
method: POST
path: "/sources/{source_id}/retry"
tags: ["Sources"]
---

# Retry Api Source

`POST /sources/{source_id}/retry`

## Request

- Base URL: `https://api.streamkap.com`
- URL: `https://api.streamkap.com/sources/{source_id}/retry`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/streamkap/apis/streamkap-rest-api/docs/sources/:source_id/retry/post.ts> (a function with typed inputs; its response is checked against the schema)

Retry a Broken API source: reset its automatic recovery attempts so Streamkap tries to bring it back up.

Returns the source; recovery happens asynchronously. 404 if the source does not exist, 400 if it is not an
API source, 409 if it is not Broken, its live status could not be read, or its state changed during the retry.

## Path parameters

- `source_id` string, required

## Response `200`

Successful Response

- SourceConnector: Source connector configuration and status.
  - `name` string, nullable: User-defined connector name
  - `connector` string, nullable: Connector type (e.g., 'postgresql', 'mysql', 'mongodb')
  - `id` string, nullable: Unique identifier
  - `connector_display_name` string, nullable: Human-readable connector type name
  - `created_timestamp` union: Creation timestamp (ISO 8601)
    - string
    - string, date-time
  - `sub_id` string, nullable: Subscription identifier
  - `tenant_id` string, nullable: Tenant identifier for multi-tenancy
  - `service_id` string, nullable: Associated service identifier
  - `config` object, nullable: Connector configuration parameters
  - `topic_ids` union[], nullable: List of associated topic identifiers
    - union
      - string
      - integer
  - `topic_map` object, nullable: Mapping of topics to their partitions or related entities
  - `topics` union[], nullable: List of topic names
    - union
      - string
      - integer
  - `tasks` integer[], nullable: List of task identifiers
  - `connector_status` string, nullable: Current status: Active, Paused, Stopped, Broken, Starting, Unassigned, Unknown, Throttled (an api source waiting out its vendor's rate budget; task_statuses carries suspend_reason and resume_at), or a Pending* state echoed from desired_state while a requested change is being applied
  - `desired_state` string, nullable: Desired state: Active, Paused, Stopped, or a pending change Streamkap is still applying — Pending, Pending Update, Pending Delete, Pending Stop, Pending Pause, Pending Resume, Pending Restart
  - `reconcile_error` string, nullable: Why the connector is Broken, as recorded when Streamkap last tried to apply its state. Secrets are masked; absent while the connector is healthy.
  - `connection_warning` string, nullable: API sources, on the create and update responses only: what the credential and resource checks found that did not stop the save but needs action, e.g. an ad account that is not active, an access token that expires within 14 days, or a resource that returned no rows (each resource's warning prefixed with its name, `<resource>: <warning>`). The same texts Test connection returns as its message and as each passing resource's warning. Absent when there is nothing to report.
  - `kc_cluster_id` string, nullable: Kafka Connect cluster this connector is deployed to. None means the default cluster.
  - `task_statuses` object, nullable: Status information for each connector task
  - `tags` string[], nullable: List of tag IDs assigned to this source

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-01** `50e54c2e65f2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/streamkap/apis/streamkap-rest-api/changes/sources/:source_id/retry/post.md)

---

[API](https://skmtc.dev/streamkap/apis/streamkap-rest-api.md) - [All operations](https://skmtc.dev/streamkap/apis/streamkap-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/streamkap/apis/streamkap-rest-api/revisions/56dda39bb53c?raw)
