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
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ All site configuration is in `docs.json`:
Reference `Recoup-Chat` codebase for correct branding values:
- **Primary color**: `#345A5D` (from `tailwind.config.ts` primaryGreen)
- **Support email**: `agent@recoupable.com`
- **App URL**: `https://chat.recoupable.com`
- **App URL**: `https://chat.recoupable.dev`
- **Website**: `https://recoupable.com`
- **Social URLs**:
- X: `https://x.com/recoupai`
Expand Down
12 changes: 6 additions & 6 deletions agents.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: 'Programmatic agent onboarding — sign up and obtain API keys in o
Get a working API key in a single unauthenticated request:

```bash
curl -X POST "https://api.recoupable.com/api/agents/signup" \
curl -X POST "https://api.recoupable.dev/api/agents/signup" \
-H "Content-Type: application/json" \
-d '{"email": "agent+'$(date +%s)-$RANDOM'@recoupable.com"}'
```
Expand All @@ -29,15 +29,15 @@ That's it. Store `api_key`, pass it in the `x-api-key` header on every subsequen
**One-liner — sign up and export the key in one shot.** Drop this into your shell and you'll have `$RECOUP_API_KEY` ready to use on the next line:

```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)
```

Verify it worked:

```bash
curl -H "x-api-key: $RECOUP_API_KEY" https://api.recoupable.com/api/accounts/id
curl -H "x-api-key: $RECOUP_API_KEY" https://api.recoupable.dev/api/accounts/id
```
</Tip>

Expand All @@ -61,15 +61,15 @@ If you're building a human-facing integration and want the user to verify their
Step 1 — request a verification code:

```bash
curl -X POST "https://api.recoupable.com/api/agents/signup" \
curl -X POST "https://api.recoupable.dev/api/agents/signup" \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com"}'
```

Step 2 — submit the 6-digit code from the verification email:

```bash
curl -X POST "https://api.recoupable.com/api/agents/verify" \
curl -X POST "https://api.recoupable.dev/api/agents/verify" \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "code": "123456"}'
```
Expand All @@ -89,7 +89,7 @@ Response:
Pass the returned `api_key` in the `x-api-key` header on every authenticated request:

```bash
curl -X GET "https://api.recoupable.com/api/tasks" \
curl -X GET "https://api.recoupable.dev/api/tasks" \
-H "x-api-key: YOUR_API_KEY"
```

Expand Down
8 changes: 4 additions & 4 deletions authentication.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ API keys are the primary way to authenticate programmatic access to the Recoup A

### Creating an API Key

1. Navigate to [chat.recoupable.com/keys](https://chat.recoupable.com/keys)
1. Navigate to [chat.recoupable.dev/keys](https://chat.recoupable.dev/keys)
2. Enter a descriptive name (e.g. `"Production Server"`)
3. Click **Create API Key**

Expand All @@ -39,7 +39,7 @@ Copy your API key immediately — it is only shown once. Keys are stored as a se
Pass your key in the `x-api-key` header:

```bash
curl -X GET "https://api.recoupable.com/api/tasks" \
curl -X GET "https://api.recoupable.dev/api/tasks" \
-H "x-api-key: YOUR_API_KEY"
```

Expand All @@ -61,7 +61,7 @@ Org membership is determined by the account's [organizations](/api-reference/org
If you're building a frontend application that authenticates users via [Privy](https://privy.io), you can pass the user's Privy JWT as a Bearer token instead of an API key.

```bash
curl -X GET "https://api.recoupable.com/api/tasks" \
curl -X GET "https://api.recoupable.dev/api/tasks" \
-H "Authorization: Bearer YOUR_PRIVY_JWT"
```

Expand Down Expand Up @@ -112,4 +112,4 @@ Some endpoints accept an `organization_id` parameter. When provided, the API add

- API keys are **never stored in plaintext** — only an HMAC-SHA256 hash (keyed with your project secret) is persisted in the database
- **Never include `account_id` in your API key creation request** — the account is always derived from your authenticated credentials
- Rotate keys immediately if compromised via the [API Keys Management Page](https://chat.recoupable.com/keys)
- Rotate keys immediately if compromised via the [API Keys Management Page](https://chat.recoupable.dev/keys)
4 changes: 2 additions & 2 deletions cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ recoup whoami
```

<Tip>
Get an API key from the [API Keys page](https://chat.recoupable.com/keys) or use the [agent signup](/agents) for instant key generation.
Get an API key from the [API Keys page](https://chat.recoupable.dev/keys) or use the [agent signup](/agents) for instant key generation.
</Tip>

## Configuration

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `RECOUP_API_KEY` | Yes | — | Your Recoup API key |
| `RECOUP_API_URL` | No | `https://api.recoupable.com` | API base URL override |
| `RECOUP_API_URL` | No | `https://api.recoupable.dev` | API base URL override |

All commands support `--json` for machine-readable output and `--help` for usage info.

Expand Down
10 changes: 5 additions & 5 deletions content-agent.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@ Pass your own parameters directly to any primitive. Maximum creative control.

```bash
# Generate an image with your own prompt
curl -X POST https://api.recoupable.com/api/content/image \
curl -X POST https://api.recoupable.dev/api/content/image \
-H "x-api-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "A moody portrait in a dimly lit room, front-facing phone camera"}'

# Generate a video from that image
curl -X POST https://api.recoupable.com/api/content/video \
curl -X POST https://api.recoupable.dev/api/content/video \
-H "x-api-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"image_url": "IMAGE_URL_FROM_ABOVE", "prompt": "subtle breathing motion, nearly still"}'
Expand All @@ -49,7 +49,7 @@ Pass a template ID and the primitive fills in prompts, reference images, and sty

```bash
# Same image, but the template provides the prompt and reference images
curl -X POST https://api.recoupable.com/api/content/image \
curl -X POST https://api.recoupable.dev/api/content/image \
-H "x-api-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"template": "artist-caption-bedroom", "reference_image_url": "YOUR_FACE_IMAGE"}'
Expand Down Expand Up @@ -164,7 +164,7 @@ The **Recoup Content Agent** is a Slack bot that generates social-ready artist v
- `app_mentions:read` — receive @mention events
3. Under **Event Subscriptions**:
- Enable events
- Set the request URL to `https://api.recoupable.com/api/content-agent/slack`
- Set the request URL to `https://api.recoupable.dev/api/content-agent/slack`
- Subscribe to `app_mention` bot event
4. Install the app to your workspace

Expand All @@ -176,7 +176,7 @@ The **Recoup Content Agent** is a Slack bot that generates social-ready artist v
| `SLACK_CONTENT_SIGNING_SECRET` | API (Vercel) | Signing secret from Slack app **Basic Information** |
| `CONTENT_AGENT_CALLBACK_SECRET` | API + Tasks | Shared secret for callback authentication (generate a random string) |
| `RECOUP_API_KEY` | API + Tasks | Recoup API key for authenticating pipeline requests |
| `RECOUP_API_BASE_URL` | Tasks (Trigger.dev) | API base URL (e.g., `https://api.recoupable.com`) |
| `RECOUP_API_BASE_URL` | Tasks (Trigger.dev) | API base URL (e.g., `https://api.recoupable.dev`) |

#### 3. Verify

Expand Down
10 changes: 5 additions & 5 deletions credits.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Failed calls (4xx / 5xx) do **not** deduct credits. Deduction happens only after
## Check your balance

```bash
curl -sS https://api.recoupable.com/api/accounts/$ACCOUNT_ID/credits \
curl -sS https://api.recoupable.dev/api/accounts/$ACCOUNT_ID/credits \
-H "x-api-key: $RECOUP_API_KEY"
```

Expand Down Expand Up @@ -62,7 +62,7 @@ Recoup has two tiers. Both refill on a monthly cycle.
### Check your tier

```bash
curl -sS https://api.recoupable.com/api/accounts/$ACCOUNT_ID/subscription \
curl -sS https://api.recoupable.dev/api/accounts/$ACCOUNT_ID/subscription \
-H "x-api-key: $RECOUP_API_KEY"
```

Expand All @@ -76,10 +76,10 @@ You can purchase credits any time via [`POST /api/credits/sessions`](/api-refere
- **No card, or Stripe declines the saved card → Stripe Checkout fallback.** The response contains a Checkout `url` you open in the browser. When Stripe specifically declined a saved card, the response also includes a `declineReason` (e.g. `insufficient_funds`, `expired_card`) so you can explain *why* before sending the customer to update billing.

```bash
curl -sS -X POST https://api.recoupable.com/api/credits/sessions \
curl -sS -X POST https://api.recoupable.dev/api/credits/sessions \
-H "x-api-key: $RECOUP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"credits": 100, "successUrl": "https://chat.recoupable.com/credits/success"}'
-d '{"credits": 100, "successUrl": "https://chat.recoupable.dev/credits/success"}'
```

Full request/response schema at [Create Credits Top-Up Session](/api-reference/credits/sessions-create).
Expand All @@ -89,7 +89,7 @@ Full request/response schema at [Create Credits Top-Up Session](/api-reference/c
Before triggering a silent off-session charge, inspect the default payment method on file:

```bash
curl -sS https://api.recoupable.com/api/accounts/$ACCOUNT_ID/payment-method \
curl -sS https://api.recoupable.dev/api/accounts/$ACCOUNT_ID/payment-method \
-H "x-api-key: $RECOUP_API_KEY"
```

Expand Down
4 changes: 2 additions & 2 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -411,12 +411,12 @@
},
{
"anchor": "Website",
"href": "https://recoupable.com",
"href": "https://recoupable.dev",
"icon": "globe"
},
{
"anchor": "Blog",
"href": "https://research.recoupable.com/",
"href": "https://research.recoupable.dev/",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Custom agent: Flag AI Slop and Fabricated Changes

PR description claims the Blog anchor was changed to 'recoupable.dev/blog', but the actual code changes it to 'https://research.recoupable.dev/' instead — the opposite direction and contradicting the stated intent.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs.json, line 419:

<comment>PR description claims the Blog anchor was changed to 'recoupable.dev/blog', but the actual code changes it to 'https://research.recoupable.dev/' instead — the opposite direction and contradicting the stated intent.</comment>

<file context>
@@ -416,7 +416,7 @@
         {
           "anchor": "Blog",
-          "href": "https://recoupable.dev/blog",
+          "href": "https://research.recoupable.dev/",
           "icon": "newspaper"
         }
</file context>
Suggested change
"href": "https://research.recoupable.dev/",
+ "href": "https://recoupable.dev/blog",

"icon": "newspaper"
}
]
Expand Down
10 changes: 5 additions & 5 deletions index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ The skill verifies your email, issues an API key, and prints a memory block for
Get a working API key in a single unauthenticated request. No dashboard, no browser, no human in the loop.

```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 All @@ -44,19 +44,19 @@ This is where record labels, musicians, and managers start to build on Recoup AI
All API requests should be made to:

```bash
https://api.recoupable.com/api
https://api.recoupable.dev/api
```

## Authentication

Most API endpoints are authenticated using an API key passed in the `x-api-key` header. The only exceptions are the [agent onboarding](/agents) endpoints — [`POST /api/agents/signup`](/api-reference/agents/signup) and [`POST /api/agents/verify`](/api-reference/agents/verify) — which are intentionally unauthenticated so agents can obtain their first API key.

1. Navigate to the [API Keys Management Page](https://chat.recoupable.com/keys)
1. Navigate to the [API Keys Management Page](https://chat.recoupable.dev/keys)
2. Sign in with your account
3. Create a new API key and copy it immediately (it's only shown once)

```bash
curl -X GET "https://api.recoupable.com/api/artists?accountId=YOUR_ACCOUNT_ID" \
curl -X GET "https://api.recoupable.dev/api/artists?accountId=YOUR_ACCOUNT_ID" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY"
```
Expand Down Expand Up @@ -186,7 +186,7 @@ If you are an LLM navigating these docs, here is a summary of the endpoint struc
- **`/api/content-agent/*`** — Content agent webhooks (webhook, callback)
- **`/api/agents/*`** — Agent onboarding (signup, verify) — no auth required

Base URL: `https://api.recoupable.com/api`
Base URL: `https://api.recoupable.dev/api`

[OpenAPI Specification](https://github.com/sweetmantech/docs/blob/main/api-reference/openapi.json)

Expand Down
6 changes: 3 additions & 3 deletions mcp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ description: "Connect AI agents to the Recoup platform using the Model Context P
The Recoup API exposes an [MCP](https://modelcontextprotocol.io/) server that AI agents can connect to for tool use. The server is available at:

```
https://api.recoupable.com/mcp
https://api.recoupable.dev/mcp
```

## Authentication

All MCP tools require an API key. Pass it as a Bearer token in the `Authorization` header when connecting to the MCP server.

You can get a key from the [API Keys page](https://chat.recoupable.com/keys).
You can get a key from the [API Keys page](https://chat.recoupable.dev/keys).

## Tools

Expand Down Expand Up @@ -46,7 +46,7 @@ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";

const transport = new StreamableHTTPClientTransport(
new URL("https://api.recoupable.com/mcp"),
new URL("https://api.recoupable.dev/mcp"),
{ requestInit: { headers: { Authorization: `Bearer ${RECOUP_API_KEY}` } } },
);

Expand Down
16 changes: 8 additions & 8 deletions quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ description: "Get a Recoup API key in one call and make your first request — n
Sign up your agent and get an API key in a single API call — no dashboard, no browser, no human in the loop. This one-liner signs up a fresh `agent+` address and exports the returned key to `$RECOUP_API_KEY`:

```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)
```

Verify it worked:

```bash
curl -H "x-api-key: $RECOUP_API_KEY" https://api.recoupable.com/api/accounts/id
curl -H "x-api-key: $RECOUP_API_KEY" https://api.recoupable.dev/api/accounts/id
```

<Tip>
Expand All @@ -30,7 +30,7 @@ For the full signup + email-verification flow, see the [Agents guide](/agents).
All API requests should be made to:

```bash
https://api.recoupable.com/api
https://api.recoupable.dev/api
```

## Your First Request
Expand All @@ -40,7 +40,7 @@ Once you have an API key, include it in the `x-api-key` header on every request.
<CodeGroup>

```bash cURL
curl -X GET "https://api.recoupable.com/api/tasks" \
curl -X GET "https://api.recoupable.dev/api/tasks" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY"
```
Expand All @@ -54,14 +54,14 @@ headers = {
}

response = requests.get(
"https://api.recoupable.com/api/tasks",
"https://api.recoupable.dev/api/tasks",
headers=headers
)
print(response.json())
```

```javascript JavaScript
const response = await fetch("https://api.recoupable.com/api/tasks", {
const response = await fetch("https://api.recoupable.dev/api/tasks", {
headers: {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY",
Expand All @@ -87,7 +87,7 @@ interface TasksResponse {
tasks: Task[];
}

const response = await fetch("https://api.recoupable.com/api/tasks", {
const response = await fetch("https://api.recoupable.dev/api/tasks", {
headers: {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY",
Expand Down Expand Up @@ -126,7 +126,7 @@ For full documentation on the Tasks API including filtering options, see the [Ta

If you're a human building an integration, you can also create API keys from the web console instead of the signup endpoint:

1. Navigate to the [Recoup API Keys Management Page](https://chat.recoupable.com/keys)
1. Navigate to the [Recoup API Keys Management Page](https://chat.recoupable.dev/keys)
2. Sign in with your account
3. Enter a descriptive name (e.g. "Production Server")
4. Click **Create API Key**
Expand Down
Loading