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

# Run, Enable, Disable & Items

> POST /v0/sources/:id/{run,enable,disable} and GET /v0/sources/:id/items

# Draft — needs review

**Auth:** `Authorization: Bearer tr_...`

## `POST /v0/sources/{id}/run`

Schedules the source to run on the **next runner tick** — it does not run synchronously. The runner ticks every minute.

```bash theme={null}
rip source run <id>
```

## `POST /v0/sources/{id}/enable`

Re-enables a disabled source, clears its failure counter and last error, and schedules an immediate run.

## `POST /v0/sources/{id}/disable`

Stops the source polling. Idempotent — disabling an already-disabled source leaves it alone.

<Note>
  Sources also disable themselves. Twenty consecutive failures auto-disables one and emails its creator; so does losing a brain a `fathom` source needs, or the creator leaving the team the source belongs to.
</Note>

## `GET /v0/sources/{id}/items`

The item ledger — what the source discovered and what each item produced.

| Parameter | Type    | Required | Description                                                             |
| --------- | ------- | -------- | ----------------------------------------------------------------------- |
| `state`   | string  | No       | Comma list of `seen`, `awaiting_content`, `landed`, `failed`, `skipped` |
| `limit`   | integer | No       | Page size                                                               |

```bash theme={null}
rip source items <id> --state landed,failed
```

### Item states

| State              | Meaning                                                                                                    |
| ------------------ | ---------------------------------------------------------------------------------------------------------- |
| `seen`             | Discovered, not yet processed                                                                              |
| `awaiting_content` | The upstream is still preparing the content — retried with an exponential backoff                          |
| `landed`           | Content stored, deposited into the brain, and any task filed. The row carries the artifact and task ids    |
| `failed`           | Gave up. Readiness times out after 48 hours; a thrown error is retried for 168 hours before going terminal |
| `skipped`          | The adapter decided there was nothing to land — an empty transcript, a meeting under a minute              |

The ledger is what makes re-running safe: it dedupes by the upstream's own id, so a repeated poll re-discovers rather than double-landing.

## Error codes

| Error                             | Description                                                                                     |
| --------------------------------- | ----------------------------------------------------------------------------------------------- |
| `SOURCE_NOT_FOUND`                | No such source in this scope                                                                    |
| `INVALID_SOURCE_CONFIG`           | The source is in a state it cannot run from — most often a legacy `cron` row with no `taskKind` |
| `NOT_A_MEMBER` / `TEAM_NOT_FOUND` | Team scope problems                                                                             |

## Operator mirror

`POST /v0/operator/sources/{id}/{run,enable,disable}` and `GET /v0/operator/sources/{id}/items`.
