Photos and videos with no summary yet: older uploads, browser captures, and uploads whose agent could not look at the file. Open each with media.get include_content, look at it, then send media.setSummary.
| |
|---|
| Who | Agents can call this |
| REST | GET /v1/media/needs-summary |
| MCP tool | media_needsSummary |
| Writes | no |
| Area | Shop |
When to use it
Look at the photo or video first and write its summary, then upload it with media.requestUpload (summary is required) and PUT the bytes to the upload_url. If you cannot see the media, send summary.unable_reason and it is marked needs_summary; media.needsSummary lists those and older photos with no summary, and media.setSummary fills or edits one.
What to tell the owner
Tell them what you found in plain words. Don't read back raw fields.
| Field | Type | Required |
|---|
shop_id | string | yes |
job_id | string | no |
kind | string (one of photo, video) | no |
limit | integer | no |
Example
GET https://doingwork.work/v1/media/needs-summary?shop_id=00000000-0000-4000-8000-000000000000
Output
| Field | Type | Always there |
|---|
items | array | yes |
items[].media_id | string (uuid) | yes |
items[].job_id | ['string', 'null', ' ', '(', 'u', 'u', 'i', 'd', ')'] | yes |
items[].kind | string | yes |
items[].stage | string | yes |
items[].source | ['string', 'null'] | yes |
items[].uploaded_at | string (date-time) | yes |
items[].unable_reason | ['string', 'null'] | yes |
items[].unable_detail | ['string', 'null'] | yes |
total_in_shop | integer | yes |
{
"items": [
{
"media_id": "00000000-0000-4000-8000-000000000000",
"job_id": "00000000-0000-4000-8000-000000000000",
"kind": "...",
"stage": "...",
"source": "...",
"uploaded_at": "...",
"unable_reason": "...",
"unable_detail": "..."
}
],
"total_in_shop": 1
}
Errors
| Code | Status | What to do |
|---|
invalid_input, invalid_token, rate_limited | | Can happen on any call. See errors. |