# Social Media API Registration & Approval Checklist

This document details the registration requirements, developer portal settings, OAuth redirect URIs, and scopes for each supported social platform.

---

## 1. TikTok (Content Posting API v2)

- **Developer Portal**: [https://developers.tiktok.com](https://developers.tiktok.com)
- **App Type**: Web App
- **Product to Add**: **Content Posting API**
- **Redirect URI**:
  ```
  https://yourdomain.com/accounts/callback/tiktok
  ```
- **Required Scopes**:
  - `user.info.basic`
  - `video.upload`
  - `video.publish`
- **Workflows Supported by TypeStudio**:
  1. **Direct Post**: Automatically uploads and posts video directly to your profile.
  2. **Inbox/Draft Upload**: If your app is in development or awaiting direct-post review, the video is safely uploaded to your TikTok inbox/drafts for one-tap publishing on your phone.
- **Verification Note**: Direct posting requires submitting your app for TikTok's creator posting audit. Until audited, use the draft workflow or test accounts registered in the developer console.

---

## 2. Meta (Facebook Pages & Instagram Professional)

- **Developer Portal**: [https://developers.facebook.com](https://developers.facebook.com)
- **App Type**: Business
- **Products to Add**: **Facebook Login for Business** and **Instagram Graph API**
- **Valid OAuth Redirect URIs**:
  ```
  https://yourdomain.com/accounts/callback/facebook
  https://yourdomain.com/accounts/callback/instagram
  ```
- **Required Scopes (Facebook)**:
  - `pages_show_list`
  - `pages_read_engagement`
  - `pages_manage_posts`
  - `publish_video`
- **Required Scopes (Instagram)**:
  - `instagram_basic`
  - `instagram_content_publish`
  - `pages_show_list`
- **Account Requirement**:
  - Instagram publishing requires an **Instagram Professional (Creator or Business) Account** linked to a Facebook Page you manage. Personal profiles do not support automated API publishing.

---

## 3. YouTube (Google Data API v3)

- **Developer Portal**: [https://console.cloud.google.com](https://console.cloud.google.com)
- **API to Enable**: **YouTube Data API v3**
- **Credentials**: OAuth 2.0 Client ID (Web Application)
- **Authorized Redirect URIs**:
  ```
  https://yourdomain.com/accounts/callback/youtube
  ```
- **Required Scopes**:
  - `https://www.googleapis.com/auth/youtube.upload`
  - `https://www.googleapis.com/auth/youtube.readonly`
- **Quota & Verification**:
  - Default free quota: 10,000 units/day (a video upload uses ~1,600 units, allowing ~6 uploads per day on the free quota).
  - Unverified developer apps can upload videos set to `unlisted` or `private`. For public videos, verify the Google Cloud project in the OAuth consent screen.

---

## 4. X / Twitter (API v2)

- **Developer Portal**: [https://developer.x.com](https://developer.x.com)
- **App Setup**: User Authentication Settings (OAuth 2.0 with PKCE)
- **Type of App**: Web App
- **Callback / Redirect URL**:
  ```
  https://yourdomain.com/accounts/callback/twitter
  ```
- **Required Scopes**:
  - `tweet.read`
  - `tweet.write`
  - `users.read`
  - `offline.access`
- **Pricing & Quota Note**:
  - Video uploads on X via API require access to the media endpoint. Under current X API policies, free tier accounts may have restricted media upload access. TypeStudio detects tier limits and logs actionable status messages if media endpoints require an upgraded access level.

