# MCP tool reference

- [MCP tool reference](https://sosoapi.ai/docs/mcp): Find tool inputs, outputs, profiles and local or hosted availability.
- [Get user profile](https://sosoapi.ai/docs/mcp/get-user-profile): MCP: Get user profile. Read the signed-in user's own profile (display name, timezone, avatar, theme); profile is null until one exists.
- [Update user profile](https://sosoapi.ai/docs/mcp/update-user-profile): MCP: Update user profile. Change the signed-in user's own profile (display_name, timezone, avatar_url, theme). Send only the fields to change.
- [Sign avatar upload](https://sosoapi.ai/docs/mcp/sign-avatar-upload): MCP: Sign avatar upload. Get a signed URL for uploading a new avatar image for the signed-in user (filename and content_type required). Does not change the profile by itself.
- [List API keys](https://sosoapi.ai/docs/mcp/list-api-keys): MCP: List API keys. List the user's API keys (name, last 4 characters, status, expiry, lineage); set include_authority to also get each key's capabilities and Workspace limit. Secrets are never returned. Needs the Manage API keys grant; a PAT cannot use it.
- [Create API key](https://sosoapi.ai/docs/mcp/create-api-key): MCP: Create API key. Create a personal access key with chosen capabilities (agent:operate, agent:publish, agent:engage), an optional workspace_ids limit and a lifetime of up to 365 days; the secret is returned once and cannot be read again. An agent can grant only what its own authorization holds, for at most 30 days, and the key stops working when that grant ends. Needs the Manage API keys grant; a PAT cannot use it.
- [Extend API key](https://sosoapi.ai/docs/mcp/extend-api-key): MCP: Extend API key. Set a later expiry (expires_at) on an API key identified by id: at most 365 days from now, or 30 for a key an agent created. An agent can extend only keys its own grant created. Needs the Manage API keys grant.
- [Renew API key](https://sosoapi.ai/docs/mcp/renew-api-key): MCP: Renew API key. Create a successor for an API key (id) with a new secret returned once and the same capabilities and Workspace limit, optionally a new name or lifetime (365 days at most, 30 for an agent-created key). The original key is not revoked. Needs the Manage API keys grant.
- [Revoke API key](https://sosoapi.ai/docs/mcp/revoke-api-key): MCP: Revoke API key. Revoke an API key by id so it stops working immediately; an already-revoked key reports already_revoked. An agent can revoke only keys its own grant created. Needs the Manage API keys grant.
- [Get billing status](https://sosoapi.ai/docs/mcp/get-billing-status): MCP: Get billing status. Read the user's billing plan, payment state, current cycle dates and quota usage (successful publishes, pending scheduled posts, connected accounts). Check it before large scheduling runs.
- [Get commercial access](https://sosoapi.ai/docs/mcp/get-commercial-access): MCP: Get commercial access. Read plan and quota facts for one Workspace's billing account, plus its commercial_access_mode (off, shadow or enforce).
- [Get Organization context](https://sosoapi.ai/docs/mcp/get-organization-context): MCP: Get Organization context. Read the live map of your Organizations, their Workspaces and Channels with ids and roles. Use it when Organization or Channel ids are needed. For Workspace posting, reuse a returned Workspace id; do not also read workspace context.
- [Create Workspace](https://sosoapi.ai/docs/mcp/create-workspace): MCP: Create Workspace. Create a Workspace in an Organization you own or administer. Pass organization_id when you belong to multiple Organizations. Use the returned id for your next calls: do not assume the new Workspace becomes the active one.
- [Get Workspace context](https://sosoapi.ai/docs/mcp/get-workspace-context): MCP: Get Workspace context. List the Workspaces the signed-in user belongs to and which one is active. Use this when workspace_id is unknown; reuse live context instead of repeating both context reads. The active Workspace it reports is the selection a person made in the web app, not a default for your calls: pass workspace_id explicitly. It is not purely a read: for an account with no Workspace it creates the first one.
- [Update Workspace](https://sosoapi.ai/docs/mcp/update-workspace): MCP: Update Workspace. Rename a Workspace or change its slug. Workspace owner only.
- [List organizations](https://sosoapi.ai/docs/mcp/list-organizations): MCP: List organizations. List the Organizations the signed-in user belongs to, with the ids that Organization-scoped tools take as organization_id.
- [List organization connections](https://sosoapi.ai/docs/mcp/list-organization-connections): MCP: List organization connections. List an Organization's provider connections (Meta, Instagram, Threads, YouTube) and their status. Needs organization_id.
- [Review organization connection](https://sosoapi.ai/docs/mcp/review-organization-connection): MCP: Review organization connection. Read the provider accounts and pages discovered by one pending connection operation (operation_id) so they can be reviewed. Read-only: a human confirms the connection in the web app.
- [List organization channels](https://sosoapi.ai/docs/mcp/list-organization-channels): MCP: List organization channels. List an Organization's channels (connected provider accounts) and which Workspace each is attached to.
- [Preview channel move](https://sosoapi.ai/docs/mcp/preview-organization-channel-move): MCP: Preview channel move. Dry run: check whether a channel can move to another Workspace and list what blocks it. Changes nothing.
- [List Workspace members](https://sosoapi.ai/docs/mcp/list-workspace-members): MCP: List Workspace members. List a Workspace's members and its pending invitations.
- [Submit feedback](https://sosoapi.ai/docs/mcp/submit-feedback): MCP: Submit feedback. Send product feedback (type bug, feature or general; up to 4,000 characters) to the SosoAPI team on the user's behalf. Use only when the user asks.
- [Get notification preferences](https://sosoapi.ai/docs/mcp/get-notification-preferences): MCP: Get notification preferences. Read the user's notification settings (currently whether an email is sent when a post fails).
- [Update notification preferences](https://sosoapi.ai/docs/mcp/update-notification-preferences): MCP: Update notification preferences. Change the user's notification settings (email_post_failed on or off).
- [List inbox notifications](https://sosoapi.ai/docs/mcp/list-inbox-notifications): MCP: List inbox notifications. Read the user's in-app inbox, newest first (up to 50), optionally only unread or of one kind.
- [List connected accounts](https://sosoapi.ai/docs/mcp/list-connected-accounts): MCP: List connected accounts. List the social accounts (Instagram, Threads, Facebook, YouTube) connected to a Workspace, with connection health and capability facts. Use their ids as social_account_id when scheduling or commenting. Pass workspace_id: a request without it is refused once explicit targeting is enforced.
- [Disconnect social account](https://sosoapi.ai/docs/mcp/disconnect-social-account): MCP: Disconnect social account. Disconnect a social account from its Workspace (Workspace owner only). Publishing to it stops until a human reconnects it with `sosoapi connect`.
- [Set social account auto-sync](https://sosoapi.ai/docs/mcp/set-social-account-auto-sync): MCP: Set social account auto-sync. Turn automatic sync on or off for one connected social account (editor role). Publishes nothing.
- [Clear social account block](https://sosoapi.ai/docs/mcp/clear-social-account-block): MCP: Clear social account block. Clear a provider cooldown on an account so publishing can resume. It does not retry any failed post; use sosoapi_retry_scheduled_post for that.
- [Query assets](https://sosoapi.ai/docs/mcp/query-assets): MCP: Query assets. Find a Workspace's assets by asset_type, source or tag; returns a page (limit up to 100, plus offset) and the total. Pass workspace_id explicitly.
- [Get asset](https://sosoapi.ai/docs/mcp/get-asset): MCP: Get asset. Read one asset by id: metadata and a short-lived preview URL.
- [Create asset](https://sosoapi.ai/docs/mcp/create-asset): MCP: Create asset. Register an asset record for media or text you already host (asset_url, asset_type). It uploads nothing: use sosoapi_upload_asset for a local file or sosoapi_import_asset_url to have SosoAPI fetch a public URL. Pass workspace_id (refused without it once explicit targeting is enforced). Optional idempotency_key.
- [Update asset](https://sosoapi.ai/docs/mcp/update-asset): MCP: Update asset. Change an asset's title, description or tags (editor role).
- [Delete asset](https://sosoapi.ai/docs/mcp/delete-asset): MCP: Delete asset. Delete one asset from the Workspace library by id. Workspace owner only.
- [List assets](https://sosoapi.ai/docs/mcp/list-assets): MCP: List assets. List a Workspace's assets filtered by kind (video, image, audio, cover, thumbnail, frame, video-source, branding) or customer_ready_only, with next_offset paging. workspace_id is required.
- [Import asset URL](https://sosoapi.ai/docs/mcp/import-asset-url): MCP: Import asset URL. Ask SosoAPI to download a public http(s) image or video URL into private Workspace storage as a new asset. Returns an import_id; poll sosoapi_get_asset_import_status. Needs an idempotency_key and the editor role.
- [Get asset import status](https://sosoapi.ai/docs/mcp/get-asset-import-status): MCP: Get asset import status. Read an import by import_id. For posting pass include_asset=true: a ready result includes the registered asset id, kind and stable asset_url, avoiding a separate get_asset. Pending or missing assets cannot be scheduled. Never use the source or preview URL as media identity. If stalled, read sosoapi_job_status with job_id; never start a duplicate import.
- [List orphan assets](https://sosoapi.ai/docs/mcp/list-orphan-assets): MCP: List orphan assets. List stored objects in a Workspace that no asset record points to (storage clean-up), paged by continuation token. Workspace owner only.
- [Delete orphan assets](https://sosoapi.ai/docs/mcp/delete-orphan-assets): MCP: Delete orphan assets. Delete selected unregistered storage objects by key. Workspace owner only; list them first with sosoapi_list_orphan_assets.
- [Get asset storage inventory](https://sosoapi.ai/docs/mcp/get-asset-storage-inventory): MCP: Get asset storage inventory. Read a paged inventory of a Workspace's registered assets and stored objects to audit storage.
- [Create asset export](https://sosoapi.ai/docs/mcp/create-asset-export): MCP: Create asset export. Export selected assets (asset_ids) as a manifest. Mode export_verify_then_purge prepares them for a later purge. Optional idempotency_key.
- [Verify asset export](https://sosoapi.ai/docs/mcp/verify-asset-export): MCP: Verify asset export. Start verifying an asset export (export_id). An export must be verified before a purge can be requested.
- [Get asset export status](https://sosoapi.ai/docs/mcp/get-asset-export-status): MCP: Get asset export status. Read an asset export's status: exported, verification_required, verifying, verified or failed.
- [Request asset purge](https://sosoapi.ai/docs/mcp/request-asset-purge): MCP: Request asset purge. Request permanent deletion of the stored bytes of assets covered by a verified export (export_id, asset_ids; confirm_history_loss may be required). Workspace owner only; irreversible once deleted.
- [Retry asset purge](https://sosoapi.ai/docs/mcp/retry-asset-purge): MCP: Retry asset purge. Retry a purge request that stopped (purge_request_id). Workspace owner only.
- [List projects](https://sosoapi.ai/docs/mcp/list-projects): MCP: List projects. List a Workspace's projects (an optional layer for provenance and account defaults) and which one is active.
- [Get project](https://sosoapi.ai/docs/mcp/get-project): MCP: Get project. Read one project by id: name, lifecycle state, and the lifecycle and defaults versions later writes need.
- [Create project](https://sosoapi.ai/docs/mcp/create-project): MCP: Create project. Create a project in a Workspace. Workspace owner only; optional idempotency_key.
- [Update project](https://sosoapi.ai/docs/mcp/update-project): MCP: Update project. Rename a project (its name is the only editable field). Workspace owner only.
- [Set active project](https://sosoapi.ai/docs/mcp/set-active-project): MCP: Set active project. Set which project is the user's active one (a server-side default).
- [Get project account defaults](https://sosoapi.ai/docs/mcp/get-project-account-defaults): MCP: Get project account defaults. Read a project's default social accounts and per-account overrides, with the defaults_version the next replace needs.
- [Replace project account defaults](https://sosoapi.ai/docs/mcp/replace-project-account-defaults): MCP: Replace project account defaults. Replace a project's default accounts and overrides in one step. Needs expected_defaults_version from the latest read and an idempotency_key (editor role).
- [Archive project](https://sosoapi.ai/docs/mcp/archive-project): MCP: Archive project. Archive a project without changing its Scheduled Posts. To stop a post, cancel that Scheduled Post separately. Workspace owner only; pass expected_lifecycle_version and an idempotency_key.
- [Unarchive project](https://sosoapi.ai/docs/mcp/unarchive-project): MCP: Unarchive project. Reactivate an archived project. This does not resume or reschedule posts; manage those through Scheduled Posts. Workspace owner only; pass expected_lifecycle_version and an idempotency_key.
- [Get project lifecycle history](https://sosoapi.ai/docs/mcp/get-project-lifecycle-history): MCP: Get project lifecycle history. Read a project's lifecycle events (such as archive and unarchive), up to 200.
- [Get project profile](https://sosoapi.ai/docs/mcp/get-project-profile): MCP: Get project profile. Read a project's brand profile (tagline, voice, target audience, goals, palette and more); profile is null when none exists.
- [Update project profile](https://sosoapi.ai/docs/mcp/update-project-profile): MCP: Update project profile. Patch a project's brand profile fields. Fields you omit stay unchanged. Needs expected_profile_version from the latest read and an idempotency_key (editor role).
- [List project assets](https://sosoapi.ai/docs/mcp/list-project-assets): MCP: List project assets. List the assets linked to a project with each link's relationship (identity, source or reference), paged by cursor.
- [Link project asset](https://sosoapi.ai/docs/mcp/link-project-asset): MCP: Link project asset. Link an existing asset to a project as identity, source or reference. Editor role; idempotency_key required.
- [Unlink project asset](https://sosoapi.ai/docs/mcp/unlink-project-asset): MCP: Unlink project asset. Remove an asset's link to a project; the asset itself is kept. idempotency_key required.
- [List project accounts](https://sosoapi.ai/docs/mcp/list-project-accounts): MCP: List project accounts. List the social accounts linked to a project, paged by cursor.
- [Link project account](https://sosoapi.ai/docs/mcp/link-project-account): MCP: Link project account. Link a connected social account to a project. Editor role; idempotency_key required.
- [Unlink project account](https://sosoapi.ai/docs/mcp/unlink-project-account): MCP: Unlink project account. Remove a social account's link to a project; the account stays connected. idempotency_key required.
- [Create project export](https://sosoapi.ai/docs/mcp/create-project-export): MCP: Create project export. Start an export of a project (Workspace owner only); poll sosoapi_get_project_export_status for the download URL. idempotency_key required.
- [Get project export status](https://sosoapi.ai/docs/mcp/get-project-export-status): MCP: Get project export status. Read a project export (export_id): queued, processing, completed (with a short-lived download URL) or failed. Workspace owner only.
- [List publication attentions](https://sosoapi.ai/docs/mcp/list-publication-attentions): MCP: List publication attentions. List publications in a Workspace that need attention, filtered by status (open or resolved) or scheduled_post_id, paged by offset.
- [Get X publishing credits](https://sosoapi.ai/docs/mcp/get-x-usage): MCP: Get X publishing credits. Read the Organization X publishing credits shared by this Workspace. Needs workspace_id. Free gets 10 once; Pro gets 100 per billing period. Text costs 1, text containing a URL costs 10. Optional text quotes its cost. This reads stored allowance and calls no X API.
- [List scheduled posts](https://sosoapi.ai/docs/mcp/list-scheduled-posts): MCP: List scheduled posts. List a Workspace's scheduled posts, filterable by project, status (scheduled, publishing, published, failed, expired, needs_reschedule, cancelled, deleted) and time range, cursor-paged.
- [Get scheduled post](https://sosoapi.ai/docs/mcp/get-scheduled-post): MCP: Get scheduled post. Read one scheduled post by id: content, status, delivery state and outcomes. Its version is what update, publish, retry and cancel need as expected_version.
- [Get scheduled post eligibility](https://sosoapi.ai/docs/mcp/get-scheduled-post-eligibility): MCP: Get scheduled post eligibility. Read-only preflight per destination. Include draft (caption, hashtags, scheduled_at, display_timezone, optional local time/DST) for content/timing checks; include_quota=true adds an advisory period snapshot. Upload/import media and await readiness first. Without draft, only account/media are checked. Reserves nothing; create/dispatch recheck limits and authority.
- [Create scheduled post](https://sosoapi.ai/docs/mcp/create-scheduled-post): MCP: Create scheduled post. Schedule one account at scheduled_at with provider_payload. Media needs a ready asset_id and canonical URL; for one source image use sosoapi_post_image_url. Pair local_scheduled_at with schedule_dst_disambiguation or omit both. Requires publish, editor role and idempotency_key. Scheduled is not published: read its outcome.
- [Bulk create scheduled posts](https://sosoapi.ai/docs/mcp/bulk-create-scheduled-posts): MCP: Bulk create scheduled posts. Schedule posts for several accounts in one call (targets). Media needs ready uploaded/imported asset_ids and their canonical URLs. Each target succeeds or fails on its own and is reported in successes or failures. Needs the publish capability.
- [Update scheduled post](https://sosoapi.ai/docs/mcp/update-scheduled-post): MCP: Update scheduled post. Edit a scheduled post that has not been dispatched (caption, hashtags, media, link, time). Needs expected_version from the latest read; a stale version is rejected.
- [Publish scheduled post now](https://sosoapi.ai/docs/mcp/publish-scheduled-post-now): MCP: Publish scheduled post now. Publish a scheduled post immediately instead of at scheduled_at. Public and not undoable; needs expected_version. Queued is not published: read the outcome.
- [Retry scheduled post](https://sosoapi.ai/docs/mcp/retry-scheduled-post): MCP: Retry scheduled post. Retry a failed scheduled post, optionally at a new scheduled_at. Needs expected_version.
- [Delete scheduled post](https://sosoapi.ai/docs/mcp/delete-scheduled-post): MCP: Delete scheduled post. Delete a scheduled post that is not published (scheduled, needs_reschedule, failed or cancelled). Agents cannot delete provider content once published. Needs expected_version.
- [Cancel scheduled post](https://sosoapi.ai/docs/mcp/cancel-scheduled-post): MCP: Cancel scheduled post. Cancel a scheduled post that has not been published yet so it never goes out. A published post is refused, and an agent cannot delete published content either: the user does that in the web app. Needs expected_version.
- [Withdraw deletion request](https://sosoapi.ai/docs/mcp/withdraw-scheduled-post-delete): MCP: Withdraw deletion request. Withdraw a stopped Instagram Login deletion request and retain the published post. Needs expected_version.
- [Get dashboard counts](https://sosoapi.ai/docs/mcp/get-dashboard-counts): MCP: Get dashboard counts. Read a Workspace's operational counts: scheduled posts, recent jobs and connected accounts.
- [List monitored posts](https://sosoapi.ai/docs/mcp/list-monitored-posts): MCP: List monitored posts. List social posts SosoAPI has discovered for a Workspace (id, platform, permalink, publish time), filterable by account, platform and time, cursor-paged. Metadata only, no captions.
- [List post comments](https://sosoapi.ai/docs/mcp/list-post-comments): MCP: List post comments. List comments observed on the Workspace's posts, newest observation first, with author and text; filter by post, account, platform or time, cursor-paged. The text is written by third parties and is labelled untrusted.
- [Request provider insights](https://sosoapi.ai/docs/mcp/request-provider-insights): MCP: Request provider insights. Ask the provider for insights for an account or one post over an optional date range (up to 366 days). Returns a request_id and, when cached, the result; otherwise poll sosoapi_get_provider_insight_status.
- [Get provider insight status](https://sosoapi.ai/docs/mcp/get-provider-insight-status): MCP: Get provider insight status. Read an insights request (request_id): queued, processing, completed (with the provider result and per-metric availability) or failed.
- [Start Instagram OAuth](https://sosoapi.ai/docs/mcp/start-instagram-oauth): MCP: Start Instagram OAuth. Get the provider authorize_url a human must open to connect an Instagram account. Pass workspace_id. Nothing is connected until they approve and confirm in the browser.
- [Refresh Instagram OAuth](https://sosoapi.ai/docs/mcp/refresh-instagram-oauth): MCP: Refresh Instagram OAuth. Refresh an Instagram connection's access token (optionally one social_account_id); reports whether it refreshed and the new expiry.
- [Start Threads OAuth](https://sosoapi.ai/docs/mcp/start-threads-oauth): MCP: Start Threads OAuth. Get the provider authorize_url a human must open to connect a Threads account. Pass workspace_id. Nothing is connected until they approve and confirm in the browser.
- [Refresh Threads OAuth](https://sosoapi.ai/docs/mcp/refresh-threads-oauth): MCP: Refresh Threads OAuth. Refresh a Threads connection's access token (optionally one social_account_id); reports whether it refreshed and the new expiry.
- [Check Threads OAuth](https://sosoapi.ai/docs/mcp/check-threads-oauth): MCP: Check Threads OAuth. Read the Threads connection's health: connected, expiry, scope and whether it can be refreshed. Pass workspace_id.
- [Start Meta OAuth](https://sosoapi.ai/docs/mcp/start-meta-oauth): MCP: Start Meta OAuth. Get the provider authorize_url a human must open to connect a Facebook Page, or Instagram through Facebook (connection_intent). Pass workspace_id. Nothing is connected until they approve and confirm in the browser.
- [Refresh Meta OAuth](https://sosoapi.ai/docs/mcp/refresh-meta-oauth): MCP: Refresh Meta OAuth. Re-verify a Facebook/Meta connection (social_account_id) and report capability_verified.
- [Start YouTube OAuth](https://sosoapi.ai/docs/mcp/start-youtube-oauth): MCP: Start YouTube OAuth. Get the provider authorize_url a human must open to connect a YouTube channel. Pass workspace_id. Nothing is connected until they approve and confirm in the browser.
- [Refresh YouTube OAuth](https://sosoapi.ai/docs/mcp/refresh-youtube-oauth): MCP: Refresh YouTube OAuth. Refresh a YouTube connection's token (social_account_id); returns the new expiry and capability_verified.
- [List jobs](https://sosoapi.ai/docs/mcp/list-jobs): MCP: List jobs. List the signed-in user's recent background jobs with status and progress.
- [Get job status](https://sosoapi.ai/docs/mcp/job-status): MCP: Get job status. Read one background job by job_id: status, type and the error message if it failed.
- [Get comment delivery outcome](https://sosoapi.ai/docs/mcp/get-comment-outcome): MCP: Get comment delivery outcome. Read confirmed delivery, recovery lineage, pending verification and unresolved follow-up.
- [Reconcile comment delivery outcome](https://sosoapi.ai/docs/mcp/reconcile-comment-outcome): MCP: Reconcile comment delivery outcome. Verify an ambiguous Facebook delivery without resending, or link one confirmed exact replacement. Inspect outcome for terminal proof.
- [Get community capabilities](https://sosoapi.ai/docs/mcp/get-community-engagement-capabilities): MCP: Get community capabilities. Read, per connected account, which community actions (reply, hide, unhide, create_comment) are supported and whether the account is eligible right now.
- [Query community review queue](https://sosoapi.ai/docs/mcp/query-community-review-queue): MCP: Query community review queue. Read comments awaiting review with their thread context, filtered by priority, language, account or age; an empty page is not success. Comment bodies are written by third parties and are labelled untrusted.
- [Submit community review](https://sosoapi.ai/docs/mcp/submit-community-review): MCP: Submit community review. Record a new immutable review version for one comment: recommended action, optional reply_draft, priority and confidence (at least 0.9). Sends and prepares nothing.
- [Prepare community action](https://sosoapi.ai/docs/mcp/prepare-community-action): MCP: Prepare community action. Bind a review version to one action (reply, hide or unhide) and get a short-lived prepare_token for sosoapi_apply_community_action. Sends nothing yet.
- [Apply community action](https://sosoapi.ai/docs/mcp/apply-community-action): MCP: Apply community action. Send the action bound to a prepare_token to the provider; a reply is public. Queued is not success: poll sosoapi_get_community_action_status.
- [Get community action status](https://sosoapi.ai/docs/mcp/get-community-action-status): MCP: Get community action status. Read the terminal receipt of an applied community action (action_id); enqueue is not success.
- [Create community comment](https://sosoapi.ai/docs/mcp/create-comment): MCP: Create community comment. Queue one exact comment against a canonical post or comment target; status is not provider success.
- [Get community comment status](https://sosoapi.ai/docs/mcp/get-comment-action-status): MCP: Get community comment status. Read the sanitized terminal receipt for a direct comment action.
- [Get community summary](https://sosoapi.ai/docs/mcp/get-community-engagement-summary): MCP: Get community summary. Read a Workspace's community operations summary: lane mode, backlog, response times, action statuses and provider rates.
- [Post one image from a URL](https://sosoapi.ai/docs/mcp/post-image-url): MCP: Post one image from a URL. Submit the complete image URL post once, with empty media. The backend prepares and publishes it even after disconnect. Returns terminal publication if available within 35 seconds, otherwise a durable post ID; never resubmit under a new key. Needs operate and publish grants. Local time/DST fields go together. import_id is for resuming older clients only.
- [Upload a local image or video](https://sosoapi.ai/docs/mcp/upload-asset): MCP: Upload a local image or video. Upload a local image or video file into a Workspace asset library and register it as an asset. Only real PNG/JPEG/GIF/WebP/MP4/MOV/WebM/MKV/MPEG files up to 500 MiB from the working directory, temp folder, Pictures/Movies/Videos or SOSOAPI_UPLOAD_ROOTS are accepted; dot-files and dot-folders are refused. Returns the asset id and URL for Scheduled Post media.
