Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions references/account-resolver.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Pick whichever credential the environment provides; prefer the API key when both

| Credential | Header | Where it comes from |
| --- | --- | --- |
| `RECOUP_API_KEY` (`recoup_sk_…`) | `-H "x-api-key: $RECOUP_API_KEY"` | agent signup; see developers.recoupable.com/agents |
| `RECOUP_API_KEY` (`recoup_sk_…`) | `-H "x-api-key: $RECOUP_API_KEY"` | agent signup; see docs.recoupable.dev/agents |
| `RECOUP_ACCESS_TOKEN` | `-H "Authorization: Bearer $RECOUP_ACCESS_TOKEN"` | short-lived sandbox token |

```bash
Expand All @@ -22,7 +22,7 @@ else
echo "No Recoup credential set — ask the user to authenticate; do not retry blindly." >&2
return 1 2>/dev/null || exit 1 # stop — never call the API unauthenticated
fi
# Use as: curl -sS "${AUTH[@]}" "https://api.recoupable.com/api/..."
# Use as: curl -sS "${AUTH[@]}" "https://api.recoupable.dev/api/..."
```

If neither is set, the user is not authenticated — tell them to sign in rather than
Expand Down Expand Up @@ -63,11 +63,11 @@ spans every org the account belongs to. Org rows expose `organization_id` (pass

```bash
ORG_ID="${RECOUP_ORG_ID:-$(curl -sS "${AUTH[@]}" \
"https://api.recoupable.com/api/organizations" | jq -r '.organizations[0].organization_id')}"
"https://api.recoupable.dev/api/organizations" | jq -r '.organizations[0].organization_id')}"

# Capture BOTH ids for the matched artist.
ARTISTS_JSON=$(curl -sS "${AUTH[@]}" \
"https://api.recoupable.com/api/artists?org_id=$ORG_ID")
"https://api.recoupable.dev/api/artists?org_id=$ORG_ID")

ARTIST_ACCOUNT_ID=$(echo "$ARTISTS_JSON" \
| jq -r --arg n "$ARTIST_NAME" '.artists[] | select(.name==$n) | .account_id')
Expand Down
2 changes: 1 addition & 1 deletion references/analyze-gate.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ at the very end; catch a bad clip before you spend more on it. (For still images
## How

```bash
curl -sS -X POST "https://api.recoupable.com/api/content/analyze" "${AUTH[@]}" \
curl -sS -X POST "https://api.recoupable.dev/api/content/analyze" "${AUTH[@]}" \
-H "Content-Type: application/json" \
-d "$(jq -n --arg v "$VIDEO_URL" --arg p "$RUBRIC" '{video_url:$v, prompt:$p}')" | jq -r '.text'
```
Expand Down
6 changes: 3 additions & 3 deletions references/content-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ estimation. For auth + artist-ID resolution, use the account-resolver reference
skill bundles one; otherwise set the auth header inline (`x-api-key: $RECOUP_API_KEY`, or
`Authorization: Bearer $RECOUP_ACCESS_TOKEN`).

`BASE="https://api.recoupable.com/api"`. Pass the auth header from `account-resolver.md`
`BASE="https://api.recoupable.dev/api"`. Pass the auth header from `account-resolver.md`
as `"${AUTH[@]}"` on every call.

## Endpoints
Expand All @@ -30,7 +30,7 @@ as `"${AUTH[@]}"` on every call.
> /content/create` are **async** → `runId`, polled via `/tasks/runs`. Don't assume everything
> is async — image/caption come straight back.

Full docs: `https://developers.recoupable.com/content-agent`.
Full docs: `https://docs.recoupable.dev/content-agent`.

## The six video modes

Expand Down Expand Up @@ -88,7 +88,7 @@ curl -sS "${AUTH[@]}" "$BASE/tasks/runs?runId=$RUN_ID" | jq '.runs[0].output'
```

On a non-`COMPLETED` terminal status, surface `.runs[0].error` and stop — never claim
success. See `https://developers.recoupable.com/api-reference/tasks/runs`.
success. See `https://docs.recoupable.dev/api-reference/tasks/runs`.

## Edit operations (`PATCH $BASE/content`)

Expand Down
6 changes: 3 additions & 3 deletions references/endpoints.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@ Full curl examples for every production `/api/research/*` endpoint, plus
parameter rules, response shapes, latency budgets, and platform source enums.

These are the **current production endpoints** documented at
<https://developers.recoupable.com> (see the `/api-reference/research/*` pages).
<https://docs.recoupable.dev> (see the `/api-reference/research/*` pages).
The research API is backed by **Songstats**, so entity IDs are short
alphanumeric strings like `wjcgfd9i` (artists) or `1ik97vot` (tracks).

All examples assume:

```bash
export RECOUP_API_KEY="recoup_sk_..."
export RECOUP_API="https://api.recoupable.com/api"
export RECOUP_API="https://api.recoupable.dev/api"
```

No key? Get one instantly (no dashboard, no email verification):

```bash
export RECOUP_API_KEY=$(curl -s -X POST "https://api.recoupable.com/api/agents/signup" \
export RECOUP_API_KEY=$(curl -s -X POST "https://api.recoupable.dev/api/agents/signup" \
-H "Content-Type: application/json" \
-d '{"email":"agent+'$(date +%s)-$RANDOM'@recoupable.com"}' | jq -r .api_key)
```
Expand Down
8 changes: 4 additions & 4 deletions references/flamingo-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ context from auth and ignores account overrides.
The API answers on two hosts; examples below resolve the base from env so a skill
works in either environment:

- `RECOUP_API` — full base including `/api` (e.g. `https://api.recoupable.com/api`)
- `RECOUP_API_URL` — host only (e.g. `https://api.recoupable.com`)
- Default when neither is set: `https://api.recoupable.com`
- `RECOUP_API` — full base including `/api` (e.g. `https://api.recoupable.dev/api`)
- `RECOUP_API_URL` — host only (e.g. `https://api.recoupable.dev`)
- Default when neither is set: `https://api.recoupable.dev`

(The public docs are inconsistent about the canonical host; honoring the env
vars avoids hard-coding the wrong one.)
Expand Down Expand Up @@ -136,7 +136,7 @@ curl -sS "$API_BASE/songs/analyze/presets" "${AUTH[@]}" | jq '.presets[] | {name
if [ -n "$RECOUP_API" ]; then
API_BASE="${RECOUP_API%/}"
else
RAW_API_URL="${RECOUP_API_URL:-https://api.recoupable.com}"
RAW_API_URL="${RECOUP_API_URL:-https://api.recoupable.dev}"
API_BASE="${RAW_API_URL%/api}/api"
fi

Expand Down
4 changes: 2 additions & 2 deletions references/research-context.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ research.

## Auth + the provider ID chain

Research endpoints live under `https://api.recoupable.com/api/research/…` and accept the
Research endpoints live under `https://api.recoupable.dev/api/research/…` and accept the
same auth as everything else — reuse the `AUTH` array from the account-resolver reference
(`x-api-key: $RECOUP_API_KEY` preferred, or `Authorization: Bearer $RECOUP_ACCESS_TOKEN`).

Expand All @@ -34,7 +34,7 @@ slug like `wjcgfd9i`, *not* the Recoup `account_id`/`id` and *not* the Spotify i
once from the Spotify id in `RECOUP.md`, then reuse:

```bash
BASE="https://api.recoupable.com/api"
BASE="https://api.recoupable.dev/api"
SPOTIFY_ID=$(sed -n 's/^spotifyArtistId:[[:space:]]*//p' "$ARTIST_DIR/RECOUP.md")

PROVIDER_ID=$(curl -sSL --max-time 90 "${AUTH[@]}" \
Expand Down
2 changes: 1 addition & 1 deletion references/workflows.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ All examples assume:

```bash
export RECOUP_API_KEY="recoup_sk_..."
export RECOUP_API="https://api.recoupable.com/api"
export RECOUP_API="https://api.recoupable.dev/api"
AUTH="x-api-key: $RECOUP_API_KEY"
```

Expand Down
4 changes: 2 additions & 2 deletions references/workspace-context.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@ and for resolving the artist's `id`.

```bash
# Real captions across platforms — the best available voice signal when there's no artist.md
curl -sS "$AUTH_HEADER" "https://api.recoupable.com/api/artists/$ARTIST_ID/posts" | jq
curl -sS "$AUTH_HEADER" "https://api.recoupable.dev/api/artists/$ARTIST_ID/posts" | jq
# Profile / socials for tone + handles
curl -sS "$AUTH_HEADER" "https://api.recoupable.com/api/artists/$ARTIST_ID/socials" | jq
curl -sS "$AUTH_HEADER" "https://api.recoupable.dev/api/artists/$ARTIST_ID/socials" | jq
```

If neither workspace context nor API posts are available, **say so and ask the user for
Expand Down
12 changes: 6 additions & 6 deletions skills/recoup-catalog-estimate-value/references/recoup-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

All streaming data is pulled from the Recoup Research API. Spotify play counts
come from Recoup's own measurement store (Apify-first, provenance-labeled);
other sources are Songstats-backed. Base URL: `https://api.recoupable.com/api`.
other sources are Songstats-backed. Base URL: `https://api.recoupable.dev/api`.

## Authentication

Send one of:

- `x-api-key: $RECOUP_API_KEY` — a key from `https://chat.recoupable.com/keys`,
- `x-api-key: $RECOUP_API_KEY` — a key from `https://chat.recoupable.dev/keys`,
or in one unauthenticated call:
```bash
export RECOUP_API_KEY=$(curl -s -X POST "https://api.recoupable.com/api/agents/signup" \
export RECOUP_API_KEY=$(curl -s -X POST "https://api.recoupable.dev/api/agents/signup" \
-H "Content-Type: application/json" \
-d '{"email":"agent+'$(date +%s)'@recoupable.com"}' | jq -r .api_key)
```
Expand All @@ -38,7 +38,7 @@ includes the absolute play count:

```bash
curl -sS -H "x-api-key: $RECOUP_API_KEY" \
"https://api.recoupable.com/api/research/track/stats?isrc=USQY51771120&source=all"
"https://api.recoupable.dev/api/research/track/stats?isrc=USQY51771120&source=all"
```
Note: `streams_total` may be returned as a numeric string (e.g. `"296422273.0"`)
— parse as float.
Expand All @@ -54,7 +54,7 @@ auto-enqueued for backfill — re-query later, or use playcount-deltas below.

```bash
curl -sS -H "x-api-key: $RECOUP_API_KEY" \
"https://api.recoupable.com/api/research/track/historic-stats?spotify_track_id=6RmGzvvqPlVwPqiI11vqT3&source=spotify&start_date=2025-06-09&end_date=2026-06-09"
"https://api.recoupable.dev/api/research/track/historic-stats?spotify_track_id=6RmGzvvqPlVwPqiI11vqT3&source=spotify&start_date=2025-06-09&end_date=2026-06-09"
```

### `GET /spotify/album` — enumerate an album's tracks
Expand Down Expand Up @@ -86,7 +86,7 @@ of its tracks. Counts land in the measurement store within minutes.
```bash
curl -sS -X POST -H "x-api-key: $RECOUP_API_KEY" -H "Content-Type: application/json" \
-d '{"album_ids":["70Zkfb99ladZ3q0JVg97co"]}' \
"https://api.recoupable.com/api/research/snapshots"
"https://api.recoupable.dev/api/research/snapshots"
```

### `GET /research/playcounts` — latest per-track counts for an album
Expand Down
2 changes: 1 addition & 1 deletion skills/recoup-catalog-estimate-value/scripts/estimate.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
from collections import Counter
from concurrent.futures import ThreadPoolExecutor

BASE = os.environ.get("RECOUP_API_BASE", "https://api.recoupable.com/api")
BASE = os.environ.get("RECOUP_API_BASE", "https://api.recoupable.dev/api")

DEFAULTS = {
"rates": {"spotify": 0.0035, "youtube": 0.00069, "soundcloud": 0.0030},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Usage: python3 fetch_album_tracks.py --album <spotify_album_id_or_url>
Prints a comma-separated list of track IDs; ownership (label / P-line) to stderr."""
import argparse, json, os, re, subprocess, sys
BASE = os.environ.get("RECOUP_API_BASE", "https://api.recoupable.com/api")
BASE = os.environ.get("RECOUP_API_BASE", "https://api.recoupable.dev/api")

def auth():
k = os.environ.get("RECOUP_API_KEY")
Expand Down
12 changes: 6 additions & 6 deletions skills/recoup-catalog-review-deal/references/recoup-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

All streaming data is pulled from the Recoup Research API. Spotify play counts
come from Recoup's own measurement store (Apify-first, provenance-labeled);
other sources are Songstats-backed. Base URL: `https://api.recoupable.com/api`.
other sources are Songstats-backed. Base URL: `https://api.recoupable.dev/api`.

## Authentication

Send one of:

- `x-api-key: $RECOUP_API_KEY` — a key from `https://chat.recoupable.com/keys`,
- `x-api-key: $RECOUP_API_KEY` — a key from `https://chat.recoupable.dev/keys`,
or in one unauthenticated call:
```bash
export RECOUP_API_KEY=$(curl -s -X POST "https://api.recoupable.com/api/agents/signup" \
export RECOUP_API_KEY=$(curl -s -X POST "https://api.recoupable.dev/api/agents/signup" \
-H "Content-Type: application/json" \
-d '{"email":"agent+'$(date +%s)'@recoupable.com"}' | jq -r .api_key)
```
Expand All @@ -38,7 +38,7 @@ includes the absolute play count:

```bash
curl -sS -H "x-api-key: $RECOUP_API_KEY" \
"https://api.recoupable.com/api/research/track/stats?isrc=USQY51771120&source=all"
"https://api.recoupable.dev/api/research/track/stats?isrc=USQY51771120&source=all"
```
Note: `streams_total` may be returned as a numeric string (e.g. `"296422273.0"`)
— parse as float.
Expand All @@ -54,7 +54,7 @@ auto-enqueued for backfill — re-query later, or use playcount-deltas below.

```bash
curl -sS -H "x-api-key: $RECOUP_API_KEY" \
"https://api.recoupable.com/api/research/track/historic-stats?spotify_track_id=6RmGzvvqPlVwPqiI11vqT3&source=spotify&start_date=2025-06-09&end_date=2026-06-09"
"https://api.recoupable.dev/api/research/track/historic-stats?spotify_track_id=6RmGzvvqPlVwPqiI11vqT3&source=spotify&start_date=2025-06-09&end_date=2026-06-09"
```

### `GET /spotify/album` — enumerate an album's tracks
Expand Down Expand Up @@ -86,7 +86,7 @@ of its tracks. Counts land in the measurement store within minutes.
```bash
curl -sS -X POST -H "x-api-key: $RECOUP_API_KEY" -H "Content-Type: application/json" \
-d '{"album_ids":["70Zkfb99ladZ3q0JVg97co"]}' \
"https://api.recoupable.com/api/research/snapshots"
"https://api.recoupable.dev/api/research/snapshots"
```

### `GET /research/playcounts` — latest per-track counts for an album
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Pick whichever credential the environment provides; prefer the API key when both

| Credential | Header | Where it comes from |
| --- | --- | --- |
| `RECOUP_API_KEY` (`recoup_sk_…`) | `-H "x-api-key: $RECOUP_API_KEY"` | agent signup; see developers.recoupable.com/agents |
| `RECOUP_API_KEY` (`recoup_sk_…`) | `-H "x-api-key: $RECOUP_API_KEY"` | agent signup; see docs.recoupable.dev/agents |
| `RECOUP_ACCESS_TOKEN` | `-H "Authorization: Bearer $RECOUP_ACCESS_TOKEN"` | short-lived sandbox token |

```bash
Expand All @@ -22,7 +22,7 @@ else
echo "No Recoup credential set — ask the user to authenticate; do not retry blindly." >&2
return 1 2>/dev/null || exit 1 # stop — never call the API unauthenticated
fi
# Use as: curl -sS "${AUTH[@]}" "https://api.recoupable.com/api/..."
# Use as: curl -sS "${AUTH[@]}" "https://api.recoupable.dev/api/..."
```

If neither is set, the user is not authenticated — tell them to sign in rather than
Expand Down Expand Up @@ -63,11 +63,11 @@ spans every org the account belongs to. Org rows expose `organization_id` (pass

```bash
ORG_ID="${RECOUP_ORG_ID:-$(curl -sS "${AUTH[@]}" \
"https://api.recoupable.com/api/organizations" | jq -r '.organizations[0].organization_id')}"
"https://api.recoupable.dev/api/organizations" | jq -r '.organizations[0].organization_id')}"

# Capture BOTH ids for the matched artist.
ARTISTS_JSON=$(curl -sS "${AUTH[@]}" \
"https://api.recoupable.com/api/artists?org_id=$ORG_ID")
"https://api.recoupable.dev/api/artists?org_id=$ORG_ID")

ARTIST_ACCOUNT_ID=$(echo "$ARTISTS_JSON" \
| jq -r --arg n "$ARTIST_NAME" '.artists[] | select(.name==$n) | .account_id')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ at the very end; catch a bad clip before you spend more on it. (For still images
## How

```bash
curl -sS -X POST "https://api.recoupable.com/api/content/analyze" "${AUTH[@]}" \
curl -sS -X POST "https://api.recoupable.dev/api/content/analyze" "${AUTH[@]}" \
-H "Content-Type: application/json" \
-d "$(jq -n --arg v "$VIDEO_URL" --arg p "$RUBRIC" '{video_url:$v, prompt:$p}')" | jq -r '.text'
```
Expand Down
6 changes: 3 additions & 3 deletions skills/recoup-content-asset-pack/references/content-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ estimation. For auth + artist-ID resolution, use the account-resolver reference
skill bundles one; otherwise set the auth header inline (`x-api-key: $RECOUP_API_KEY`, or
`Authorization: Bearer $RECOUP_ACCESS_TOKEN`).

`BASE="https://api.recoupable.com/api"`. Pass the auth header from `account-resolver.md`
`BASE="https://api.recoupable.dev/api"`. Pass the auth header from `account-resolver.md`
as `"${AUTH[@]}"` on every call.

## Endpoints
Expand All @@ -30,7 +30,7 @@ as `"${AUTH[@]}"` on every call.
> /content/create` are **async** → `runId`, polled via `/tasks/runs`. Don't assume everything
> is async — image/caption come straight back.

Full docs: `https://developers.recoupable.com/content-agent`.
Full docs: `https://docs.recoupable.dev/content-agent`.

## The six video modes

Expand Down Expand Up @@ -88,7 +88,7 @@ curl -sS "${AUTH[@]}" "$BASE/tasks/runs?runId=$RUN_ID" | jq '.runs[0].output'
```

On a non-`COMPLETED` terminal status, surface `.runs[0].error` and stop — never claim
success. See `https://developers.recoupable.com/api-reference/tasks/runs`.
success. See `https://docs.recoupable.dev/api-reference/tasks/runs`.

## Edit operations (`PATCH $BASE/content`)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ research.

## Auth + the provider ID chain

Research endpoints live under `https://api.recoupable.com/api/research/…` and accept the
Research endpoints live under `https://api.recoupable.dev/api/research/…` and accept the
same auth as everything else — reuse the `AUTH` array from the account-resolver reference
(`x-api-key: $RECOUP_API_KEY` preferred, or `Authorization: Bearer $RECOUP_ACCESS_TOKEN`).

Expand All @@ -34,7 +34,7 @@ slug like `wjcgfd9i`, *not* the Recoup `account_id`/`id` and *not* the Spotify i
once from the Spotify id in `RECOUP.md`, then reuse:

```bash
BASE="https://api.recoupable.com/api"
BASE="https://api.recoupable.dev/api"
SPOTIFY_ID=$(sed -n 's/^spotifyArtistId:[[:space:]]*//p' "$ARTIST_DIR/RECOUP.md")

PROVIDER_ID=$(curl -sSL --max-time 90 "${AUTH[@]}" \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@ and for resolving the artist's `id`.

```bash
# Real captions across platforms — the best available voice signal when there's no artist.md
curl -sS "$AUTH_HEADER" "https://api.recoupable.com/api/artists/$ARTIST_ID/posts" | jq
curl -sS "$AUTH_HEADER" "https://api.recoupable.dev/api/artists/$ARTIST_ID/posts" | jq
# Profile / socials for tone + handles
curl -sS "$AUTH_HEADER" "https://api.recoupable.com/api/artists/$ARTIST_ID/socials" | jq
curl -sS "$AUTH_HEADER" "https://api.recoupable.dev/api/artists/$ARTIST_ID/socials" | jq
```

If neither workspace context nor API posts are available, **say so and ask the user for
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Pick whichever credential the environment provides; prefer the API key when both

| Credential | Header | Where it comes from |
| --- | --- | --- |
| `RECOUP_API_KEY` (`recoup_sk_…`) | `-H "x-api-key: $RECOUP_API_KEY"` | agent signup; see developers.recoupable.com/agents |
| `RECOUP_API_KEY` (`recoup_sk_…`) | `-H "x-api-key: $RECOUP_API_KEY"` | agent signup; see docs.recoupable.dev/agents |
| `RECOUP_ACCESS_TOKEN` | `-H "Authorization: Bearer $RECOUP_ACCESS_TOKEN"` | short-lived sandbox token |

```bash
Expand All @@ -22,7 +22,7 @@ else
echo "No Recoup credential set — ask the user to authenticate; do not retry blindly." >&2
return 1 2>/dev/null || exit 1 # stop — never call the API unauthenticated
fi
# Use as: curl -sS "${AUTH[@]}" "https://api.recoupable.com/api/..."
# Use as: curl -sS "${AUTH[@]}" "https://api.recoupable.dev/api/..."
```

If neither is set, the user is not authenticated — tell them to sign in rather than
Expand Down Expand Up @@ -63,11 +63,11 @@ spans every org the account belongs to. Org rows expose `organization_id` (pass

```bash
ORG_ID="${RECOUP_ORG_ID:-$(curl -sS "${AUTH[@]}" \
"https://api.recoupable.com/api/organizations" | jq -r '.organizations[0].organization_id')}"
"https://api.recoupable.dev/api/organizations" | jq -r '.organizations[0].organization_id')}"

# Capture BOTH ids for the matched artist.
ARTISTS_JSON=$(curl -sS "${AUTH[@]}" \
"https://api.recoupable.com/api/artists?org_id=$ORG_ID")
"https://api.recoupable.dev/api/artists?org_id=$ORG_ID")

ARTIST_ACCOUNT_ID=$(echo "$ARTISTS_JSON" \
| jq -r --arg n "$ARTIST_NAME" '.artists[] | select(.name==$n) | .account_id')
Expand Down
Loading
Loading