---
title: "Start connecting a social account"
method: POST
path: "/api/v1/profiles/{profileId}/connect"
tags: ["Profiles"]
---

# Start connecting a social account

`POST /api/v1/profiles/{profileId}/connect`

## Request

- Base URL: `https://app.tryadeli.com`
- URL: `https://app.tryadeli.com/api/v1/profiles/{profileId}/connect`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/adeli/apis/adeli-api/docs/api/v1/profiles/:profileId/connect/post.ts> (a function with typed inputs; its response is checked against the schema)

Returns a URL for your customer to authorize the account on the platform.

## Path parameters

- `profileId` string, uuid, required

## Request body

- object
  - `platform` 'instagram' | 'tiktok' | 'tiktok_ads' | 'facebook' | 'meta_ads' | 'whatsapp' | 'youtube' | 'x' | 'bluesky' | 'linkedin' | 'linkedin_ads', required
  - `redirectUrl` string, uri
  - `authMethod` 'unified_login' | 'instagram_login' | 'facebook_login'
  - `handle` string

## Response `201`

Success

- object
  - `id` string, uuid, required
  - `profileId` string, uuid, required
  - `platform` 'instagram' | 'tiktok' | 'tiktok_ads' | 'facebook' | 'meta_ads' | 'whatsapp' | 'youtube' | 'x' | 'bluesky' | 'linkedin' | 'linkedin_ads', required
  - `status` 'pending_authorization' | 'processing' | 'pending_page_selection' | 'connected' | 'failed' | 'expired', required
  - `accountId` string, uuid, nullable, required
  - `expiresAt` string, date-time, required
  - `completedAt` string, date-time, nullable, required
  - `error` object, nullable, required
    - `code` string, required
  - `authMethod` 'unified_login' | 'instagram_login' | 'facebook_login'
  - `authUrl` string, uri

## Other responses

- `400`: Invalid request or provider failure
- `401`: Missing or invalid API key
- `402`: Billing is required: a card is needed to connect more accounts or use X (`billing_required`, `x_billing_required`), or the workspace has used its free monthly allowance (`usage_limit_reached`)
- `404`: Profile, account, or object not found
- `409`: The request conflicts with existing state
- `422`: The connected account cannot perform this operation
- `502`: Invalid request or provider failure

---

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