Multi-Image Collection Field not working through API POST request

I am trying to add dogs to my collection for our animal rescue site.
The single image field works fine, however I am unable to get the multi-image field “dog-photo-gallery” to show in the UI. I am trying to use existing Assets, so that I am not re-uploading images every time I sync.

I’ve tried two main techniques:

  1. a simple array of string literals (the file IDs). Per the documentation at Field Types & Item Values — Webflow API Documentation, that seems to be the correct approach.
  2. an array of objects, each with keys fileId, url, and (optionally) alt, similar to how the objects are returned when read, and how I got the single image field to work.

Both methods return a 202 and a successful response object, but neither includes the dog-photo-gallery field at all.

Method: POST
Endpoint: https://api.webflow.com/v2/collections/680a824534830d2a2d1e663a/items/live
Here is an example of the full payload:

  "isArchived": false,
  "isDraft": false,
  "fieldData": {
    "name": "Bella",
    "slug": "bella",
    "dog-featured-photo": {
      "fileId": "680e65a6c629a9ba7c712183",
      "url": "<redacted>"
    },
    "dog-photo-gallery": [
      "680e65a6c629a9ba7c712183",
      "680e80d3c00aed1b13231e16",
      "680e80df2f82e6de36773d91",
      "680e80e2e9c3ce718228d640"
    ]
  }
}

and for the other way I have tried:

{
  "isArchived": false,
  "isDraft": false,
  "fieldData": {
    "name": "Bella",
    "slug": "bella",
    "dog-featured-photo": {
      "fileId": "680e65a6c629a9ba7c712183",
      "url": "<redacted>"
    },
    "dog-photo-gallery": [
      {
        "fileId": "680e65a6c629a9ba7c712183",
        "url": "<redacted>"
      },
      {
        "fileId": "680e80d3c00aed1b13231e16",
        "url": "<redacted>"
      },
      {
        "fileId": "680e80df2f82e6de36773d91",
        "url": "<redacted>"
      },
      {
        "fileId": "680e80e2e9c3ce718228d640",
        "url": "<redacted>"
      }
    ]
  }
}

I have not worked with this endpoint but my sense is that you’re mixing different intents together. It looks like you’re hitting the POST endpoint which is for creating a new item. You probably want PATCH for updating an item.

I’m not sure POST makes sense with image itemId’s either, since it’s unlikely you’d “share” the same image across multiple CMS items.

If you’re trying to sync only the photos for existing items, you might also look at updating that field only. You’d probably specify all items, existing ones can use the ID, new ones can use the URL.