---
title: "Instagram Oauth Start"
method: POST
path: "/oauth/instagram/start"
tags: ["oauth"]
---

# Instagram Oauth Start

`POST /oauth/instagram/start`

## Request

- Base URL: `https://api.reeldrop.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.reeldrop.io/oauth/instagram/start`
- Auth: HTTP bearer

Return the Instagram Login OAuth URL.

Accepts the caller's usual optional `?workspace_id=` — connecting an
account always targets a specific workspace (defaulting to personal),
never "the user" in the abstract, since each workspace holds at most one
connected Instagram account.

## Query parameters

- `return_to` string, nullable: Native-app deep link (reeldrop:// or exp://) for the callback to redirect back to. Omit for the web flow.
- `switch_account` boolean: Ask Instagram to prompt for credentials even on a first connect, so the user can sign in to a different Instagram account than the one the browser is logged into. The frontend sends this on the retry after an `ig_account_linked_elsewhere` refusal.
- `workspace_id` string, nullable: Workspace this request applies to. Defaults to the caller's personal workspace. Must be one the caller belongs to.

## Response `200`

Successful Response

- OAuthStartResponse
  - `oauth_url` string, required
  - `instagram_url` string, required

## Other responses

- `422`: Validation Error

---

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