Skip to content

Update a file

PATCH/assets/{id}

Costs 2 rate-limit points · Rate limits

Change a link's or licence key's name, a link's url, watermark.enabled or licence_keys (autogenerate, tags), as the Files page's edit does. Deep partial: only the fields sent change. A stored file's name is its filename: rename it by replacing the file with POST /assets/:id/replace.

Fields that don't apply to the file's type (url on a stored file or licence key, watermark on a link, licence_keys on anything but a licence key) are a 422. Like the Files page, an edit does not re-stamp copies already watermarked for past orders; replacing the file does.

Also searched asturn on watermark for a filechange licence key tagsedit fileupdate the link urlset file to autogenerate keys

Path parameters

  • idstringRequired

Request body

  • namestring
    Example: Beginner's Guide (2026 edition)
  • urlany
  • watermarkobject
    Show 1 child attributeHide child attributes
    • enabledboolean
      Example: true
  • licence_keysany

Returns

The asset object.

Errors

401

Missing or invalid API key.

404

The resource does not exist for this shop, or the action path is not registered.

422

The request failed validation, or sent a key the action does not take (code: "unknown_parameters" with unknown and accepted). Nothing was saved.

429

Rate limited. Cost-weighted per API key, shared with API v1: a read costs 1 point, a write 2, 40 points per fixed 60-second window. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (Unix time the window ends); a 429 adds Retry-After (seconds), retry_after, retryable: true and a next_step in the body. A 429 did nothing: wait retry_after seconds, then send the same request again. The budget is per key, so every tool or script using the key shares it; prefer one list call with per_page over many single reads.

Every error has the same shape: see Errors.

PATCH/assets/{id}
curl -X PATCH "https://app.filemonk.io/api/v2/external/assets/e2b7727e-45ad-42b7-b842-cc4615205b10" \
  -H "X-Auth-Token: $FILEMONK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Beginner'\''s Guide (2026 edition)",
    "watermark": {
      "enabled": true
    }
  }'
Response
{
  "id": "e2b7727e-45ad-42b7-b842-cc4615205b10",
  "type": "link",
  "name": "Beginner's Guide (2026 edition)",
  "filename": "ebook-2026.zip",
  "extension": "zip",
  "content_type": "application/zip",
  "byte_size": 0,
  "url": "https://example.com/ebook-2026.zip",
  "url_expires_at": null,
  "watermark": {
    "enabled": true
  },
  "licence_keys": {
    "autogenerate": false,
    "tags": []
  },
  "usage": {
    "digital_products_count": 2,
    "orders_count": 0
  },
  "digital_products": [
    {
      "id": "f5f278c8-4a92-48a3-bc40-216468b9bccd",
      "scope": "variant",
      "shopify_product_id": "gid://shopify/Product/9642107207975",
      "shopify_variant_id": "gid://shopify/ProductVariant/49417715843367",
      "title": "Watercolour Course",
      "variant_title": "xs / blue / water",
      "sku": "ae8ea669-7bd1-4afd-b200-a7b75777b46a",
      "files_count": 2,
      "preorder": {
        "enabled": false
      },
      "delivery": {
        "attach_to_every_order": false
      },
      "exists_on_shopify": null,
      "updated_at": "2026-10-30T16:55:48Z",
      "folder": null
    },
    {
      "id": "4d08443e-549b-44c8-afee-c3836d767e7c",
      "scope": "product",
      "shopify_product_id": "gid://shopify/Product/9642103537959",
      "shopify_variant_id": null,
      "title": "The Draft Snowboard",
      "variant_title": null,
      "sku": null,
      "files_count": 2,
      "preorder": {
        "enabled": false
      },
      "delivery": {
        "attach_to_every_order": false
      },
      "exists_on_shopify": null,
      "updated_at": "2026-10-30T16:56:48Z",
      "folder": "Extras"
    }
  ],
  "recent_orders": [],
  "created_at": "2026-10-30T16:49:38Z",
  "updated_at": "2026-10-30T16:49:38Z"
}