MCP 服务器

aidelly

io.github.wilzer/aidelly
营销与广告 社交媒体 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Supports agency social media operations including content creation, approvals, scheduling, publishing, repurposing, analytics, ecommerce connections, and reporting.

aidelly_action_post_approval
POST /posts/approvals — approve, reject (with reason), return to draft, or comment on one or many pending posts. Owner/admin only. Public API preview.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'action'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'action': {'enum': ['approve', 'reject', 'return_to_draft', 'comment'], 'type': 'string'}, 'comment': {'type': 'string', 'description': 'Optional. Stored as the rejection reason on `reject`.'}, 'post_id': {'type': 'string', 'format': 'uuid', 'description': 'Required when actioning a single post.'}, 'brand_id': {'type': 'string'}, 'post_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}, 'description': 'Required when bulk-actioning multiple posts.'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_add_competitor
Register a competitor root domain to track in the workspace.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'domain'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'domain': {'type': 'string', 'maxLength': 253, 'minLength': 3}, 'brand_id': {'type': 'string'}, 'display_name': {'type': 'string', 'maxLength': 120}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_add_creator
Register a creator handle on a specific platform to track.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'handle', 'platform'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'handle': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'brand_id': {'type': 'string'}, 'platform': {'enum': ['x', 'youtube', 'threads', 'bluesky', 'pinterest'], 'type': 'string'}, 'display_name': {'type': 'string', 'maxLength': 120}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_add_queue_items
POST /queues/{id}/items — add content items to queue tail for distribution at next available slots.
可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key', 'items'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['contentType', 'contentId'], 'properties': {'contentId': {'type': 'string', 'minLength': 1, 'description': 'ID of the content item'}, 'contentType': {'enum': ['generated_content', 'media_item', 'draft'], 'type': 'string', 'description': 'Type of content being queued'}, 'captionOverride': {'type': 'string', 'description': 'Optional custom caption to override content default'}}}, 'minItems': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_bulk_create_posts
Create up to 50 scheduled posts in one call. Each item takes the same shape as aidelly_create_post. Returns HTTP 201 when every item was accepted and 207 when some failed, with a per-item results array carrying index, status, and either the created post or an error — inspect it rather than assuming the whole batch succeeded. Acceptance is not delivery: poll aidelly_get_post for each created id. Rate limit is charged per post, not per request, so a 20-post batch costs 20 write units — it saves round trips, not quota. The whole batch is rejected before anything is written if it would exceed your daily scheduling limit. LinkedIn document posts attach one PDF (≤100 MB, ≤300 pages) as media[].type = "document"; documents are rejected on every other platform.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'posts'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'posts': {'type': 'array', 'items': {'type': 'object', 'required': ['platform', 'content'], 'properties': {'content': {'type': 'object', 'required': ['text'], 'properties': {'link': {'type': 'string', 'format': 'uri'}, 'text': {'type': 'string', 'example': 'Launching our new feature today.', 'minLength': 1}, 'media': {'type': 'array', 'items': {'type': 'object', 'anyOf': [{'required': ['url']}, {'required': ['read_url']}, {'required': ['media_id']}], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Publishable media URL. Use `read_url` returned by `POST /media/upload-url`.'}, 'type': {'enum': ['image', 'video', 'gif', 'document'], 'type': 'string', 'description': 'Attachment kind. Optional — resolved from the media-library row when omitted. `document` is LinkedIn-only.'}, 'media_id': {'type': 'string', 'description': 'Media id returned by `POST /media/upload-url`. Accepted when `url`/`read_url` is not available.'}, 'read_url': {'type': 'string', 'format': 'uri', 'description': 'MCP-friendly alias for `url`.'}}}, 'maxItems': 10, 'description': 'Media attachments. Supplying multiple items automatically creates a carousel/slideshow on platforms that support it (Instagram, Facebook, TikTok).\nUse `read_url` returned by `POST /media/upload-url` for each `media[].url`.\nTruncated or corrupt images are rejected at upload and publish preflight with a clear validation error.\nWhen `type` is omitted it is resolved from the media-library row (`application/pdf` → `document`), so an uploaded PDF is no longer stored as an image.\n- **Instagram**: 2–10 images → carousel; 1 video → reel (or `platform_specific.contentType: "reel"`)\n- **TikTok**: all images → photo carousel; 1 video → video post or draft\n- **Facebook**: 2+ images → carousel; 1 video → video post\n- **LinkedIn**: one `type: "document"` PDF (≤100 MB, ≤300 pages) → swipeable document post. Documents are LinkedIn-only and cannot be mixed with images or videos; other platforms return `422 PUBLIC_API_DOCUMENT_UNSUPPORTED_PLATFORM`. The size and format checks run at create time; the page-count check runs at publish.\n'}, 'title': {'type': 'string'}, 'thread': {'type': 'object', 'required': ['parts'], 'properties': {'parts': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'minLength': 1}, 'media': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'type': {'enum': ['image', 'video', 'gif', 'document'], 'type': 'string'}}}, 'maxItems': 4}}}, 'maxItems': 25, 'minItems': 2}, 'overrides': {'type': 'object', 'description': 'Per-platform override (`{ twitter: [...], bluesky: [...] }`).\nFalls back to `parts` when missing.\n', 'additionalProperties': {'type': 'array', 'items': {'type': 'object', 'properties': {'text': {'type': 'string'}}}}}}, 'description': 'Native thread composition. Honored on platforms whose\n`capabilities.thread` is true (X, Bluesky, Threads). Each part\npublishes as a reply chained off the previous one. `parts[0]`\nis the root post and shares text with `content.text`.\n', 'additionalProperties': False}, 'hashtags': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 30}, 'mentions': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 30}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'Single image URL alias. Prefer `content.media[].url` for new calls.'}, 'draft_kind': {'enum': ['post', 'thread'], 'type': 'string', 'description': 'Indicates whether the composer authored a single post or a\nthread. Optional — when omitted, threads are inferred from\n`thread.parts.length > 1`.\n'}, 'media_urls': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'maxItems': 10, 'description': 'Agent-friendly alias for image URLs. Prefer `content.media[].url` for new calls.'}, 'first_comment': {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'maxLength': 2200, 'minLength': 1, 'description': 'Global comment text. Default for every capable platform.'}, 'overrides': {'type': 'object', 'description': 'Per-platform override (`{ instagram: "...", facebook: "..." }`).\nFalls back to `text` when missing or empty.\n', 'additionalProperties': {'type': 'string', 'maxLength': 2200, 'minLength': 1}}, 'delay_minutes': {'enum': [0, 5, 30, 60, 360, 1440], 'type': 'integer', 'description': 'Minutes to wait after the main publish before posting the\ncomment. Fully honored on scheduled posts (Inngest sleep);\nbest-effort on immediate publishes.\n'}}, 'description': 'Auto-posts a comment on the published post. Honored on platforms\nwhose `capabilities.firstComment` is true (Facebook, Instagram,\nLinkedIn, YouTube, X, Bluesky, Threads).\n', 'additionalProperties': False}, 'platformSpecific': {'type': 'object', 'description': 'Alias for `platform_specific` (agent compatibility).', 'additionalProperties': True}, 'platform_specific': {'type': 'object', 'example': {'postMode': 'draft'}, 'properties': {'boardId': {'type': 'string', 'description': 'Camel-case alias for Pinterest board_id.'}, 'board_id': {'type': 'string', 'description': 'Pinterest board id returned by aidelly_list_pinterest_boards.'}}, 'description': 'Platform-specific options. Supported fields per platform:\n\n**Instagram**\n- `contentType` (`string`): `"post"` | `"reel"` | `"story"`. Defaults to `"reel"` for a single video, `"carousel"` for multiple images, `"post"` otherwise.\n- `instagramDestination` / `instagram_destination` (`string`): `"post"` | `"stories"` | `"post_stories"`. Use `stories` for Story-only or `post_stories` for feed + Story.\n- `reelOptions.shareToFeed` (`boolean`): Share reel to feed. Default `true`.\n- `reelOptions.trialReel.enabled` (`boolean`): Publish as a trial reel to non-followers first. When enabled, `shareToFeed` is forced to `false`.\n- `reelOptions.trialReel.graduationStrategy` (`string`): Required for trial reels. `"MANUAL"` graduates in Instagram; `"SS_PERFORMANCE"` graduates automatically based on performance.\n\n**TikTok**\n- `postMode` (`string`): `"direct"` (publish immediately) | `"draft"` (save to inbox for review). Default `"direct"`.\n- `postAsDraft` (`boolean`): Shorthand for `postMode: "draft"`.\n- `title` (`string`): Optional title shown in the TikTok inbox when posting as draft.\n- Aliases accepted for agents and normalized to camelCase: `post_mode`, `post_as_draft`, `publish_immediately`.\n- `photos` (`array`): For photo carousels — array of `{ url, order, caption? }` objects (max 35). When all media items are images, TikTok automatically creates a photo carousel.\n- `allowComments` (`boolean`), `allowDuet` (`boolean`), `allowStitch` (`boolean`): Interaction controls.\n\n**Facebook**\n- `fbPostType` (`string`): `"photo"` | `"carousel"`. Post type. `"carousel"` enables multi-card experience with child attachments. Defaults to `"photo"`.\n- `fbCarouselLink` (`string`): Destination link for all cards in a carousel. Required when `fbPostType="carousel"`.\n- `fbCarouselCards` (`array`): Optional per-card copy for carousel posts. Array of objects with `name` and `description` strings (max 5 items), index-aligned with media attachments. Example: `[{ name: "Card 1", description: "First card" }, { name: "Card 2", description: "Second card" }]`.\n- `enableFirstComment` (`boolean`): Post an auto-comment after publishing.\n- `firstCommentText` (`string`): Text for the auto-comment.\n- `facebookDestination` / `facebook_destination` (`string`): `"post"` | `"stories"` | `"post_stories"`. Publishes a Page Story via `/photo_stories` or `/video_stories`. Story media must be 9:16; videos 3-60s (MP4/MOV); photos JPEG/PNG/BMP/GIF/TIFF under 10MB. Behind the `FACEBOOK_STORIES_ENABLED` feature flag.\n\n**Facebook Carousel Behavior (backward compatible)**\nSet `fbPostType="carousel"` to opt in to carousel format. When `fbPostType` is absent or set to `"photo"`, the default behavior is used (single photo or video post). Absent or `"photo"` = backward compatible behavior.\n\n**Pinterest**\n- `board_id` / `boardId` (`string`): Board id returned by `GET /accounts/pinterest/boards`. When omitted, Aidelly resolves a board in this order: (1) value in the request payload, (2) board saved on the connected Pinterest account (`platform_specific`), (3) workspace posting default, (4) user-level posting default. Publishing fails preflight if no board can be resolved.\n\n**LinkedIn**\n- `contentType` (`string`): `"post"` | `"image"` | `"video"` — auto-detected from media if not specified.\n\n**Threads**\n- `replyControl` (`string`): `"everyone"` | `"accounts_you_follow"` | `"mentioned_only"`. Maps to the Threads API `reply_control` field. Defaults to the connection\'s saved Threads posting default, then `"everyone"`.\n- `topicTag` (`string`): A single topic tag (Threads accepts at most one per post). Maps to `topic_tag`.\n- `allowlistedCountryCodes` (`string[]`): ISO-3166 alpha-2 country codes that are allowed to see the post. Maps to `allowlisted_country_codes`. Empty array publishes globally.\n- `linkAttachmentUrl` (`string`): URL to attach as the canonical link preview. Maps to `link_attachment`.\n\n**Google Business** (`google_business`)\n- `locationName` (`string`, required): Full GBP location resource name, e.g. `accounts/{accountId}/locations/{locationId}`. Use the `id` from `/accounts` for a `google_business` row. Falls back to the connection\'s saved default location when omitted.\n- `topicType` (`string`): `"STANDARD"` | `"EVENT"` | `"OFFER"` | `"ALERT"`. Defaults to `"STANDARD"`.\n- `languageCode` (`string`): BCP-47 language tag (e.g. `"en-US"`). Defaults to `"en-US"`.\n- `callToActionType` (`string`): `"BOOK"` | `"ORDER"` | `"SHOP"` | `"LEARN_MORE"` | `"SIGN_UP"` | `"CALL"`. Adds a CTA button to STANDARD posts only.\n- `callToActionUrl` (`string`): Required for every CTA except `CALL`, which uses the phone number on the Business Profile.\n- `event` (`object`, required when `topicType` is `"EVENT"`): `{ title, schedule }` where `schedule` accepts ISO `start`/`end` strings or Google date/time objects (`startDate`, `startTime`, `endDate`, `endTime`).\n- `offer` (`object`, required when `topicType` is `"OFFER"`): `{ schedule, couponCode?, redeemOnlineUrl?, termsConditions? }`.\n- `alertType` (`string`, required when `topicType` is `"ALERT"`): Currently `"COVID_19"`.\n', 'additionalProperties': True}, 'facebook_destination': {'enum': ['post', 'stories', 'post_stories'], 'type': 'string', 'description': 'Facebook destination for posts. Use "stories" for a Page Story only or "post_stories" for feed + Story. Behind the FACEBOOK_STORIES_ENABLED feature flag.'}, 'instagram_destination': {'enum': ['post', 'stories', 'post_stories'], 'type': 'string', 'description': 'Instagram destination for posts. Use "stories" for Story-only or "post_stories" for feed + Story.'}}, 'additionalProperties': False}, 'metadata': {'type': 'object', 'example': {'source': 'agent', 'campaign': 'spring-launch'}, 'additionalProperties': True}, 'platform': {'enum': ['facebook', 'instagram', 'linkedin', 'twitter', 'bluesky', 'threads', 'pinterest', 'youtube', 'tiktok', 'google_business', 'mastodon'], 'type': 'string', 'example': 'linkedin', 'description': 'Supported platform identifier. `twitter` and `x` map to the same surface;\nresponses always normalize to `twitter`. `google_business` posts target\na single Google Business Profile location identified by\n`platform_specific.locationName`. `mastodon` accounts are per-instance —\nthe connected account carries its own `instance_url`.\n'}, 'timezone': {'type': 'string', 'example': 'UTC'}, 'account_id': {'type': 'string', 'example': 'social-account-id', 'description': 'The account / sub-account this post should target. Format depends on platform:\n  - **facebook** — Page ID (numeric string from `/accounts`).\n  - **instagram** — Instagram Business Account ID.\n  - **linkedin** — connection ID for personal posts; LinkedIn organization URN for company posts.\n  - **google_business** — GBP location resource name. Either fully-qualified\n    `accounts/{accountId}/locations/{locationId}` or the relative\n    `locations/{locationId}` form. Fetch with `GET /accounts` (rows where\n    `account_type: location`).\n  - **twitter / bluesky / threads / tiktok / youtube / pinterest / mastodon** — single-account\n    platforms; `account_id` is optional and ignored.\n\nWhen omitted, posts use the workspace-level default for that platform.\n'}, 'scheduled_at': {'type': 'string', 'format': 'date-time', 'example': '2026-02-18T17:30:00Z'}, 'facebook_destination': {'enum': ['post', 'stories', 'post_stories'], 'type': 'string', 'description': 'Facebook-only destination. Use post for feed only, stories for a Page Story only, or post_stories for both. Behind the FACEBOOK_STORIES_ENABLED feature flag - requests that set it while the flag is off are rejected with a validation error.'}, 'instagram_destination': {'enum': ['post', 'stories', 'post_stories'], 'type': 'string', 'description': 'Instagram-only destination. Use post for feed only, stories for Stories only, or post_stories for both feed and Stories.'}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1, 'description': 'Posts to create. Max 50 per request.'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_cancel_post
Cancel a scheduled post.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_cancel_scheduled_post
DELETE /scheduled-posts/{id} — cancel a scheduled post (and its pending recycles). Public API preview.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['idempotency_key', 'id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_connect_ecommerce_store
POST /ecommerce/stores — connect a new Shopify / WooCommerce / Etsy / Wix store. Verifies credentials then kicks off initial sync. Public API preview.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'provider', 'shopDomain', 'credentials'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'provider': {'enum': ['shopify', 'woocommerce', 'etsy', 'wix'], 'type': 'string'}, 'shopDomain': {'type': 'string'}, 'credentials': {'oneOf': [{'type': 'object', 'required': ['clientId', 'clientSecret'], 'properties': {'clientId': {'type': 'string'}, 'clientSecret': {'type': 'string', 'format': 'password'}}, 'description': 'Current Shopify Dev Dashboard app credentials.'}, {'type': 'object', 'required': ['accessToken'], 'properties': {'accessToken': {'type': 'string'}}, 'description': 'Legacy Shopify, Etsy, or Wix credentials.'}, {'type': 'object', 'required': ['consumerKey', 'consumerSecret'], 'properties': {'consumerKey': {'type': 'string'}, 'consumerSecret': {'type': 'string'}}, 'description': 'WooCommerce REST API credentials.'}]}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_create_bulk_fill_job
Create an asynchronous job to schedule 1-200 supplied social posts in the selected workspace. Each post specifies its platform, caption, and scheduledAt time with an offset, plus its destination and optional media. This creates publishable scheduled content subject to workspace approval rules. Returns a job id; poll the bulk fill job tool for completion.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'posts': {'type': 'array', 'items': {'type': 'object', 'properties': {'title': {'type': 'string', 'maxLength': 300}, 'caption': {'type': 'string', 'maxLength': 10000, 'minLength': 1}, 'clientId': {'type': 'string', 'description': 'Unique client-side ID for deduping retries'}, 'hashtags': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 30}, 'mediaUrl': {'type': 'string', 'nullable': True, 'maxLength': 2000}, 'mentions': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 30}, 'platform': {'type': 'string', 'description': 'Social platform'}, 'timezone': {'type': 'string', 'default': 'UTC'}, 'accountId': {'type': 'string', 'nullable': True, 'description': 'Platform account ID'}, 'contentType': {'type': 'string', 'maxLength': 40}, 'scheduledAt': {'type': 'string', 'format': 'date-time', 'description': 'ISO 8601 datetime with offset'}, 'dmAutomation': {'type': 'object', 'nullable': True, 'properties': {'link': {'type': 'string'}, 'keyword': {'type': 'string'}, 'message': {'type': 'string'}, 'commentReply': {'type': 'string'}}}, 'firstComment': {'type': 'string', 'nullable': True, 'maxLength': 2200}}}, 'maxItems': 200, 'minItems': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_create_client_review_link
POST /client-review-links — create a magic-link review portal. Returns the raw token exactly once; store it securely.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'label'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'label': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Human-readable name for the link'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'expires_at': {'type': 'string', 'format': 'date-time', 'description': 'Optional expiration timestamp in ISO 8601 format'}, 'client_email': {'type': 'string', 'format': 'email', 'maxLength': 320, 'description': 'Optional client email for notifications'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_create_connect_link
Create an OAuth connect link for the workspace.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'brand_id': {'type': 'string'}, 'password': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Optional password to protect the connect link'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_create_destination_preset
POST /destination-presets — create a multi-channel fan-out preset with per-platform transformations.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'name', 'channels'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Preset name'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'channels': {'type': 'array', 'items': {'type': 'object', 'required': ['platform', 'accountId'], 'properties': {'platform': {'type': 'string'}, 'accountId': {'type': 'string'}, 'transform': {'type': 'object', 'properties': {'appendUtm': {'type': 'boolean', 'description': 'Add UTM parameters to links'}, 'captionMode': {'enum': ['inherit', 'custom_template'], 'type': 'string'}, 'hashtagSwap': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Hashtags to add or override'}, 'offsetSeconds': {'type': 'number', 'description': 'Media timing offset in seconds'}, 'captionTemplate': {'type': 'string', 'description': 'Custom caption for this channel'}}}}}, 'maxItems': 12, 'minItems': 1, 'description': 'Per-channel transformations'}, 'defaults': {'type': 'object', 'properties': {'appendUtm': {'type': 'boolean'}, 'offsetSeconds': {'type': 'number'}, 'captionTemplate': {'type': 'string'}}, 'description': 'Default transformations for all channels'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_create_draft
Create a draft — saved as work-in-progress content that never publishes. The draft_planned_for field is a planning date only. Existing API keys need the new `drafts:write` scope added to gain draft access; no implicit grant occurs. Requires `platform` or a non-empty `platforms` array.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'text'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'text': {'type': 'string', 'maxLength': 65000, 'minLength': 1, 'description': 'Draft content / caption.'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'title': {'type': 'string', 'nullable': True, 'maxLength': 500, 'description': 'Draft title (optional).'}, 'brand_id': {'type': 'string'}, 'platform': {'type': 'string', 'minLength': 1, 'description': 'Primary platform (e.g., "twitter", "instagram"). Provide `platform` or a non-empty `platforms` array — one of the two is required.'}, 'platforms': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'List of platforms (optional, normalizes "x" to "twitter").'}, 'draft_kind': {'enum': ['post', 'thread'], 'type': 'string', 'description': 'Draft composition type (default "post").'}, 'media_urls': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'maxItems': 10, 'description': 'Media URLs (optional).'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}, 'draft_planned_for': {'type': 'string', 'format': 'date-time', 'nullable': True, 'description': 'ISO 8601 date/time for calendar placement (optional, does not schedule).'}}, 'additionalProperties': False}
aidelly_create_idea
Create a new idea on the workspace's idea board, optionally seeded with an initial body or topic.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 12}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'title': {'type': 'string', 'maxLength': 200, 'description': 'Optional human title for the idea card.'}, 'origin': {'enum': ['blank', 'prompt', 'trending_topic'], 'type': 'string', 'description': 'How the idea was started.'}, 'brand_id': {'type': 'string'}, 'seed_topic': {'type': 'string', 'maxLength': 500, 'description': "Originating prompt or trending-topic seed text. When supplied without\nan `initial_body`, this text seeds the idea's first entry.\n"}, 'initial_body': {'type': 'string', 'maxLength': 20000, 'description': "Optional starter text. Stored as the idea's first timeline entry so\nthe editor opens with something to build on.\n"}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_create_media_upload_url
Create a signed upload URL and media record for shell-capable clients that can PUT raw bytes to the returned Supabase URL (for example Claude Code or a local CLI). Do NOT use this from browser-sandboxed chat clients such as ChatGPT or Claude.ai: their sandboxes block network egress to Supabase storage, so the byte upload will fail. Those clients must use aidelly_upload_media instead (this tool is hidden automatically for known chat clients).
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'file_name', 'content_type', 'file_size'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'folder': {'type': 'string', 'example': 'campaign-assets', 'maxLength': 100, 'minLength': 1}, 'brand_id': {'type': 'string'}, 'file_name': {'type': 'string', 'example': 'launch-image.png', 'minLength': 1}, 'file_size': {'type': 'integer', 'example': 245000, 'maximum': 2147483648, 'minimum': 1, 'description': 'Maximum 2 GB.'}, 'content_type': {'type': 'string', 'example': 'image/png', 'minLength': 3}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_create_photo
Upload a photo to a connected platform's media gallery (separate from posts). Today only google_business is wired.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'platform', 'source_url', 'category'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'category': {'enum': ['PROFILE', 'LOGO', 'COVER', 'EXTERIOR', 'INTERIOR', 'PRODUCT', 'AT_WORK', 'FOOD_AND_DRINK', 'MENU', 'COMMON_AREA', 'ROOMS', 'TEAMS', 'ADDITIONAL'], 'type': 'string', 'description': "Where the photo lands on the location's listing. `PROFILE`,\n`LOGO`, and `COVER` replace the existing identity photos; the\nrest append to the gallery.\n"}, 'metadata': {'type': 'object', 'additionalProperties': True}, 'platform': {'enum': ['google_business'], 'type': 'string', 'description': 'Currently only google_business is supported.'}, 'account_id': {'type': 'string', 'description': "For `google_business`, the location resource name to upload to —\neither fully-qualified `accounts/{accountId}/locations/{locationId}`\nor the relative `locations/{locationId}` form. If omitted, the\nworkspace's default location is used.\n"}, 'source_url': {'type': 'string', 'format': 'uri', 'description': "Public URL of the image to upload. Must be reachable by Google's\nservers. Use a `read_url` returned by `POST /media/upload-url` for\nfiles stored in Aidelly.\n"}, 'description': {'type': 'string', 'maxLength': 500, 'description': "Optional caption associated with the photo on Google's side."}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace ID for this operation.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_create_post
Accept a post for immediate asynchronous publishing or future scheduling. HTTP 201 and ok=true mean accepted, not delivered. For immediate posts, poll aidelly_get_post and only report publication when status is completed and provider_post_id is non-null. Use aidelly_list_pinterest_boards before Pinterest posts and pass content.platform_specific.board_id. LinkedIn document posts attach one PDF (≤100 MB, ≤300 pages) as media[].type = "document"; documents are rejected on every other platform.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'platform', 'content'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'content': {'type': 'object', 'required': ['text'], 'properties': {'link': {'type': 'string', 'format': 'uri'}, 'text': {'type': 'string', 'example': 'Launching our new feature today.', 'minLength': 1}, 'media': {'type': 'array', 'items': {'type': 'object', 'anyOf': [{'required': ['url']}, {'required': ['read_url']}, {'required': ['media_id']}], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Publishable media URL. Use `read_url` returned by `POST /media/upload-url`.'}, 'type': {'enum': ['image', 'video', 'gif', 'document'], 'type': 'string', 'description': 'Attachment kind. Optional — resolved from the media-library row when omitted. `document` is LinkedIn-only.'}, 'media_id': {'type': 'string', 'description': 'Media id returned by `POST /media/upload-url`. Accepted when `url`/`read_url` is not available.'}, 'read_url': {'type': 'string', 'format': 'uri', 'description': 'MCP-friendly alias for `url`.'}}}, 'maxItems': 10, 'description': 'Media attachments. Supplying multiple items automatically creates a carousel/slideshow on platforms that support it (Instagram, Facebook, TikTok).\nUse `read_url` returned by `POST /media/upload-url` for each `media[].url`.\nTruncated or corrupt images are rejected at upload and publish preflight with a clear validation error.\nWhen `type` is omitted it is resolved from the media-library row (`application/pdf` → `document`), so an uploaded PDF is no longer stored as an image.\n- **Instagram**: 2–10 images → carousel; 1 video → reel (or `platform_specific.contentType: "reel"`)\n- **TikTok**: all images → photo carousel; 1 video → video post or draft\n- **Facebook**: 2+ images → carousel; 1 video → video post\n- **LinkedIn**: one `type: "document"` PDF (≤100 MB, ≤300 pages) → swipeable document post. Documents are LinkedIn-only and cannot be mixed with images or videos; other platforms return `422 PUBLIC_API_DOCUMENT_UNSUPPORTED_PLATFORM`. The size and format checks run at create time; the page-count check runs at publish.\n'}, 'title': {'type': 'string'}, 'thread': {'type': 'object', 'required': ['parts'], 'properties': {'parts': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'minLength': 1}, 'media': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'type': {'enum': ['image', 'video', 'gif', 'document'], 'type': 'string'}}}, 'maxItems': 4}}}, 'maxItems': 25, 'minItems': 2}, 'overrides': {'type': 'object', 'description': 'Per-platform override (`{ twitter: [...], bluesky: [...] }`).\nFalls back to `parts` when missing.\n', 'additionalProperties': {'type': 'array', 'items': {'type': 'object', 'properties': {'text': {'type': 'string'}}}}}}, 'description': 'Native thread composition. Honored on platforms whose\n`capabilities.thread` is true (X, Bluesky, Threads). Each part\npublishes as a reply chained off the previous one. `parts[0]`\nis the root post and shares text with `content.text`.\n', 'additionalProperties': False}, 'hashtags': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 30}, 'mentions': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 30}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'Single image URL alias. Prefer `content.media[].url` for new calls.'}, 'draft_kind': {'enum': ['post', 'thread'], 'type': 'string', 'description': 'Indicates whether the composer authored a single post or a\nthread. Optional — when omitted, threads are inferred from\n`thread.parts.length > 1`.\n'}, 'media_urls': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'maxItems': 10, 'description': 'Agent-friendly alias for image URLs. Prefer `content.media[].url` for new calls.'}, 'first_comment': {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'maxLength': 2200, 'minLength': 1, 'description': 'Global comment text. Default for every capable platform.'}, 'overrides': {'type': 'object', 'description': 'Per-platform override (`{ instagram: "...", facebook: "..." }`).\nFalls back to `text` when missing or empty.\n', 'additionalProperties': {'type': 'string', 'maxLength': 2200, 'minLength': 1}}, 'delay_minutes': {'enum': [0, 5, 30, 60, 360, 1440], 'type': 'integer', 'description': 'Minutes to wait after the main publish before posting the\ncomment. Fully honored on scheduled posts (Inngest sleep);\nbest-effort on immediate publishes.\n'}}, 'description': 'Auto-posts a comment on the published post. Honored on platforms\nwhose `capabilities.firstComment` is true (Facebook, Instagram,\nLinkedIn, YouTube, X, Bluesky, Threads).\n', 'additionalProperties': False}, 'platformSpecific': {'type': 'object', 'description': 'Alias for `platform_specific` (agent compatibility).', 'additionalProperties': True}, 'platform_specific': {'type': 'object', 'example': {'postMode': 'draft'}, 'properties': {'boardId': {'type': 'string', 'description': 'Camel-case alias for Pinterest board_id.'}, 'board_id': {'type': 'string', 'description': 'Pinterest board id returned by aidelly_list_pinterest_boards.'}}, 'description': 'Platform-specific options. Supported fields per platform:\n\n**Instagram**\n- `contentType` (`string`): `"post"` | `"reel"` | `"story"`. Defaults to `"reel"` for a single video, `"carousel"` for multiple images, `"post"` otherwise.\n- `instagramDestination` / `instagram_destination` (`string`): `"post"` | `"stories"` | `"post_stories"`. Use `stories` for Story-only or `post_stories` for feed + Story.\n- `reelOptions.shareToFeed` (`boolean`): Share reel to feed. Default `true`.\n- `reelOptions.trialReel.enabled` (`boolean`): Publish as a trial reel to non-followers first. When enabled, `shareToFeed` is forced to `false`.\n- `reelOptions.trialReel.graduationStrategy` (`string`): Required for trial reels. `"MANUAL"` graduates in Instagram; `"SS_PERFORMANCE"` graduates automatically based on performance.\n\n**TikTok**\n- `postMode` (`string`): `"direct"` (publish immediately) | `"draft"` (save to inbox for review). Default `"direct"`.\n- `postAsDraft` (`boolean`): Shorthand for `postMode: "draft"`.\n- `title` (`string`): Optional title shown in the TikTok inbox when posting as draft.\n- Aliases accepted for agents and normalized to camelCase: `post_mode`, `post_as_draft`, `publish_immediately`.\n- `photos` (`array`): For photo carousels — array of `{ url, order, caption? }` objects (max 35). When all media items are images, TikTok automatically creates a photo carousel.\n- `allowComments` (`boolean`), `allowDuet` (`boolean`), `allowStitch` (`boolean`): Interaction controls.\n\n**Facebook**\n- `fbPostType` (`string`): `"photo"` | `"carousel"`. Post type. `"carousel"` enables multi-card experience with child attachments. Defaults to `"photo"`.\n- `fbCarouselLink` (`string`): Destination link for all cards in a carousel. Required when `fbPostType="carousel"`.\n- `fbCarouselCards` (`array`): Optional per-card copy for carousel posts. Array of objects with `name` and `description` strings (max 5 items), index-aligned with media attachments. Example: `[{ name: "Card 1", description: "First card" }, { name: "Card 2", description: "Second card" }]`.\n- `enableFirstComment` (`boolean`): Post an auto-comment after publishing.\n- `firstCommentText` (`string`): Text for the auto-comment.\n- `facebookDestination` / `facebook_destination` (`string`): `"post"` | `"stories"` | `"post_stories"`. Publishes a Page Story via `/photo_stories` or `/video_stories`. Story media must be 9:16; videos 3-60s (MP4/MOV); photos JPEG/PNG/BMP/GIF/TIFF under 10MB. Behind the `FACEBOOK_STORIES_ENABLED` feature flag.\n\n**Facebook Carousel Behavior (backward compatible)**\nSet `fbPostType="carousel"` to opt in to carousel format. When `fbPostType` is absent or set to `"photo"`, the default behavior is used (single photo or video post). Absent or `"photo"` = backward compatible behavior.\n\n**Pinterest**\n- `board_id` / `boardId` (`string`): Board id returned by `GET /accounts/pinterest/boards`. When omitted, Aidelly resolves a board in this order: (1) value in the request payload, (2) board saved on the connected Pinterest account (`platform_specific`), (3) workspace posting default, (4) user-level posting default. Publishing fails preflight if no board can be resolved.\n\n**LinkedIn**\n- `contentType` (`string`): `"post"` | `"image"` | `"video"` — auto-detected from media if not specified.\n\n**Threads**\n- `replyControl` (`string`): `"everyone"` | `"accounts_you_follow"` | `"mentioned_only"`. Maps to the Threads API `reply_control` field. Defaults to the connection\'s saved Threads posting default, then `"everyone"`.\n- `topicTag` (`string`): A single topic tag (Threads accepts at most one per post). Maps to `topic_tag`.\n- `allowlistedCountryCodes` (`string[]`): ISO-3166 alpha-2 country codes that are allowed to see the post. Maps to `allowlisted_country_codes`. Empty array publishes globally.\n- `linkAttachmentUrl` (`string`): URL to attach as the canonical link preview. Maps to `link_attachment`.\n\n**Google Business** (`google_business`)\n- `locationName` (`string`, required): Full GBP location resource name, e.g. `accounts/{accountId}/locations/{locationId}`. Use the `id` from `/accounts` for a `google_business` row. Falls back to the connection\'s saved default location when omitted.\n- `topicType` (`string`): `"STANDARD"` | `"EVENT"` | `"OFFER"` | `"ALERT"`. Defaults to `"STANDARD"`.\n- `languageCode` (`string`): BCP-47 language tag (e.g. `"en-US"`). Defaults to `"en-US"`.\n- `callToActionType` (`string`): `"BOOK"` | `"ORDER"` | `"SHOP"` | `"LEARN_MORE"` | `"SIGN_UP"` | `"CALL"`. Adds a CTA button to STANDARD posts only.\n- `callToActionUrl` (`string`): Required for every CTA except `CALL`, which uses the phone number on the Business Profile.\n- `event` (`object`, required when `topicType` is `"EVENT"`): `{ title, schedule }` where `schedule` accepts ISO `start`/`end` strings or Google date/time objects (`startDate`, `startTime`, `endDate`, `endTime`).\n- `offer` (`object`, required when `topicType` is `"OFFER"`): `{ schedule, couponCode?, redeemOnlineUrl?, termsConditions? }`.\n- `alertType` (`string`, required when `topicType` is `"ALERT"`): Currently `"COVID_19"`.\n', 'additionalProperties': True}, 'facebook_destination': {'enum': ['post', 'stories', 'post_stories'], 'type': 'string', 'description': 'Facebook destination for posts. Use "stories" for a Page Story only or "post_stories" for feed + Story. Behind the FACEBOOK_STORIES_ENABLED feature flag.'}, 'instagram_destination': {'enum': ['post', 'stories', 'post_stories'], 'type': 'string', 'description': 'Instagram destination for posts. Use "stories" for Story-only or "post_stories" for feed + Story.'}}, 'additionalProperties': False}, 'brand_id': {'type': 'string'}, 'metadata': {'type': 'object', 'example': {'source': 'agent', 'campaign': 'spring-launch'}, 'additionalProperties': True}, 'platform': {'enum': ['facebook', 'instagram', 'linkedin', 'twitter', 'bluesky', 'threads', 'pinterest', 'youtube', 'tiktok', 'google_business', 'mastodon'], 'type': 'string', 'example': 'linkedin', 'description': 'Supported platform identifier. `twitter` and `x` map to the same surface;\nresponses always normalize to `twitter`. `google_business` posts target\na single Google Business Profile location identified by\n`platform_specific.locationName`. `mastodon` accounts are per-instance —\nthe connected account carries its own `instance_url`.\n'}, 'timezone': {'type': 'string', 'example': 'UTC'}, 'account_id': {'type': 'string', 'example': 'social-account-id', 'description': 'The account / sub-account this post should target. Format depends on platform:\n  - **facebook** — Page ID (numeric string from `/accounts`).\n  - **instagram** — Instagram Business Account ID.\n  - **linkedin** — connection ID for personal posts; LinkedIn organization URN for company posts.\n  - **google_business** — GBP location resource name. Either fully-qualified\n    `accounts/{accountId}/locations/{locationId}` or the relative\n    `locations/{locationId}` form. Fetch with `GET /accounts` (rows where\n    `account_type: location`).\n  - **twitter / bluesky / threads / tiktok / youtube / pinterest / mastodon** — single-account\n    platforms; `account_id` is optional and ignored.\n\nWhen omitted, posts use the workspace-level default for that platform.\n'}, 'scheduled_at': {'type': 'string', 'format': 'date-time', 'example': '2026-02-18T17:30:00Z'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}, 'facebook_destination': {'enum': ['post', 'stories', 'post_stories'], 'type': 'string', 'description': 'Facebook-only destination. Use post for feed only, stories for a Page Story only, or post_stories for both. Behind the FACEBOOK_STORIES_ENABLED feature flag - requests that set it while the flag is off are rejected with a validation error.'}, 'instagram_destination': {'enum': ['post', 'stories', 'post_stories'], 'type': 'string', 'description': 'Instagram-only destination. Use post for feed only, stories for Stories only, or post_stories for both feed and Stories.'}}, 'additionalProperties': False}
aidelly_create_post_comment
Create a comment on a post. Text body is required; @mention parsing is automatic. Replies require parent_comment_id pointing to the root comment.
可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key', 'text'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'text': {'type': 'string', 'maxLength': 10000, 'minLength': 1, 'description': 'Comment body text (@mentions are parsed automatically)'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}, 'parent_comment_id': {'type': 'string', 'format': 'uuid', 'nullable': True, 'description': 'ID of parent comment for threaded replies'}}, 'additionalProperties': False}
aidelly_create_queue
POST /queues — create a new content distribution queue with recurring weekly time slots.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'name', 'slots'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Queue name'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'slots': {'type': 'array', 'items': {'type': 'object', 'required': ['weekday', 'hour', 'minute'], 'properties': {'hour': {'type': 'integer', 'maximum': 23, 'minimum': 0}, 'minute': {'type': 'integer', 'maximum': 59, 'minimum': 0}, 'weekday': {'type': 'integer', 'maximum': 6, 'minimum': 0, 'description': '0=Sunday through 6=Saturday'}}}, 'minItems': 1, 'description': 'Time slots when queue should post'}, 'brand_id': {'type': 'string'}, 'channels': {'type': 'array', 'items': {'type': 'object', 'required': ['platform'], 'properties': {'platform': {'type': 'string'}, 'accountId': {'type': 'string', 'description': 'Optional; platform-specific account ID'}}}, 'description': 'Channels to post to from this queue'}, 'timezone': {'type': 'string', 'description': 'IANA timezone ID for slot times (e.g. America/New_York)'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_create_report
Create a report for a date range and synchronously build its analytics snapshot from the workspace connected accounts. Requires an Idempotency-Key header.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'title', 'dateRangeStart', 'dateRangeEnd'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'title': {'type': 'string', 'example': 'November Report', 'maxLength': 120, 'minLength': 1}, 'brand_id': {'type': 'string'}, 'sections': {'type': 'array', 'items': {'enum': ['summary', 'platform_breakdown', 'top_posts', 'period_comparison', 'insights', 'commentary', 'trend'], 'type': 'string'}}, 'commentary': {'type': 'string', 'maxLength': 4000}, 'templateId': {'type': 'string', 'format': 'uuid'}, 'dateRangeEnd': {'type': 'string', 'format': 'date', 'example': '2024-11-30'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'dateRangeStart': {'type': 'string', 'format': 'date', 'example': '2024-11-01'}, 'idempotency_key': {'type': 'string'}, 'includeComparison': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
aidelly_create_report_link
POST /report-links — create a shareable report link (snapshot or live with cadence).
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'report_id', 'mode'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'mode': {'enum': ['snapshot', 'live'], 'type': 'string', 'default': 'snapshot', 'description': 'snapshot for static link, live for auto-updating'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cadence': {'enum': ['weekly', 'monthly'], 'type': 'string', 'nullable': True, 'description': 'Required for live mode; update frequency'}, 'brand_id': {'type': 'string'}, 'password': {'type': 'string', 'nullable': True, 'minLength': 1, 'description': 'Optional password to protect the share link'}, 'report_id': {'type': 'string', 'format': 'uuid', 'description': 'UUID of the report to share'}, 'expires_at': {'type': 'string', 'format': 'date-time', 'nullable': True, 'description': 'Optional expiration timestamp in ISO 8601 format'}, 'template_id': {'type': 'string', 'format': 'uuid', 'nullable': True, 'description': 'Optional report template to use for rendering'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_create_report_schedule
Create a new report schedule. Soft-capped at 10 active schedules per workspace.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'report_id', 'cadence', 'recipient_emails'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'name': {'type': 'string', 'description': "Schedule name, unique per workspace. Defaults to the seed report's title; a duplicate name returns 409 PUBLIC_API_SCHEDULE_NAME_CONFLICT."}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cadence': {'enum': ['daily', 'weekly', 'biweekly', 'monthly'], 'type': 'string'}, 'brand_id': {'type': 'string'}, 'report_id': {'type': 'string', 'format': 'uuid'}, 'next_run_at': {'type': 'string', 'format': 'date-time', 'description': 'ISO 8601 datetime. If omitted, auto-calculated based on cadence.'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}, 'recipient_emails': {'type': 'array', 'items': {'type': 'string', 'format': 'email'}, 'maxItems': 20, 'minItems': 1}}, 'additionalProperties': False}
aidelly_create_repurpose_job
Run a synchronous repurpose job: extract source content, distill, and generate output for one (medium, shape) target.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'sourceType', 'medium', 'shape'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'shape': {'type': 'string', 'example': 'carousel_7', 'minLength': 1, 'description': 'Output shape ID — must be one of the valid shapes for the chosen\n`medium` (an invalid pair returns 400 listing the valid shapes):\ntwitter: single_tweet | thread_3 | thread_5 | thread_10 | thread_script | long_form_article\ninstagram: single_post | carousel_7 | reel_script\nlinkedin: short_post | long_form_1500w | article | carousel_7\ntiktok: caption | video_script | shorts_script\nyoutube: description | video_script | shorts_script\npinterest: pin_description\nthreads: single_post | thread_5\nfacebook: short_post\nsubstack_newsletter: essay_800w | essay_2000w\nsubstack_note: note\nreddit_thread: post_title_and_body\nnewsletter: issue_600w\nemail: subject_and_body\npodcast: episode_outline | show_notes\nlead_resource: lead_magnet_outline | one_pager\ncase_study: case_study_writeup\nbluesky: single_post | thread_3\nmastodon: single_post\ngoogle_business: update_post\n'}, 'medium': {'enum': ['twitter', 'instagram', 'linkedin', 'tiktok', 'youtube', 'pinterest', 'threads', 'facebook', 'substack_newsletter', 'substack_note', 'reddit_thread', 'newsletter', 'email', 'podcast', 'lead_resource', 'case_study', 'bluesky', 'mastodon', 'google_business'], 'type': 'string'}, 'brand_id': {'type': 'string'}, 'sourceRef': {'type': 'string', 'description': 'URL for `url`/`youtube`, storage ref for `pdf`, or row id for\n`aidelly_draft` / `aidelly_scheduled`. Required unless `sourceType`\nis `raw_text`.\n'}, 'sourceText': {'type': 'string', 'description': 'Required when `sourceType` is `raw_text`.'}, 'sourceType': {'enum': ['url', 'youtube', 'pdf', 'aidelly_draft', 'aidelly_scheduled', 'raw_text'], 'type': 'string'}, 'sourceTitle': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_create_scheduled_post
POST /scheduled-posts — schedule a post with optional auto-recycle entries (up to 3 reposts + 3 reshares). When Team Approvals is on, member submissions land as pending. Public API preview. LinkedIn document posts attach one PDF (≤100 MB, ≤300 pages) as media[].type = "document"; documents are rejected on every other platform.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'platform', 'scheduled_at', 'payload'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'payload': {'type': 'object', 'description': 'Post content. `payload.media` accepts URL objects, objects with `media_id`, or bare media-library UUID strings owned by the selected workspace.\n`media[].type` accepts `image`, `video`, `gif`, or `document`, and is resolved from the media-library row when omitted (`application/pdf` → `document`).\nLinkedIn document posts attach one PDF (≤100 MB, ≤300 pages) as `media[].type = "document"`; documents on any other platform are rejected with `422`.\n', 'additionalProperties': True}, 'recycle': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'offset_seconds'], 'properties': {'kind': {'enum': ['repost', 'reshare'], 'type': 'string'}, 'offset_seconds': {'type': 'integer', 'maximum': 31536000, 'minimum': 3600, 'description': 'Seconds after the source publishes when this recycle fires.'}}}, 'maxItems': 6}, 'brand_id': {'type': 'string'}, 'platform': {'type': 'string'}, 'timezone': {'type': 'string', 'default': 'UTC'}, 'account_id': {'type': 'string', 'description': 'A provider account ID from `/accounts`, or a social connection UUID selector.'}, 'scheduled_at': {'type': 'string', 'format': 'date-time'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}, 'content_campaign_id': {'type': 'string', 'format': 'uuid', 'nullable': True}}, 'additionalProperties': False}
aidelly_create_short_link
Create a manual short link on the workspace.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'target_url'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'target_url': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}, 'source_platform': {'type': 'string', 'description': 'Optional originating platform identifier (e.g. `instagram`).'}}, 'additionalProperties': False}
aidelly_create_task
Create a new task in the workspace.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'title'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'title': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'Task title.'}, 'due_at': {'type': 'string', 'format': 'date-time', 'nullable': True, 'description': 'ISO 8601 due date/time.'}, 'status': {'enum': ['todo', 'in_progress', 'blocked', 'done', 'canceled'], 'type': 'string', 'description': 'Task status (default "todo").'}, 'brand_id': {'type': 'string'}, 'priority': {'enum': ['low', 'normal', 'high', 'urgent'], 'type': 'string', 'description': 'Task priority (default "normal").'}, 'description': {'type': 'string', 'nullable': True, 'maxLength': 20000, 'description': 'Task description.'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'linked_idea_id': {'type': 'string', 'format': 'uuid', 'nullable': True, 'description': 'UUID of linked idea (mutually exclusive with linked_post_id).'}, 'linked_post_id': {'type': 'string', 'format': 'uuid', 'nullable': True, 'description': 'UUID of linked post (mutually exclusive with linked_idea_id).'}, 'idempotency_key': {'type': 'string'}, 'assignee_user_id': {'type': 'string', 'format': 'uuid', 'nullable': True, 'description': 'UUID of assignee (must be an active workspace member).'}}, 'additionalProperties': False}
aidelly_create_webhook
Create a webhook subscription for post lifecycle events.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'events': {'type': 'array', 'items': {'enum': ['post.created', 'post.scheduled', 'post.published', 'post.failed', 'post.canceled'], 'type': 'string'}}, 'secret': {'type': 'string', 'maxLength': 128, 'minLength': 12}, 'brand_id': {'type': 'string'}, 'description': {'type': 'string', 'maxLength': 140}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_create_workspace
POST /workspaces — create a new workspace for the API key owner.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'name'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'name': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'workspace_type': {'enum': ['traditional', 'agentic'], 'type': 'string'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_delete_calendar_events_id
Delete a calendar event by id from the selected workspace. This removes the stored event, or cancels the post when the calendar uses scheduled posts as its backing store. Returns the deletion result.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_delete_calendar_share_link
Permanently delete a calendar share link so its public /calendar/share/<token> URL stops working. This is irreversible — disable the link in-app instead if you may need it back. Returns 404 for unknown ids and for links in another workspace alike.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_delete_campaign
Delete a content campaign. Campaigns with no scheduled or published posts are removed outright; campaigns that publish history still references are soft-deleted so the history keeps its grouping (the response's soft_deleted flag says which happened). Either way the campaign stops appearing anywhere. Returns 404 for unknown ids and for campaigns in another workspace alike.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_delete_content_automations_id
Delete a content automation rule by id. Removes the saved rule so it cannot run on future triggers; returns the deletion result.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_delete_draft
Delete a draft by ID. Drafts are work-in-progress content that never publish. Existing API keys need the new `drafts:write` scope added to gain draft access; no implicit grant occurs.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['idempotency_key', 'id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_delete_inbox_automations_id
Delete an inbox automatic reply rule by id. Removes its configuration so the rule no longer handles future triggers; returns the deletion result.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_delete_post_comment
Soft delete a comment. Only the author or workspace owner can delete comments.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id', 'commentId', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'commentId': {'type': 'string', 'format': 'uuid'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_delete_report_schedule
Soft-delete a report schedule (sets active=false, idempotent).
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['idempotency_key', 'id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_delete_short_link
Permanently delete a short link. The /l/<slug> redirect stops working and the link's click history is deleted with it, so prefer this only when the link should disappear entirely. Call aidelly_list_short_links first to get the link id. Returns 404 for unknown ids and for links in another workspace alike.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_delete_task
Soft-delete a task (hidden but can be restored).
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['idempotency_key', 'id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_delete_webhook
Delete a webhook subscription by ID.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_delete_workspace
DELETE /workspaces/{workspaceId} — soft-delete a workspace. Requires confirm_name to match the workspace name.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['idempotency_key', 'workspaceId', 'confirm_name'], 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'reason': {'type': 'string', 'maxLength': 500}, 'brand_id': {'type': 'string'}, 'workspaceId': {'type': 'string', 'format': 'uuid'}, 'confirm_name': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_disconnect_ecommerce_store
DELETE /ecommerce/stores/{id} — revoke the provider credential and stop future syncs. Imported products remain. Public API preview.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['idempotency_key', 'id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_generate_brand_interview_questions
POST /ideas/interview/questions — generate a brand-aware track of interview questions. Default count 8. Public API preview.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'count': {'type': 'integer', 'default': 8, 'maximum': 20, 'minimum': 4}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'steer': {'type': 'string', 'description': 'Optional steering hint to bias the question set.'}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_get_agency_overview
GET /agency/overview — cross-workspace agency summary (same data as the dashboard Command Center) — today's queue + next scheduled post, last-24h failures, pending approvals, inbox split by comments/DMs, and credit burn per workspace. Needs a workspace-unscoped key.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'tz': {'type': 'string'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_ai_credit_balance
Get workspace AI credit balance snapshot, including plan credits, trial grants, and purchased credits.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_analytics_insights
Read existing workspace analytics insights. May return an empty list; does not generate insights or restrict them to the summary date range. Do not infer trends from missing or stale insights.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'type': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'brand_id': {'type': 'string'}, 'dismissed': {'enum': ['true', 'false'], 'type': 'string'}, 'platforms': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_analytics_summary
Summarize workspace analytics for timeframe (for example 30d) or startDate/endDate. Pass workspace_id. Rank channels using summary.platformMetrics and state the metric used. For trends, compare separate date ranges; report insufficient data when appropriate.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'endDate': {'type': 'string', 'format': 'date'}, 'brand_id': {'type': 'string'}, 'startDate': {'type': 'string', 'format': 'date'}, 'timeframe': {'type': 'string', 'default': '7d', 'pattern': '^\\d+d$'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'includeActivity': {'type': 'boolean', 'default': False}, 'includeInsights': {'type': 'boolean', 'default': True}}, 'additionalProperties': False}
aidelly_get_analytics_unified
Read unified social analytics rows for workspace_id, combining stored and live provider metrics. Requires from and to as YYYY-MM-DD dates, not timestamps; optionally filter platforms with a comma-separated list. Returns metrics by post, account, and date.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string', 'format': 'date'}, 'from': {'type': 'string', 'format': 'date'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'platforms': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_approvals
List content approval batches for workspace_id. Use status=pending for pending work and page/limit for pagination (maximum 50). Summary status and content counts describe the current page; pagination.total describes all matching batches. Separate from aidelly_list_pending_approvals (post sign-off). Reading does not approve content.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'status': {'type': 'string'}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_approval_settings
GET /workspaces/{workspaceId}/approval-settings — read member and owner-review approval settings. Public API preview.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['workspaceId'], 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspaceId': {'type': 'string', 'format': 'uuid'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_approvals_id
Read a content approval batch by id, including its generated content and review status. Use this to inspect work awaiting review. Does not approve, reject, or schedule content.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_bio_page
Get the workspace's link-in-bio page configuration and blocks.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_brand_profile
Retrieve the workspace brand profile and voice. Use aidelly_list_social_connections for current connection status; profile socialConnections and aiSummary may be historical. Prefer explicit profile fields over conflicting aiSummary text.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_brand_settings_context
Read aggregated brand settings context for the selected workspace. Use this to inspect existing brand configuration before planning content or changing settings; it does not modify the brand.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_bulk_fill_job
Read the status of a previously created bulk calendar fill job by jobId. Returns job progress or completion status; a successful job creation response alone does not mean all posts were scheduled. Does not create or retry posts.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['jobId'], 'properties': {'jobId': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_calendar_events
List content calendar events for the selected workspace, including timing, status, and content details. Use returned cursors to read additional pages. This only reads the calendar.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_content_automations
List saved content automation rules for the selected workspace. Returns rule configuration and activity state; follow next_cursor for additional pages. Does not run or change rules.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_content_automations_id
Read one saved content automation rule by id, including its configuration. Use this to inspect the rule before editing or triggering it. Does not run the automation.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_draft
Get a single post draft by id. Drafts are never published; draft_planned_for is a planning date only. Ids must be copied exactly from aidelly_list_drafts.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_ecommerce_store
GET /ecommerce/stores/{id} — read one connected store. Public API preview.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_inbox_automations
List configured social inbox automation rules for the selected workspace, including their trigger and response settings. Reading rules does not enable them or send messages.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_inbox_items
List social inbox messages and comments available in the selected workspace. Returns inbox items for triage or selecting an item to reply to; follow next_cursor for additional pages. Does not send replies.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_post
Get one post by its UUID. Delivery is confirmed only when status is completed and provider_post_id is non-null. A failed status includes error_code and error.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_post_analytics
GET /posts/{id}/analytics — retrieve post performance metrics (views, impressions, likes, comments, shares, saves) with optional daily breakdown.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'to': {'type': 'string', 'format': 'date-time'}, 'from': {'type': 'string', 'format': 'date-time'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'granularity': {'enum': ['daily'], 'type': 'string', 'description': 'Optional granularity for daily metrics breakdown'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_report
Retrieve a single report by ID (workspace-scoped).
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_report_schedule
Retrieve a single report schedule by ID (workspace-scoped).
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_repurpose_job
Get a single repurpose job by id.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_scheduled_post
GET /scheduled-posts/{id} — read one scheduled post including its recycle plan and approval state. Public API preview.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_task
Get full details of a task including attachments and activity history.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_usage
Get usage metrics and current plan-aware limits for the API key.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'to': {'type': 'string', 'format': 'date-time'}, 'from': {'type': 'string', 'format': 'date-time'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_white_label_config
GET /white-label — retrieve the agency's white-label branding configuration including domain verification status and DNS instructions. Domain changes must go through the in-app verification flow to handle ownership validation.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_get_workspace
GET /workspaces/{workspaceId} — retrieve one accessible workspace.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['workspaceId'], 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspaceId': {'type': 'string', 'format': 'uuid'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_invite_workspace_member
POST /workspaces/{workspaceId}/invitations — invite a member or client to a workspace. Returns the invitation URL and queues the email by default.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'workspaceId', 'email'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'role': {'enum': ['admin', 'member', 'client'], 'type': 'string', 'default': 'member'}, 'email': {'type': 'string', 'format': 'email'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'send_email': {'type': 'boolean', 'default': True}, 'workspaceId': {'type': 'string', 'format': 'uuid'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_list_accounts
List all postable accounts in a workspace as a flat list, including sub-accounts such as Facebook Pages, Instagram Business accounts, and LinkedIn company pages. Requires `workspace_id`. Use the `id` field from each account as the `account_id` when creating a post. Call this before creating posts to discover available account IDs per platform.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['workspace_id'], 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
aidelly_list_activity
List workspace activity audit trail with optional filtering and cursor pagination.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'since': {'type': 'string', 'format': 'date-time'}, 'until': {'type': 'string', 'format': 'date-time'}, 'action': {'type': 'string'}, 'cursor': {'type': 'string'}, 'brand_id': {'type': 'string'}, 'actor_type': {'enum': ['user', 'system', 'api', 'automation'], 'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_client_review_links
GET /client-review-links — list workspace client review links with metadata (view count, last viewed, revoked status).
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_competitors
List tracked competitor domains for the workspace.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'include_archived': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
aidelly_list_connection_attempts
List recent social-connect (OAuth) attempts in a workspace, including failed ones, with the platform, initiator, outcome, and error code. Requires `workspace_id`. Use this to diagnose why a client could not connect an account; use aidelly_list_accounts for accounts that actually connected.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['workspace_id'], 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'outcome': {'enum': ['success', 'error'], 'type': 'string'}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
aidelly_list_connect_link_connections
List social connections made through an OAuth connect link.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_connect_links
List the workspace's OAuth connect links.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_creators
List tracked creator handles for the workspace.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'platform': {'enum': ['x', 'youtube', 'threads', 'bluesky', 'pinterest'], 'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'include_archived': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
aidelly_list_destination_presets
GET /destination-presets — list workspace destination presets for multi-channel fan-out.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_drafts
List workspace drafts with optional platform filtering. Drafts are saved as work-in-progress content and never publish.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'brand_id': {'type': 'string'}, 'platform': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_ecommerce_products
GET /ecommerce/products — list products across the workspace's connected stores. Filter by store, search title/SKU. Public API preview.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'brand_id': {'type': 'string'}, 'store_id': {'type': 'string', 'format': 'uuid'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_ecommerce_stores
GET /ecommerce/stores — list connected Shopify / WooCommerce / Etsy / Wix stores for the workspace. Public API preview.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_ideas
List ideas on the workspace's idea board, freshest first (pinned first).
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'include_archived': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
aidelly_list_image_editor_outputs
List the workspace's saved AI-generated and edited image outputs, freshest first.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_pending_approvals
GET /posts/approvals — list posts pending sign-off for the current workspace, plus viewer role + canReview flag. Public API preview.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_pinterest_boards
List Pinterest boards available in a workspace. Call this before aidelly_create_post for Pinterest, then pass the selected board id as content.platform_specific.board_id.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['workspace_id'], 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'bookmark': {'type': 'string'}, 'brand_id': {'type': 'string'}, 'page_size': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'workspace_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
aidelly_list_post_approval_events
GET /posts/approvals/{id}/events — read the approval audit timeline (submitted/approved/rejected/returned_to_draft/commented) for one post. Public API preview.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_post_comments
List comments on a post with cursor pagination. Comments are threaded; replies are returned alongside root comments.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_posts
List posts with optional platform, status, and date-range filters.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'to': {'type': 'string', 'format': 'date-time'}, 'from': {'type': 'string', 'format': 'date-time'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'status': {'enum': ['scheduled', 'pending', 'processing', 'retry', 'completed', 'failed', 'canceled'], 'type': 'string', 'example': 'scheduled'}, 'brand_id': {'type': 'string'}, 'platform': {'enum': ['facebook', 'instagram', 'linkedin', 'twitter', 'bluesky', 'threads', 'pinterest', 'youtube', 'tiktok', 'google_business', 'mastodon'], 'type': 'string', 'example': 'linkedin', 'description': 'Supported platform identifier. `twitter` and `x` map to the same surface;\nresponses always normalize to `twitter`. `google_business` posts target\na single Google Business Profile location identified by\n`platform_specific.locationName`. `mastodon` accounts are per-instance —\nthe connected account carries its own `instance_url`.\n'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_prompts
List reusable prompt templates available in the selected workspace. Returns templates to inspect and select before execution; use limit (1-50) and cursor for pagination. Does not run prompts.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'description': 'Opaque cursor from previous page'}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_queues
GET /queues — list workspace content queues with slot schedules and channel assignments.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_report_links
GET /report-links — list workspace report share links, optionally filtered by mode (snapshot or live).
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'mode': {'enum': ['snapshot', 'live'], 'type': 'string'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_reports
List all reports in the workspace with pagination.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_report_schedules
List all report schedules in the workspace with pagination and active status filtering.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'active': {'type': 'boolean'}, 'cursor': {'type': 'string', 'maxLength': 512}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_repurpose_jobs
List recent repurpose jobs for the workspace.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_scheduled_posts
List workspace scheduled posts with from/to timestamps, status, platform, and cursor pagination (maximum 100 per page). Returns items with scheduled_at and approval_status; an empty items array means no matching posts. Approval state is separate from publishing status.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'to': {'type': 'string', 'format': 'date-time'}, 'from': {'type': 'string', 'format': 'date-time'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'status': {'enum': ['scheduled', 'pending', 'processing', 'retry', 'completed', 'failed', 'canceled'], 'type': 'string'}, 'brand_id': {'type': 'string'}, 'platform': {'enum': ['facebook', 'instagram', 'linkedin', 'twitter', 'bluesky', 'threads', 'pinterest', 'youtube', 'tiktok', 'google_business', 'mastodon'], 'type': 'string', 'example': 'linkedin', 'description': 'Supported platform identifier. `twitter` and `x` map to the same surface;\nresponses always normalize to `twitter`. `google_business` posts target\na single Google Business Profile location identified by\n`platform_specific.locationName`. `mastodon` accounts are per-instance —\nthe connected account carries its own `instance_url`.\n'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_short_links
List the workspace's first-party short links (active only by default).
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'brand_id': {'type': 'string'}, 'active_only': {'type': 'boolean', 'default': True}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_social_connections
List available social connections for publishing.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_tasks
List workspace tasks with optional filtering by status, assignee, or ownership. Supports offset pagination.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'mine': {'type': 'boolean', 'default': False}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'status': {'type': 'string'}, 'assignee': {'type': 'string', 'format': 'uuid'}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'include_completed': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
aidelly_list_viral_trends
List discovered viral trends for the workspace, ordered by virality score.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 60, 'maximum': 200, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'status': {'enum': ['new', 'saved', 'curated', 'dismissed', 'active'], 'type': 'string'}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_webhook_deliveries
List delivery attempts for one webhook so you can verify events actually arrived. status is one of pending, delivered, failed (will be retried at next_attempt_at), or dead_letter (retries exhausted or the webhook was removed — these will never be retried). Cursor-paginated: follow next_cursor until it is null. Call aidelly_list_webhooks first to get the webhook id.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cursor': {'type': 'string', 'maxLength': 512}, 'status': {'enum': ['pending', 'delivered', 'failed', 'dead_letter'], 'type': 'string'}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_webhooks
List webhook subscriptions for post lifecycle events.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_workspace_members
GET /workspaces/{workspaceId}/members — list active members and pending invitations.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['workspaceId'], 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspaceId': {'type': 'string', 'format': 'uuid'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_list_workspaces
List workspace IDs available to this API key. Call this before creating posts when the user has multiple workspaces, then pass the chosen `id` as `workspace_id` so Aidelly posts to the exact workspace.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}}, 'additionalProperties': False}
aidelly_patch_analytics_insights
Update the recorded state of an analytics insight in workspace_id. Supply insightId and action (view, dismiss, or act_upon). Marks the insight as viewed, dismissed, or acted upon; it does not execute the recommendation itself.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'action': {'enum': ['view', 'dismiss', 'act_upon'], 'type': 'string', 'description': 'Action to perform.'}, 'brand_id': {'type': 'string'}, 'insightId': {'type': 'string', 'description': 'ID of the insight to act upon.'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_patch_calendar_events_id
Update an existing calendar event by id. Supply changed fields in body, such as scheduled_at, timezone, event_title, or scheduled_content_text. This overwrites stored event fields and can change the publication schedule; returns the updated event.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_patch_inbox_automations_id
Update an inbox automatic reply rule by id, overwriting the supplied settings. Can change its message, trigger, connected account, guardrails, or enabled state. Enabled rules can send replies automatically; moving to Facebook clears Instagram-only fields. Returns the updated rule.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'enabled': {'type': 'boolean'}, 'keyword': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'message': {'type': 'string', 'maxLength': 5000, 'minLength': 1}, 'brand_id': {'type': 'string'}, 'platform': {'enum': ['instagram', 'facebook'], 'type': 'string', 'description': 'Optional. Checked against the selected account rather than stored directly.'}, 'matchType': {'enum': ['contains'], 'type': 'string'}, 'guardrails': {'type': 'object', 'properties': {'quietHours': {'type': 'object', 'required': ['start', 'end', 'timezone'], 'properties': {'end': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, 'start': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, 'timezone': {'type': 'string', 'maxLength': 100, 'minLength': 1}}}, 'handoffKeywords': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 10}, 'maxRepliesPerConversationPerDay': {'type': 'integer', 'maximum': 10, 'minimum': 1}}}, 'responseMode': {'enum': ['template', 'ai'], 'type': 'string'}, 'triggerEvent': {'enum': ['comment', 'dm'], 'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}, 'platformAccountId': {'type': 'string', 'maxLength': 255, 'minLength': 1}, 'campaignDurationDays': {'enum': [7, 14, 21, 30], 'type': 'integer'}}, 'additionalProperties': False}
aidelly_patch_posts_id
Update an existing mutable scheduled post by id. Supply changed content, scheduled_at, timezone, or metadata in body. Overwrites those fields and re-enqueues publication unless approval is required; completed posts cannot be edited. Returns the updated post.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_post_analytics_insights
Generate and save AI analytics insights for workspace_id, optionally limited to platforms. Set regenerate=true to force a fresh analysis even when insights exist. Use the read insights tool when only retrieving existing results.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'platforms': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Platforms to analyze for insights.'}, 'regenerate': {'type': 'boolean', 'description': 'If true, force regeneration even if insights exist.'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_post_approvals_id_action
Apply a review action to an entire content approval batch by id using body.action. Supports approve_all, reject_all, reset_all, and schedule_all. schedule_all requires schedule_time; approve_all with schedule_time also schedules posts. Obtain user confirmation before approval or scheduling. Returns the batch action result.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_post_approvals_items_action
Apply a review action to selected approval content_ids using body. Supports approve, reject, reschedule, edit, and edit_approve. Changes stored review decisions or content; obtain user confirmation before approval or scheduling. Returns the action result and processed item count.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_post_content_automations
Create a content automation rule from the configuration in body. Supports scheduled content generation and YouTube repurposing rules. Active rules can generate content and schedule or publish according to their approval settings; returns the saved rule.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_post_content_automations_id_trigger
Manually trigger a saved content automation rule by id. Starts content generation using its configuration and may schedule or publish according to its approval settings. Use only when the user requests execution; returns the trigger result.
可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_post_inbox_automations
Create an automatic reply rule for a connected Instagram account or Facebook Page. Requires platformAccountId and message, plus keyword for comment triggers. Rules are enabled by default and can send replies automatically; set enabled=false to save an inactive rule. Returns the created rule.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'platformAccountId', 'message'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'enabled': {'type': 'boolean', 'default': True}, 'keyword': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Required when triggerEvent is `comment`.'}, 'message': {'type': 'string', 'maxLength': 5000, 'minLength': 1}, 'brand_id': {'type': 'string'}, 'platform': {'enum': ['instagram', 'facebook'], 'type': 'string', 'description': 'Optional. Derived from the selected account when omitted.'}, 'matchType': {'enum': ['contains'], 'type': 'string', 'default': 'contains'}, 'guardrails': {'type': 'object', 'properties': {'quietHours': {'type': 'object', 'required': ['start', 'end', 'timezone'], 'properties': {'end': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, 'start': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$'}, 'timezone': {'type': 'string', 'maxLength': 100, 'minLength': 1}}}, 'handoffKeywords': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 10}, 'maxRepliesPerConversationPerDay': {'type': 'integer', 'maximum': 10, 'minimum': 1}}}, 'responseMode': {'enum': ['template', 'ai'], 'type': 'string', 'default': 'template'}, 'triggerEvent': {'enum': ['comment', 'dm'], 'type': 'string', 'default': 'comment'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}, 'platformAccountId': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': "Instagram account id or Facebook Page id from the workspace's connected accounts."}, 'campaignDurationDays': {'enum': [7, 14, 21, 30], 'type': 'integer', 'default': 30}}, 'additionalProperties': False}
aidelly_post_inbox_items_id_ai_draft
Generate an AI reply draft for an inbox item id. Returns suggested reply text and attempts to save it on the item, replacing any previous AI draft. Does not send the reply; use the respond tool after the user approves the message.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_post_inbox_items_id_respond
Send a reply to the social message or comment identified by the inbox item id. Pass the approved message in body.message. This sends externally through the connected account and returns sent status and the provider message id when available.
可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_preview_destination_preset
POST /destination-presets/{id}/preview — preview how a preset transforms a source post across channels.
可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key', 'source'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'source': {'type': 'object', 'required': ['platform'], 'properties': {'link': {'type': 'string', 'format': 'uri', 'description': 'Optional link in post'}, 'title': {'type': 'string', 'description': 'Optional title'}, 'caption': {'type': 'string', 'default': ''}, 'hashtags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional hashtags in source post'}, 'platform': {'type': 'string'}, 'accountId': {'type': 'string', 'description': 'Optional platform account ID'}, 'mediaKind': {'enum': ['none', 'image', 'video', 'carousel'], 'type': 'string', 'default': 'none'}, 'scheduledAt': {'type': 'string', 'format': 'date-time', 'description': 'Optional scheduled publish time'}}}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_put_content_automations_id
Update the saved content automation rule identified by id using the configuration in body. Overwrites rule settings that control future generation, destinations, and approval behavior. Active rules may schedule or publish content according to those settings; returns the updated rule.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_remove_workspace_member
DELETE /workspaces/{workspaceId}/members — remove a workspace member.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['idempotency_key', 'workspaceId', 'user_id'], 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'user_id': {'type': 'string', 'format': 'uuid'}, 'brand_id': {'type': 'string'}, 'workspaceId': {'type': 'string', 'format': 'uuid'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_revoke_client_review_link
DELETE /client-review-links/{id} — revoke a client review link and block further access.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_revoke_connect_link
Revoke an OAuth connect link, preventing further use.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_revoke_report_link
DELETE /report-links/{id} — revoke a report share link.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_revoke_workspace_invitation
DELETE /workspaces/{workspaceId}/invitations — revoke a pending workspace invitation.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['idempotency_key', 'workspaceId', 'invitation_id'], 'properties': {'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspaceId': {'type': 'string', 'format': 'uuid'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'invitation_id': {'type': 'string', 'format': 'uuid'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_run_prompt
Execute a saved prompt template by id with its template variables in input_values. Generates an AI result, consumes applicable credits, and saves the prompt run. Returns the generated result; use list prompts to select the template first.
可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key', 'input_values'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'input_values': {'type': 'object', 'description': 'Key-value pairs for prompt template variables', 'additionalProperties': {'oneOf': [{'type': 'string'}, {'type': 'boolean'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_sync_ecommerce_store
POST /ecommerce/stores/{id}/sync — re-sync the store's catalog. Incremental; only changed products are fetched. Public API preview.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_update_approval_settings
PATCH /workspaces/{workspaceId}/approval-settings — update member or owner-review approval settings. Owner review is owner-only. Public API preview.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'workspaceId'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'workspaceId': {'type': 'string', 'format': 'uuid'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}, 'requireOwnerReview': {'type': 'boolean', 'description': 'Hold posts created by the workspace owner for explicit owner approval.'}, 'requireMemberApproval': {'type': 'boolean'}}, 'additionalProperties': False}
aidelly_update_brand_profile
PUT /brand/profile — update workspace brand profile fields such as brand_voice, writing_style, and target_audience.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'goals': {'type': 'array', 'items': {'type': 'string', 'maxLength': 120}, 'maxItems': 20}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'website': {'type': 'string', 'format': 'uri', 'maxLength': 500}, 'brand_id': {'type': 'string'}, 'industry': {'type': 'string', 'maxLength': 100}, 'position': {'type': 'string', 'maxLength': 200}, 'brand_voice': {'enum': ['professional', 'friendly', 'casual', 'authoritative', 'playful'], 'type': 'string'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'business_name': {'type': 'string', 'maxLength': 200}, 'contact_email': {'type': 'string', 'format': 'email', 'maxLength': 320}, 'primary_color': {'type': 'string', 'pattern': '^#[0-9A-Fa-f]{6}$'}, 'writing_style': {'type': 'string', 'maxLength': 1000}, 'idempotency_key': {'type': 'string'}, 'secondary_color': {'type': 'string', 'pattern': '^#[0-9A-Fa-f]{6}$'}, 'target_audience': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}
aidelly_update_connect_link
Update an OAuth connect link's title or enabled status.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'idempotency_key'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'brand_id': {'type': 'string'}, 'is_enabled': {'type': 'boolean'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_update_draft
Update a draft — set draft_planned_for to null to clear the planned date. Drafts never publish. Existing API keys need the new `drafts:write` scope added to gain draft access; no implicit grant occurs.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'text': {'type': 'string', 'maxLength': 65000, 'minLength': 1, 'description': 'Draft content / caption.'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'title': {'type': 'string', 'nullable': True, 'maxLength': 500, 'description': 'Draft title.'}, 'brand_id': {'type': 'string'}, 'draft_kind': {'enum': ['post', 'thread'], 'type': 'string', 'description': 'Draft composition type.'}, 'media_urls': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'maxItems': 10, 'description': 'Media URLs.'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}, 'draft_planned_for': {'type': 'string', 'format': 'date-time', 'nullable': True, 'description': 'ISO 8601 date/time for calendar placement (null clears it).'}}, 'additionalProperties': False}
aidelly_update_post_comment
Edit a comment's text. Only the author can edit their own comments.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['id', 'commentId', 'idempotency_key', 'text'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'text': {'type': 'string', 'maxLength': 10000, 'minLength': 1, 'description': 'Updated comment text'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'commentId': {'type': 'string', 'format': 'uuid'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_update_report_schedule
Update a report schedule (idempotent).
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'cadence': {'enum': ['daily', 'weekly', 'biweekly', 'monthly'], 'type': 'string'}, 'brand_id': {'type': 'string'}, 'next_run_at': {'type': 'string', 'format': 'date-time'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}, 'recipient_emails': {'type': 'array', 'items': {'type': 'string', 'format': 'email'}, 'maxItems': 20, 'minItems': 1}}, 'additionalProperties': False}
aidelly_update_scheduled_post
PATCH /scheduled-posts/{id} — update caption, schedule, or recycle plan on a scheduled post. Public API preview.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'payload': {'type': 'object', 'description': 'Replacement post content. `payload.media` accepts URL objects, objects with `media_id`, or bare media-library UUID strings owned by the selected workspace.', 'additionalProperties': True}, 'recycle': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'offset_seconds'], 'properties': {'kind': {'enum': ['repost', 'reshare'], 'type': 'string'}, 'offset_seconds': {'type': 'integer', 'maximum': 31536000, 'minimum': 3600, 'description': 'Seconds after the source publishes when this recycle fires.'}}}, 'maxItems': 6}, 'brand_id': {'type': 'string'}, 'timezone': {'type': 'string'}, 'scheduled_at': {'type': 'string', 'format': 'date-time'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_update_task
Update task fields (title, description, status, priority, assignee, due date, or links).
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'id'], 'properties': {'id': {'type': 'string', 'format': 'uuid'}, 'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'title': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'Task title.'}, 'due_at': {'type': 'string', 'format': 'date-time', 'nullable': True, 'description': 'ISO 8601 due date/time.'}, 'status': {'enum': ['todo', 'in_progress', 'blocked', 'done', 'canceled'], 'type': 'string', 'description': 'Task status.'}, 'brand_id': {'type': 'string'}, 'priority': {'enum': ['low', 'normal', 'high', 'urgent'], 'type': 'string', 'description': 'Task priority.'}, 'description': {'type': 'string', 'nullable': True, 'maxLength': 20000, 'description': 'Task description.'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'linked_idea_id': {'type': 'string', 'format': 'uuid', 'nullable': True, 'description': 'UUID of linked idea (mutually exclusive with linked_post_id).'}, 'linked_post_id': {'type': 'string', 'format': 'uuid', 'nullable': True, 'description': 'UUID of linked post (mutually exclusive with linked_idea_id).'}, 'idempotency_key': {'type': 'string'}, 'assignee_user_id': {'type': 'string', 'format': 'uuid', 'nullable': True, 'description': 'UUID of assignee (must be an active workspace member).'}}, 'additionalProperties': False}
aidelly_update_white_label_config
PATCH /white-label — update the agency's white-label branding, email settings, and visibility toggles. Domain changes and verification must go through the in-app flow. Returns the updated configuration with current domain status.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'brand_id': {'type': 'string'}, 'logo_url': {'type': 'string', 'format': 'uri', 'nullable': True, 'description': 'Light-mode square logo URL.'}, 'hide_earn': {'type': 'boolean', 'description': 'Hide earnings/monetization surfaces from white-label clients.'}, 'brand_name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Agency brand name shown to white-label clients.'}, 'favicon_url': {'type': 'string', 'format': 'uri', 'nullable': True, 'description': 'Favicon URL for branded pages.'}, 'support_url': {'type': 'string', 'format': 'uri', 'nullable': True, 'description': 'URL to agency support/help page.'}, 'hide_rewards': {'type': 'boolean', 'description': 'Hide rewards and gamification surfaces.'}, 'og_image_url': {'type': 'string', 'format': 'uri', 'nullable': True, 'description': 'Open Graph image for social shares.'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'dark_logo_url': {'type': 'string', 'format': 'uri', 'nullable': True, 'description': 'Dark-mode square logo URL. Falls back to logo_url if not set.'}, 'help_menu_url': {'type': 'string', 'format': 'uri', 'nullable': True, 'description': 'URL for in-app help menu links.'}, 'primary_color': {'type': 'string', 'pattern': '^#[0-9A-Fa-f]{6}$', 'description': 'Hex color for primary brand color (e.g.,'}, 'support_email': {'type': 'string', 'format': 'email', 'nullable': True, 'description': 'Agency inbox email for white-label support submissions.'}, 'watermark_url': {'type': 'string', 'format': 'uri', 'nullable': True, 'description': 'Watermark image URL for reports.'}, 'email_from_name': {'type': 'string', 'nullable': True, 'maxLength': 80, 'description': 'From name for branded emails.'}, 'hide_tier_badge': {'type': 'boolean', 'description': 'Hide tier/plan badges.'}, 'idempotency_key': {'type': 'string'}, 'button_text_color': {'enum': ['auto', 'light', 'dark'], 'type': 'string', 'description': "Text/icon color on brand-colored buttons. 'auto' derives from luminance."}, 'sidebar_logo_mode': {'enum': ['mark_text', 'full_logo'], 'type': 'string', 'description': 'Sidebar rendering mode — square mark+text or full logo image.'}, 'email_from_address': {'type': 'string', 'nullable': True, 'maxLength': 254, 'description': 'From email address for branded emails (must use a verified sending domain).'}, 'logo_text_font_url': {'type': 'string', 'format': 'uri', 'nullable': True, 'description': 'Custom font URL for logo text in mark_text mode (must use https).'}, 'privacy_policy_url': {'type': 'string', 'format': 'uri', 'nullable': True, 'description': 'Privacy policy URL for branded emails and legal links.'}, 'saved_brand_preset': {'type': 'object', 'nullable': True, 'description': 'Optional saved branding preset snapshot.\nSet to null to clear the preset; omit to leave alone.\n'}, 'watermark_settings': {'type': 'object', 'nullable': True, 'description': 'Watermark configuration object (null resets to defaults).', 'additionalProperties': True}, 'terms_of_service_url': {'type': 'string', 'format': 'uri', 'nullable': True, 'description': 'Terms of service URL for branded emails and legal links.'}, 'hide_feature_requests': {'type': 'boolean', 'description': 'Hide feature request UI.'}, 'logo_text_font_family': {'type': 'string', 'nullable': True, 'maxLength': 64, 'description': 'Font family name for logo text rendering.'}, 'logo_text_font_format': {'enum': ['woff2', 'woff', 'ttf', 'otf'], 'type': 'string', 'nullable': True, 'description': 'Font file format (woff2, woff, ttf, or otf).'}, 'sidebar_full_logo_url': {'type': 'string', 'format': 'uri', 'nullable': True, 'description': 'Light-mode full sidebar logo URL (both mark and text).'}, 'show_oauth_interstitial': {'type': 'boolean', 'description': 'Whether to show OAuth interstitial before social platform redirects.'}, 'sidebar_dark_full_logo_url': {'type': 'string', 'format': 'uri', 'nullable': True, 'description': 'Dark-mode full sidebar logo URL. Falls back to sidebar_full_logo_url if not set.'}, 'logo_text_font_storage_path': {'type': 'string', 'nullable': True, 'maxLength': 512, 'description': 'Internal storage path for the uploaded font file.'}, 'watermark_enabled_by_default': {'type': 'boolean', 'description': 'Whether to include watermark on newly generated reports.'}, 'suppress_member_welcome_email': {'type': 'boolean', 'nullable': True, 'description': 'Tri-state override for member welcome emails.\nnull = use plan default, true/false = explicit override.\n'}, 'agency_staff_uses_custom_domain': {'type': 'boolean', 'description': 'Whether agency staff access Aidelly at a custom domain.'}, 'logo_text_font_license_attested_at': {'type': 'string', 'nullable': True, 'description': 'ISO timestamp when font license was attested.'}}, 'additionalProperties': False}
aidelly_update_workspace
PATCH /workspaces/{workspaceId} — update workspace name, archive state, kind, or mode.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'workspaceId'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'kind': {'enum': ['own', 'client'], 'type': 'string'}, 'name': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'archived': {'type': 'boolean'}, 'brand_id': {'type': 'string'}, 'workspaceId': {'type': 'string', 'format': 'uuid'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'workspace_type': {'enum': ['traditional', 'agentic'], 'type': 'string'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_update_workspace_member
PATCH /workspaces/{workspaceId}/members — update a workspace member role.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'workspaceId', 'user_id', 'role'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'role': {'enum': ['owner', 'admin', 'member', 'client'], 'type': 'string'}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'user_id': {'type': 'string', 'format': 'uuid'}, 'brand_id': {'type': 'string'}, 'workspaceId': {'type': 'string', 'format': 'uuid'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
aidelly_upload_media
Default image-attach path for MCP: upload media in one step, server-side, with no client-to-Supabase connection required. Preferred for all browser-based chat clients (ChatGPT, Claude.ai) and safe for any client. Provide exactly one of source_url (a public HTTPS URL the server fetches — best for anything non-trivial and not subject to a payload size cap), data_url, or file_base64 (small inline images only; large payloads hit the MCP tool-call size limit). Returns media_id and read_url for aidelly_create_post content.media.
可访问外部资源
输入模式
{'type': 'object', 'required': ['idempotency_key', 'file_name'], 'properties': {'body': {'type': 'object', 'description': 'Optional body override for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'query': {'type': 'object', 'description': 'Optional query overrides for endpoints with sparse parameter schemas.', 'additionalProperties': True}, 'folder': {'type': 'string', 'example': 'campaign-assets', 'maxLength': 100, 'minLength': 1}, 'brand_id': {'type': 'string'}, 'data_url': {'type': 'string', 'description': 'Data URL such as data:image/png;base64,...'}, 'file_name': {'type': 'string', 'example': 'launch-image.png', 'minLength': 1}, 'source_url': {'type': 'string', 'format': 'uri', 'description': 'Public HTTPS URL to fetch server-side.'}, 'file_base64': {'type': 'string', 'description': 'Base64-encoded file bytes.'}, 'content_type': {'type': 'string', 'example': 'image/png', 'minLength': 3, 'description': 'Required when using file_base64 or data_url.'}, 'workspace_id': {'type': 'string', 'format': 'uuid', 'description': 'Workspace to operate in. Do not ask the user for this UUID — call aidelly_list_workspaces and use the `id` of the matching workspace. Optional for read operations; required when creating content.'}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': False}
已更改
aidelly_update_workspace_member
2026年10月1日 02:50
已更改
aidelly_update_workspace
2026年10月1日 02:50
已更改
aidelly_update_white_label_config
2026年10月1日 02:50
已更改
aidelly_update_task
2026年10月1日 02:50
已更改
aidelly_update_scheduled_post
2026年10月1日 02:50
已更改
aidelly_update_report_schedule
2026年10月1日 02:50
已更改
aidelly_update_post_comment
2026年10月1日 02:50
已更改
aidelly_update_draft
2026年10月1日 02:50
已更改
aidelly_update_connect_link
2026年10月1日 02:50
已更改
aidelly_update_brand_profile
2026年10月1日 02:50
已更改
aidelly_update_approval_settings
2026年10月1日 02:50
已更改
aidelly_run_prompt
2026年10月1日 02:50
已更改
aidelly_put_content_automations_id
2026年10月1日 02:50
已更改
aidelly_post_inbox_items_id_respond
2026年10月1日 02:50
已更改
aidelly_post_inbox_items_id_ai_draft
2026年10月1日 02:50
已更改
aidelly_post_inbox_automations
2026年10月1日 02:50
已更改
aidelly_post_content_automations_id_trigger
2026年10月1日 02:50
已更改
aidelly_post_content_automations
2026年10月1日 02:50
已更改
aidelly_post_approvals_items_action
2026年10月1日 02:50
已更改
aidelly_post_approvals_id_action
2026年10月1日 02:50
已更改
aidelly_post_analytics_insights
2026年10月1日 02:50
已更改
aidelly_patch_posts_id
2026年10月1日 02:50
已更改
aidelly_patch_inbox_automations_id
2026年10月1日 02:50
已更改
aidelly_patch_calendar_events_id
2026年10月1日 02:50
已更改
aidelly_patch_analytics_insights
2026年10月1日 02:50
已更改
aidelly_list_scheduled_posts
2026年10月1日 02:50
已更改
aidelly_list_prompts
2026年10月1日 02:50
已更改
aidelly_get_inbox_items
2026年10月1日 02:50
已更改
aidelly_get_inbox_automations
2026年10月1日 02:50
已更改
aidelly_get_content_automations_id
2026年10月1日 02:50