---
title: "Create connector"
method: POST
path: "/api/connectors"
---

# Create connector

`POST /api/connectors`

## Request

- Base URL: `https://reduck.ai`
- URL: `https://reduck.ai/api/connectors`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Store a new connector for a website, beside any the site already holds for that profile. Every cookie has to belong to that host. A connector gets its account only from a probe script, so a second connector for the same site and profile needs a label to tell it apart.

## Request body

- object
  - `host` string, required
  - `profile` string: The end-user this connector is kept for, in your own naming (for example your user id). Omit, or leave empty, for your own account's connectors. Only an API key or an OAuth token can read or create an end-user's connector.
  - `label` string: A name for the connector, to tell it apart from the site's other connectors.
  - `cookies` object[], required
    - `name` string, required
    - `value` string, required
    - `domain` string, required
    - `path` string, required
    - `expires` number, required
    - `httpOnly` boolean, required
    - `secure` boolean, required
    - `sameSite` 'Strict' | 'Lax' | 'None'

## Response `201`

Created

- Connector
  - `id` string, required
  - `host` string, required: The website, bare: no scheme, no leading "www.", e.g. "linkedin.com". For an SSO connector this is the identity provider, e.g. "accounts.google.com".
  - `profile_id` string, required: The end-user this connector is kept for, as the developer named them. Empty for the account's own connectors.
  - `account` string, nullable, required: The identity a probe script or the SSO sign-in reported (usually an email). Null until one has; it is never set by hand.
  - `label` string, nullable, required: The name a person gave this connector, to tell it apart from the host's others.
  - `is_sso` boolean, required: True when this is an identity-provider session usable for "Continue with <provider>".
  - `sso_account` string, nullable, required: For a connector created through an SSO connector: that SSO's account (email). The reference autoreconnect follows. Null otherwise.
  - `created_at` string, required
  - `updated_at` string, required

## Other responses

- `400`: Invalid request
- `401`: Not authenticated
- `403`: An end-user's connector is created with an API key or an OAuth token, not from a browser session.
- `409`: The site already has a connector with that label, or one with neither an account nor a label, for this profile.
- `503`: This environment stores no connectors.

---

[API](https://skmtc.dev/reduck/apis/reduck-api.md) · [All operations](https://skmtc.dev/reduck/apis/reduck-api/llms.txt) · [OpenAPI document](https://skmtc.dev/reduck/apis/reduck-api/revisions/a573b91206d6?raw)
