Write
set_social_links
Replaces the full list of social links on an outline with the provided array of platform/URL pairs, or clears them all by passing an empty array.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| outlineId | string | — | ID of the outline to update. Omit to target the authenticated creator's own outline. |
| links | array | Yes | Full replacement list of social links. Each element needs a platform (numeric social-icon id from list_social_icons) and a url (must use https:// or http://). Pass an empty array to clear all social links. |
| links[].platform | string | Yes | Numeric id of the social icon, as a string. Must be a valid integer id returned by list_social_icons — passing a non-integer string will fail validation before any write occurs. |
| links[].url | string | Yes | Full URL for the social profile (https:// or http:// only). Validated as a URL at input. |
Response
| Field | Type | What it means |
|---|---|---|
| outlineId | string | The ID of the outline that was updated. |
| socialLinks | array | The links array as provided in the input — each element has platform (string icon id) and url. Echoes back what was saved, not the DB-coerced form. |
Example
Request
json
{
"outlineId": "42",
"links": [
{ "platform": "3", "url": "https://instagram.com/janedoe" },
{ "platform": "7", "url": "https://tiktok.com/@janedoe" }
]
}Response
json
{
"outlineId": "42",
"socialLinks": [
{ "platform": "3", "url": "https://instagram.com/janedoe" },
{ "platform": "7", "url": "https://tiktok.com/@janedoe" }
]
}When to use
Call after the outline's stacks and cards are in place, as part of the identity-finishing step (step 5 in the create→curate→optimize loop), just before set_seo and publish. Also call whenever the creator updates or adds a social profile handle.
Gotchas
Watch out
- Always call
list_social_iconsfirst —platformmust be a valid numeric id string from that tool's response; guessing icon ids will either fail validation or silently write NULL to the database. - This tool does a full replacement, not a merge — omitting an existing link removes it. Read current links before calling if you want to preserve any.
- The
platformfield is typed as string in the input schema but must be parseable as a positive integer; non-numeric strings (e.g. ‘instagram’) return a VALIDATION_ERROR. - Pass an empty array
[]to intentionally clear all social links — there is no separate delete operation for individual links.