Skip to main content
Glama

Move Media

move_media
Destructive

Move up to 100 Wistia media items to a folder and optional subfolder, returning a background job for the asynchronous move.

Instructions

Moves up to 100 media to a folder and optional subfolder. The subfolder must belong to the specified folder.

This endpoint allows 10 requests per 5 minutes, separate from the general API rate limit. Returns a Background Job because the move is asynchronous.

For more than 100 media, multiple destinations, or mixed actions, use the Create Bulk Actions endpoint with move actions.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token.

An expiring access token created with the all:delegate_to_contact_permissions scope and authorizations granting the update permission on every media being moved and on the destination folder can also be used. subfolder_id is not available to expiring access tokens. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

Input Schema

NameRequiredDescriptionDefault
accountNoNamed private Wistia account; selects credentials, not a remote account ID.
confirmNoSet true only when the user asked for exactly this action.
payloadNoComplete JSON request body instead of body flags. Supports current nested customization, caption and nullable values.
folder_idNoThe hashed ID of the folder where you want the media moved.
hashed_idsNoAn array of the media hashed IDs to be moved.
payload_fileNoRegular local JSON body file, at most 5 MB. Cannot be mixed with body flags or payload.
subfolder_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv3.0.0
    • addedInput schema / $defs
      Added value: +{
      +  "subfolder_id": {
      +    "description": "Optional. The hashed ID of the subfolder where you want the media moved. If not provided, media will be moved to the folder's default subfolder. The subfolder must belong to the specified folder.",
      +    "type": "string"
      +  }
      +}
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true for the specific user-requested write."New value: +"Set true only when the user asked for exactly this action."
    • addedInput schema / properties / payload / properties / subfolder_id / $ref
      Added value: +"#/$defs/subfolder_id"
    • removedInput schema / properties / payload / properties / subfolder_id / description
      Removed value: -"Optional. The hashed ID of the subfolder where you want the media moved. If not provided, media will be moved to the folder's default subfolder. The subfolder must belong to the specified folder."
    • removedInput schema / properties / payload / properties / subfolder_id / type
      Removed value: -"string"
    • addedInput schema / properties / subfolder_id / $ref
      Added value: +"#/$defs/subfolder_id"
    • removedInput schema / properties / subfolder_id / description
      Removed value: -"Optional. The hashed ID of the subfolder where you want the media moved. If not provided, media will be moved to the folder's default subfolder. The subfolder must belong to the specified folder."
    • removedInput schema / properties / subfolder_id / type
      Removed value: -"string"
  2. First observedv2.0.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructive/not-idempotent, but the description adds substantial context beyond them: the operation is asynchronous and returns a Background Job, it requires confirm=true, tokens need specific scopes, expiring tokens cannot use subfolder_id, and it 'may share access, notify people or incur provider charges.' This is unusually rich disclosure of side effects and auth constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and the primary usage rule, then structured with headers for permissions. The token/permission boilerplate is verbose and repeated, slightly diluting the core, but every section carries operational information an agent needs before a destructive call.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive async mutation with no output schema, the description covers everything an agent needs: async return type, permission requirements, confirm requirement, rate limit, batching ceiling, and alternative routing. Nothing material is left to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 86%, so most parameters are self-documenting. The description still adds meaning beyond the schema: the 100-item cap on hashed_ids and the constraint that the subfolder must belong to the specified folder, which are not evident from schema field descriptions alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource with scope: 'Moves up to 100 media to a folder and optional subfolder.' It also distinguishes itself from the sibling it is not, routing bulk work to Create Bulk Actions, so an agent can differentiate move_media from copy_media/bulk_copy_media without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing rule: 'For more than 100 media, multiple destinations, or mixed actions, use the Create Bulk Actions endpoint with move actions.' It also documents the rate limit (10 requests per 5 minutes, separate from the general limit), which tells the agent both when to use it and how aggressively it can call it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools