### Content Requirements Source: https://docs.upload-post.com/api/reference/index Specifications and guidelines for photo and video uploads. ```APIDOC ## Photo Requirements ### Description Comprehensive format specifications, file size limits, aspect ratios, and technical requirements for photo uploads across all supported platforms. ### Covers Instagram, TikTok, Facebook, X (Twitter), LinkedIn, Threads, Pinterest, Reddit, Bluesky ### Details (Specific requirements vary by platform and are detailed in the full documentation.) ## Video Requirements ### Description Detailed video format requirements, codec specifications, resolution limits, and encoding guidelines for optimal compatibility across platforms. ### Covers TikTok, Instagram, YouTube, LinkedIn, Facebook, X (Twitter), Threads, Pinterest, Bluesky ### Includes FFmpeg re-encoding solutions for compatibility issues ### Details (Specific requirements vary by platform and are detailed in the full documentation. Guidance on using FFmpeg for re-encoding is provided.) ``` -------------------------------- ### Platform Integration APIs Source: https://docs.upload-post.com/api/reference/index APIs for retrieving platform-specific information needed for posting or analytics. ```APIDOC ## Analytics API ### Description Retrieve detailed analytics and performance metrics for your social media profiles across connected platforms. ### Method GET ### Endpoint /api/analytics/{profile_username} ### Parameters #### Path Parameters - **profile_username** (string) - Required - The username of the social media profile to retrieve analytics for. #### Query Parameters - **platform** (string) - Required - The social media platform (e.g., "Instagram", "TikTok"). - **start_date** (string) - Optional - Start date for the analytics period (YYYY-MM-DD). - **end_date** (string) - Optional - End date for the analytics period (YYYY-MM-DD). ### Response #### Success Response (200) - **platform** (string) - The social media platform. - **profile_username** (string) - The username of the profile. - **metrics** (object) - Performance metrics. - **followers** (integer) - Total number of followers. - **impressions** (integer) - Total impressions. - **reach** (integer) - Total reach. - **profile_views** (integer) - Total profile views. - **time_series** (array of objects) - Daily or weekly metrics. - **date** (string) - The date. - **followers_gained** (integer) - Followers gained on this date. - **impressions** (integer) - Impressions on this date. #### Response Example ```json { "platform": "Instagram", "profile_username": "example_user", "metrics": { "followers": 10000, "impressions": 50000, "reach": 25000, "profile_views": 1000, "time_series": [ { "date": "2023-10-26", "followers_gained": 10, "impressions": 1500 } ] } } ``` ## Get Facebook Pages API ### Description Retrieve all Facebook pages accessible through connected accounts. Required for posting to specific Facebook pages. ### Method GET ### Endpoint /api/uploadposts/facebook/pages ### Response #### Success Response (200) - **pages** (array of objects) - List of Facebook pages. - **id** (string) - The unique ID of the Facebook page. - **name** (string) - The name of the Facebook page. - **profile_picture_url** (string) - URL to the page's profile picture. - **account_id** (string) - Associated account ID. #### Response Example ```json { "pages": [ { "id": "1234567890", "name": "Example Business Page", "profile_picture_url": "https://example.com/pic.jpg", "account_id": "acc_abcdefg" } ] } ``` ## Get LinkedIn Pages API ### Description Fetch LinkedIn company pages associated with your connected accounts. Essential for business page posting. ### Method GET ### Endpoint /api/uploadposts/linkedin/pages ### Response #### Success Response (200) - **pages** (array of objects) - List of LinkedIn company pages. - **organizational_urn** (string) - The URN of the LinkedIn organization. - **name** (string) - The name of the company page. - **vanity_url** (string) - The vanity URL of the page. - **logo_url** (string) - URL to the page's logo. #### Response Example ```json { "pages": [ { "organizational_urn": "urn:li:organization:12345678", "name": "Example Corp", "vanity_url": "https://www.linkedin.com/company/examplecorp", "logo_url": "https://example.com/logo.png" } ] } ``` ## Get Pinterest Boards API ### Description List all Pinterest boards (public and secret) from connected accounts. Required for targeting specific boards when pinning content. ### Method GET ### Endpoint /api/uploadposts/pinterest/boards ### Response #### Success Response (200) - **boards** (array of objects) - List of Pinterest boards. - **id** (string) - The unique ID of the Pinterest board. - **name** (string) - The name of the Pinterest board. - **account_id** (string) - The associated Pinterest account ID. #### Response Example ```json { "boards": [ { "id": "board_1a2b3c4d", "name": "Inspiration", "account_id": "pinterest_user_xyz" } ] } ``` ``` -------------------------------- ### User Management APIs Source: https://docs.upload-post.com/api/reference/index APIs for managing user profiles and generating/validating JWTs for integrations. ```APIDOC ## User Profiles API ### Description Manage user profiles and generate JWTs for linking social accounts when integrating Upload-Post into your own platform. Essential for white-label integrations and multi-user applications. ### Method POST ### Endpoint /api/uploadposts/users ### Parameters #### Request Body - **username** (string) - Required - The username for the new user profile. - **email** (string) - Required - The email address for the user profile. ### Response #### Success Response (200) - **user_id** (string) - The unique identifier for the created user. - **username** (string) - The username. - **email** (string) - The email address. #### Response Example ```json { "user_id": "user_qwertyuiop", "username": "new_integration_user", "email": "user@example.com" } ``` ## Retrieve User Profiles API ### Description Retrieve a list of existing user profiles. ### Method GET ### Endpoint /api/uploadposts/users ### Response #### Success Response (200) - **users** (array of objects) - List of user profiles. - **user_id** (string) - The unique identifier for the user. - **username** (string) - The username. - **email** (string) - The email address. #### Response Example ```json { "users": [ { "user_id": "user_qwertyuiop", "username": "new_integration_user", "email": "user@example.com" } ] } ``` ## Delete User Profile API ### Description Delete a user profile. ### Method DELETE ### Endpoint /api/uploadposts/users ### Parameters #### Request Body - **user_id** (string) - Required - The ID of the user profile to delete. ### Response #### Success Response (200) - **message** (string) - Confirmation message of deletion. #### Response Example ```json { "message": "User profile deleted successfully." } ``` ## Generate JWT API ### Description Generate a JSON Web Token (JWT) for a user, used for authentication when linking social accounts. ### Method POST ### Endpoint /api/uploadposts/users/generate-jwt ### Parameters #### Request Body - **user_id** (string) - Required - The ID of the user for whom to generate the JWT. ### Response #### Success Response (200) - **token** (string) - The generated JWT. #### Response Example ```json { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." } ``` ## Validate JWT API ### Description Validate a JSON Web Token (JWT). ### Method POST ### Endpoint /api/uploadposts/users/validate-jwt ### Parameters #### Request Body - **token** (string) - Required - The JWT to validate. ### Response #### Success Response (200) - **is_valid** (boolean) - Indicates if the token is valid. - **user_id** (string, optional) - The user ID associated with the token if valid. #### Response Example ```json { "is_valid": true, "user_id": "user_qwertyuiop" } ``` ``` -------------------------------- ### API Authentication and Base URL Source: https://docs.upload-post.com/api/reference/index Information on how to authenticate your API requests and the base URL for all API calls. ```APIDOC ## API Setup ### Description This section covers the necessary steps to set up and authenticate your API requests, including how to obtain an API key and the base URL for all API interactions. ### Authentication All requests require an API key to be included in the `Authorization` header. The format is `Apikey your-api-key-here`. ### Base URL The base URL for all API endpoints is `https://api.upload-post.com/api`. ### Rate Limits The free tier of the service includes a limit of 10 uploads per month. ### Content Guidelines Before uploading any content, please review the platform-specific requirements outlined in the Content Guidelines. ``` -------------------------------- ### Core Upload APIs Source: https://docs.upload-post.com/api/reference/index Endpoints for uploading various content types to multiple social media platforms. ```APIDOC ## Video Upload API ### Description Upload videos to TikTok, Instagram, LinkedIn, YouTube, Facebook, X (Twitter), Threads, Pinterest, and Bluesky. Supports both synchronous and asynchronous uploads with scheduling capabilities. ### Method POST ### Endpoint /api/upload_videos ### Parameters #### Query Parameters - **async_upload** (boolean) - Optional - Set to `true` for asynchronous uploads. #### Request Body - **platforms** (array of strings) - Required - List of platforms to upload to (e.g., ["TikTok", "Instagram"]) - **video_file** (file) - Required - The video file to upload. - **caption** (string) - Optional - Text caption for the post. - **schedule_time** (string) - Optional - ISO 8601 formatted timestamp for scheduling. ### Request Example ```json { "platforms": ["TikTok", "Instagram"], "caption": "Check out this new video!", "schedule_time": "2023-12-31T23:59:59Z" } ``` ### Response #### Success Response (200) - **upload_id** (string) - Unique identifier for the upload job. - **status** (string) - Current status of the upload (e.g., "processing", "completed", "failed"). #### Response Example ```json { "upload_id": "upload_12345abcde", "status": "processing" } ``` ## Photo Upload API ### Description Upload photos and image carousels to LinkedIn, Facebook, X (Twitter), Instagram, TikTok, Threads, Pinterest, and Bluesky. Perfect for visual content distribution across platforms. ### Method POST ### Endpoint /api/upload_photos ### Parameters #### Query Parameters - **async_upload** (boolean) - Optional - Set to `true` for asynchronous uploads. #### Request Body - **platforms** (array of strings) - Required - List of platforms to upload to (e.g., ["Facebook", "X (Twitter)"]) - **photos** (array of files) - Required - Array of photo files to upload. For carousels, order matters. - **caption** (string) - Optional - Text caption for the post. - **schedule_time** (string) - Optional - ISO 8601 formatted timestamp for scheduling. ### Request Example ```json { "platforms": ["Facebook", "X (Twitter)"], "caption": "Beautiful sunset!" } ``` ### Response #### Success Response (200) - **upload_id** (string) - Unique identifier for the upload job. - **status** (string) - Current status of the upload (e.g., "processing", "completed", "failed"). #### Response Example ```json { "upload_id": "upload_67890fghij", "status": "completed" } ``` ## Text Upload API ### Description Create and distribute text-only posts across social platforms. Ideal for announcements, updates, and text-based content. ### Method POST ### Endpoint /api/upload_text ### Parameters #### Query Parameters - **async_upload** (boolean) - Optional - Set to `true` for asynchronous uploads. #### Request Body - **platforms** (array of strings) - Required - List of platforms to upload to (e.g., ["X (Twitter)", "Threads"]) - **text** (string) - Required - The text content of the post. - **schedule_time** (string) - Optional - ISO 8601 formatted timestamp for scheduling. ### Request Example ```json { "platforms": ["X (Twitter)", "Threads"], "text": "Exciting news coming soon!" } ``` ### Response #### Success Response (200) - **upload_id** (string) - Unique identifier for the upload job. - **status** (string) - Current status of the upload (e.g., "processing", "completed", "failed"). #### Response Example ```json { "upload_id": "upload_abcde12345", "status": "processing" } ``` ``` -------------------------------- ### Upload Management APIs Source: https://docs.upload-post.com/api/reference/index APIs for managing and tracking the status and history of uploads. ```APIDOC ## Upload Status API ### Description Track the progress and results of asynchronous uploads initiated with `async_upload=true`. Essential for monitoring long-running upload operations. ### Method GET ### Endpoint /api/uploadposts/status ### Parameters #### Query Parameters - **upload_id** (string) - Required - The ID of the upload job to track. ### Response #### Success Response (200) - **upload_id** (string) - The identifier for the upload job. - **status** (string) - The current status of the upload (e.g., "pending", "in_progress", "completed", "failed"). - **results** (array of objects) - Platform-specific results for the upload. - **platform** (string) - The social media platform. - **status** (string) - Status for this platform (e.g., "success", "failed"). - **message** (string) - Detailed message or error information. #### Response Example ```json { "upload_id": "upload_12345abcde", "status": "completed", "results": [ { "platform": "TikTok", "status": "success", "message": "Video uploaded successfully." }, { "platform": "Instagram", "status": "failed", "message": "Video too long for platform constraints." } ] } ``` ## Upload History API ### Description Retrieve a paginated history of all your past uploads across platforms. Includes detailed metadata, success/failure status, and platform-specific information. ### Method GET ### Endpoint /api/uploadposts/history ### Parameters #### Query Parameters - **page** (integer) - Optional - Page number for pagination (defaults to 1). - **limit** (integer) - Optional - Number of items per page (defaults to 20). - **platform** (string) - Optional - Filter by a specific platform. - **status** (string) - Optional - Filter by upload status (e.g., "success", "failed"). ### Response #### Success Response (200) - **uploads** (array of objects) - List of past uploads. - **upload_id** (string) - Unique identifier for the upload. - **timestamp** (string) - Timestamp of the upload. - **type** (string) - Type of content uploaded (e.g., "video", "photo", "text"). - **status** (string) - Overall status of the upload. - **platform_details** (array of objects) - Details for each platform. - **platform** (string) - The social media platform. - **status** (string) - Status for this platform. - **total_uploads** (integer) - Total number of uploads matching the query. - **current_page** (integer) - The current page number. - **total_pages** (integer) - The total number of pages. #### Response Example ```json { "uploads": [ { "upload_id": "upload_12345abcde", "timestamp": "2023-10-27T10:00:00Z", "type": "video", "status": "completed", "platform_details": [ { "platform": "TikTok", "status": "success" }, { "platform": "Instagram", "status": "failed" } ] } ], "total_uploads": 50, "current_page": 1, "total_pages": 5 } ``` ## Schedule Management API ### Description Schedule posts for future publication across supported platforms. Manage your content calendar programmatically. ### Method Various (e.g., POST, PUT, DELETE) ### Endpoint Various scheduling endpoints (details depend on specific action) ### Parameters (Specific parameters depend on the scheduling action. Typically includes content details, platform, and `schedule_time`.) ### Response (Specific responses depend on the scheduling action.) ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.