---
name: "social_confirm_post"
area: "social"
title: "Answer for the owner of a post"
price: "free"
method: "POST"
url: "https://api.conecto.chat/v1/tools/social_confirm_post"
mcp_server: "https://api.conecto.chat/mcp/social"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/social/social_confirm_post"
---

# Answer for the owner of a post (`social_confirm_post`)

Posts a TikTok post waiting for its owner with the choices they made in your chat, or drops it.

The owner's answer from your chat to a TikTok post waiting for them, after you showed them what social_post_check gave. post true sends it with their choices, now or at its time; post false drops it and refunds it. who_can_see is the value they picked from who_can_see; the allow_* switches and the disclosure stay off unless they said yes; caption and title only when they changed them. owner_said is their reply in their own words, kept as the record of their answer. Never choose for them: TikTok requires that they do. Free: social_post paid for it.

Price: Free. A call that fails costs nothing.

## Use it when

The owner answered in your chat after you showed them what social_post_check gave.

## Say this to your agent

> Yes, post the gravel bike video for everyone and allow comments.

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `check_id` | string | yes | A check_id from social_post's waiting_for_owner. Exactly 36 characters. |  |  |
| `post` | boolean | yes | true: post it with their choices; false: they said no. |  |  |
| `owner_said` | string | yes | The owner's reply, in their own words. 2 to 500 characters. |  |  |
| `who_can_see` | string | no |  | `"PUBLIC_TO_EVERYONE"`, `"MUTUAL_FOLLOW_FRIENDS"`, `"FOLLOWER_OF_CREATOR"`, `"SELF_ONLY"` |  |
| `allow_comments` | boolean | no |  |  | `false` |
| `allow_duet` | boolean | no | Videos only. |  | `false` |
| `allow_stitch` | boolean | no | Videos only. |  | `false` |
| `promotes_own_brand` | boolean | no |  |  | `false` |
| `branded_content` | boolean | no |  |  | `false` |
| `caption` | string | no | Up to 2,000 characters. |  |  |
| `title` | string | no | Photo posts only. Up to 90 characters. |  |  |

## Example

Written for Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon.

MCP: call `social_confirm_post` on the MCP server `https://api.conecto.chat/mcp/social` with these arguments:

```json
{
  "check_id": "5f0c7a52-8a4e-4c1f-9d2b-3e6f1a7c9b40",
  "post": true,
  "owner_said": "Yes, post it for everyone and allow comments.",
  "who_can_see": "PUBLIC_TO_EVERYONE",
  "allow_comments": true
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/social_confirm_post \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"check_id": "5f0c7a52-8a4e-4c1f-9d2b-3e6f1a7c9b40", "post": true, "owner_said": "Yes, post it for everyone and allow comments.", "who_can_see": "PUBLIC_TO_EVERYONE", "allow_comments": true}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "social_confirm_post",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.00",
  "balance_usd": "$19.75",
  "result": {
    "check_id": "5f0c7a52-8a4e-4c1f-9d2b-3e6f1a7c9b40",
    "channel_id": "clx0d6k2v0003",
    "network": "tiktok",
    "network_name": "TikTok",
    "status": "posted",
    "publish_at": "2026-10-14T08:00:00+00:00",
    "expires_at": "2026-10-17T08:00:00+00:00",
    "post_id": "cm2p7x4k10009",
    "note": "Tell the owner it can take a few minutes to show on their TikTok profile. social.post_published or social.post_failed follows."
  }
}
```

`result`: The check with its status (posted or declined), and for a post its post_id, publish_at and a note to tell the owner it can take a few minutes to show; for a refusal, what was refunded.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `invalid_input` | 400 | who_can_see is not one the account allows, an interaction is off in their TikTok settings, branded content is set to "Only me", or owner_said is empty. | Ask the owner again with what social_post_check gives, then call again. |
| `not_found` | 404 | No post waiting for the business's owner has that check_id. | Use the check_id social_post gave under waiting_for_owner. |
| `post_closed` | 409 | The post was answered already, or its time to be answered ran out. | Read how it went with social_post_check; post again with social_post if it is still wanted. |
| `channel_disabled` | 409 | TikTok no longer lets Conecto post to the account. | Connect TikTok again with social_connect. |
| `network_refused` | 409 | TikTok won't take a post from the account right now. | Tell the owner the reason in the message and try again later. |
| `video_too_long` | 400 | The video is longer than TikTok lets the account post. | Ask the owner for a shorter video and post that; post false drops this one and refunds it. |
| `not_switched_on` | 503 | Social posting is not switched on yet. | Try again later; nothing was charged. |
| `social_unavailable` | 503 | The posting service did not answer, or could not open the business's social workspace. | Call again in a minute; when the message says so, tell Conecto's support. |
| `refused` | 400 | The posting service refused the request; the message gives its reason. | Fix what the reason names, then call again. |
| `refused` | 422 | The posting service reported a conflict with what is there. | Read the channel or post again, then call again. |
| `rate_limited` | 429 | The posting service's limit of posts an hour was reached. | Try again later. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [social_networks](https://conecto.chat/tools/social/social_networks.md): Every network the business can post to, how each connects (a link, a login, Telegram's code, or its own bot or webhook), and whether it is switched on yet. Free up to 1,000,000 reads a month.
- [social_connect](https://conecto.chat/tools/social/social_connect.md): Connects one of the business's own social accounts as a channel: by a link for the owner, a login, or a code posted in a Telegram channel. Free.
- [social_channels](https://conecto.chat/tools/social/social_channels.md): The business's connected social accounts (channels), with their network, name and profile. Free up to 1,000,000 reads a month.
- [social_channel_rules](https://conecto.chat/tools/social/social_channel_rules.md): What a channel's network accepts: lengths, media counts, the settings a post needs, and its lookups. Free up to 1,000,000 reads a month.
- [social_channel_lookup](https://conecto.chat/tools/social/social_channel_lookup.md): Runs one of a channel's lookups, like the channels of a Discord server or the boards on Pinterest. Free up to 1,000,000 reads a month.
- [social_find_slot](https://conecto.chat/tools/social/social_find_slot.md): The next free time to post on a channel, from its posting times and what is already scheduled. Free up to 1,000,000 reads a month.
- [social_post](https://conecto.chat/tools/social/social_post.md): Posts now or at a set time to one or several channels, with pictures, video or a thread. $0.02 per channel posted to.
- [social_post_check](https://conecto.chat/tools/social/social_post_check.md): Reads a TikTok post waiting for its owner, with what to show and ask them from TikTok just now. Free up to 1,000,000 reads a month.
- [social_posts](https://conecto.chat/tools/social/social_posts.md): Posts in a time window (the last 7 days and the next 30 by default), each with its status and link. Free up to 1,000,000 reads a month.
- [social_delete_post](https://conecto.chat/tools/social/social_delete_post.md): Deletes a post with its thread; one still waiting for its time never goes out and is refunded. Free.
- [social_analytics](https://conecto.chat/tools/social/social_analytics.md): How a channel did over 7, 30 or 90 days, or how one published post did: each metric the network reports, by day. Free up to 1,000,000 reads a month.
- [social_disconnect](https://conecto.chat/tools/social/social_disconnect.md): Removes a channel; its waiting posts are deleted, and refunded when their time had not come. Free.
