---
title: "Share Custom Agent Prompt Assets"
method: POST
path: "/agent/custom/{custom_agent_id}/share/prompt_assets"
---

# Share Custom Agent Prompt Assets

`POST /agent/custom/{custom_agent_id}/share/prompt_assets`

## Request

- Base URL: `https://api.tellers.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tellers.ai/agent/custom/{custom_agent_id}/share/prompt_assets`
- Auth: none declared

Share the assets the assistant's prompt names, at VIEW, with everyone
the assistant is shared with.

Needs ``can_share`` on the assistant. Each asset follows the usual asset
sharing rules: the caller must be able to share it, existing shares are
never lowered and never get ``can_share``. What cannot be granted is
listed in ``skipped`` rather than failing the call.

## Path parameters

- `custom_agent_id` string, uuid, required

## Headers

- `x-api-key` string, nullable
- `authorization` string, nullable

## Response `200`

Successful Response

- MediaShareResult: What sharing the media of a project or assistant did.
  - `shared_asset_ids` string[], required: Media that got at least one new or raised grant.
  - `skipped` MediaShareSkip[], required
    - `asset_id` string, required
    - `name` string, required
    - `grantee` MediaGrantee, required: Someone a project or assistant is shared with, and the right they should hold on the media it uses.
      - `group_id` string, nullable: Set for a group.
      - `group_name` string, nullable
      - `email` string, nullable: Set for a person, or a pending invite.
      - `pending` boolean: An invite to an email that has no account yet.
      - `right` 'ADMIN' | 'READ' | 'WRITE' | 'VIEW', required: A right on an asset, a chat or an assistant, weakest first: VIEW < READ < WRITE < ADMIN. On an asset, VIEW sees the file and everything about it except its comments, which READ adds. Chats and assistants have nothing READ adds, so VIEW opens what READ does there. Group memberships start at READ.
      - `current_right` 'ADMIN' | 'READ' | 'WRITE' | 'VIEW': A right on an asset, a chat or an assistant, weakest first: VIEW < READ < WRITE < ADMIN. On an asset, VIEW sees the file and everything about it except its comments, which READ adds. Chats and assistants have nothing READ adds, so VIEW opens what READ does there. Group memberships start at READ.
    - `reason` string, required: cannot_share: the caller may not share this medium. right_above_yours: the right is above what the caller holds on it. group_not_managed: the caller does not manage the group. no_email: the person has no email to share with. not_allowed: the sharing rules refused it otherwise.
  - `sharing` MediaSharing, required: How the media a project or assistant uses are shared, against its own shares.
    - `in_sync` boolean, required: Everyone it is shared with holds at least the expected right on every medium it uses.
    - `can_share` boolean, required: Whether the caller may share the project or assistant.
    - `media` MediaGap[], required: The media missing someone, and who.
      - `asset_id` string, required
      - `name` string, required
      - `file_type` 'video' | 'audio' | 'image' | 'text' | 'pdf' | 'lut' | 'font' | 'placeholder' | 'group_clip' | 'master_clip' | 'aaf' | 'proj_original' | 'folder' | 'project' | 'entity' | 'teller_config'
      - `can_share` boolean, required: Whether the caller may share it.
      - `missing` MediaGrantee[], required
        - `group_id` string, nullable: Set for a group.
        - `group_name` string, nullable
        - `email` string, nullable: Set for a person, or a pending invite.
        - `pending` boolean: An invite to an email that has no account yet.
        - `right` 'ADMIN' | 'READ' | 'WRITE' | 'VIEW', required: A right on an asset, a chat or an assistant, weakest first: VIEW < READ < WRITE < ADMIN. On an asset, VIEW sees the file and everything about it except its comments, which READ adds. Chats and assistants have nothing READ adds, so VIEW opens what READ does there. Group memberships start at READ.
        - `current_right` 'ADMIN' | 'READ' | 'WRITE' | 'VIEW': A right on an asset, a chat or an assistant, weakest first: VIEW < READ < WRITE < ADMIN. On an asset, VIEW sees the file and everything about it except its comments, which READ adds. Chats and assistants have nothing READ adds, so VIEW opens what READ does there. Group memberships start at READ.
    - `lacking_for_me` MediaAccessNeed[]: The media the caller cannot read on their own, with an owner they can ask for access. Projects only; empty for assistants.
      - `asset_id` string, required
      - `name` string, required
      - `file_type` 'video' | 'audio' | 'image' | 'text' | 'pdf' | 'lut' | 'font' | 'placeholder' | 'group_clip' | 'master_clip' | 'aaf' | 'proj_original' | 'folder' | 'project' | 'entity' | 'teller_config'
      - `requested` boolean, required: A request for it is already with its owner (pending or declined), so asking again does nothing.

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-05** `fdaa0fa44a26`: 1 info
  - added the optional property `sharing/lacking_for_me` to the response with the `200` status

[Operation history](https://skmtc.dev/tellers/apis/tellers-api/changes/agent/custom/:custom_agent_id/share/prompt_assets/post.md)

---

[API](https://skmtc.dev/tellers/apis/tellers-api.md) - [All operations](https://skmtc.dev/tellers/apis/tellers-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tellers/apis/tellers-api/revisions/fdaa0fa44a26?raw)
