Skip to content

Attach files to a digital product

POST/digital_products/{id}/files/attach

Costs 2 rate-limit points · Rate limits

Add files (asset_ids) to a digital product, optionally inside a folder on the download page, as the product page's Add files does. Files already on it are left as they are.

Buyers who already have the product get the new file on their download page at once; no email is sent.

Also searched asattach file to productadd a file to this productput files in a folderlink upload to variant

Path parameters

  • idstringRequired

Request body

  • asset_idsarray of stringsRequired
  • folderstring
    Example: Extras

Returns

The digital product 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.

POST/digital_products/{id}/files/attach
curl -X POST "https://app.filemonk.io/api/v2/external/digital_products/7ea3c05d-6f29-42b6-b24f-43260caeaa32/files/attach" \
  -H "X-Auth-Token: $FILEMONK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "asset_ids": [
      "e2b7727e-45ad-42b7-b842-cc4615205b10"
    ],
    "folder": "Extras"
  }'
Response
{
  "id": "7ea3c05d-6f29-42b6-b24f-43260caeaa32",
  "scope": "product",
  "shopify_product_id": "gid://shopify/Product/9642107044135",
  "shopify_variant_id": null,
  "title": "Watercolour Course",
  "variant_title": null,
  "sku": null,
  "exists_on_shopify": null,
  "files": [
    {
      "id": "7ea42f2a-6dbe-459c-b8a4-27b0eb823e52",
      "name": "price-list.csv",
      "type": "file",
      "byte_size": 100634,
      "folder": null
    },
    {
      "id": "96fbe30b-c819-4cb8-9666-814c0c8853f1",
      "name": "Beginner's Guide.pdf",
      "type": "file",
      "byte_size": 116711,
      "folder": null
    }
  ],
  "folders": [],
  "delivery": {
    "message": null,
    "attach_to_every_order": false
  },
  "preorder": {
    "enabled": false,
    "launch_at": null,
    "released": true,
    "email": {
      "subject": null,
      "heading": null,
      "description": null
    }
  },
  "update_email": {
    "subject": null,
    "body": null
  },
  "orders_count": 46,
  "created_at": "2025-05-31T13:37:52Z",
  "updated_at": "2025-05-31T13:37:52Z"
}