create_message_share_link
Create a shareable URL for an existing Carbon Voice message or voice memo to control access, or forward it onto another message.
Instructions
Create a shareable link to an existing message (e.g. a voice memo), and get the URL back.
USE WHEN: share_type: "link" for a shareable URL; "forward" to attach the share onto another message (also needs message_id). Also how you get a share_link_ids value.
USE INSTEAD: add_attachments_to_message to attach an external URL to a message, rather than share a Carbon Voice message outward.
FIRST: shared_message_id comes from list_messages (field results[].id) — call it first if you don't have one.
EXAMPLE: {"shared_message_id":"msg-abc","share_type":"link","access_type":"public"}
RETURNS: {id, link, share_type, access_type, created_by, specified_access?, end_access_at?, revoked_at?, shared_message: {...}}. link is the URL to hand out; id is the share_link_ids value other tools take.
NARROW: pass response_fields ["id","link","share_type","access_type"] unless you need more — the full payload is much larger.
ERROR BAD_REQUEST: shared_message_id is invalid, or share_type is "forward" without message_id. — Confirm the ID with get_message; when forwarding, also pass message_id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message_id | No | Message ID that will have the forward on it. Only required if share_type is forward. | |
| share_type | Yes | What is the ShareType of the MessageShareLink | |
| access_type | Yes | What is the access type for the MessageShareLink | |
| end_access_at | No | Date when the access to MessageShareLink ends | |
| response_fields | No | Dot-path allowlist to shrink the response, e.g. ["results.id","total"]. Omit for the full payload. | |
| specified_access | No | List of Specified Access for the MessageShareLink | |
| shared_message_id | Yes | Message ID that will be shared/forwarded |