no_connection

No active channel connection for the requested provider in this workspace.

HTTP 404The resource was not found.

When it fires

You called a channel-specific endpoint (e.g. GET /v1/channels/airbnb/listings or GET /v1/channels/booking/properties) but the workspace has not connected an account for that channel yet.

Response shape

Every Repull error follows the same envelope. The code is stable and safe to switch on.

{
  "error": {
    "code": "no_connection",
    "message": "<human-readable explanation of what went wrong>",
    "docs_url": "https://repull.dev/docs/errors/no_connection"
  }
}

How to fix

  1. Confirm the channel is connected at https://repull.dev/dashboard/connections.
  2. If it is not, start a Connect session: `POST /v1/connect/{provider}` with a `redirectUrl` and walk the user through the returned URL. See the Connect docs.
  3. For credential-based channels (Booking.com, VRBO), provide the credentials in the Connect call directly.
  4. Once the connection is `active`, retry the original request.

Examples

curl

# Bad: no Airbnb connection in this workspace
curl https://api.repull.dev/v1/channels/airbnb/listings \
  -H "Authorization: Bearer sk_live_YOUR_KEY"

# {
#   "error": {
#     "code": "no_connection",
#     "message": "No active Airbnb connection for this workspace."
#   }
# }

# Recovery: start a Connect session
curl -X POST https://api.repull.dev/v1/connect/airbnb \
  -H "Authorization: Bearer sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"redirectUrl": "https://your-app.com/callback"}'

TypeScript

import { Repull, RepullError } from '@repull/sdk'

const repull = new Repull({ apiKey: process.env.REPULL_API_KEY! })

try {
  await repull.channels.airbnb.listings.list()
} catch (err) {
  if (err instanceof RepullError && err.code === 'no_connection') {
    // Trigger the connect flow in your UI
    const session = await repull.connect.airbnb.create({
      redirectUrl: 'https://your-app.com/callback',
    })
    return { needsConnect: true, redirectTo: session.url }
  }
  throw err
}

If you're an AI agent

The user has not connected this channel yet. Stop, do not retry. Tell the user they need to connect the channel first, and offer them the Connect flow URL (POST /v1/connect/{provider}).

Hit an error that isn't covered? Email hello@repull.dev with the request id from the response headers.

AI