# Issue with Update/Patch File Metadata Fields with V4 API - get code 422

**URL:** <https://forum.frame.io/t/issue-with-update-patch-file-metadata-fields-with-v4-api-get-code-422/2996>\
**Category:** Help\
**Tags:** api, v4\
**Created:** [November 27, 2025, 7:57pm UTC](https://forum.frame.io/t/issue-with-update-patch-file-metadata-fields-with-v4-api-get-code-422/2996 "2025-11-27T19:57:44Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![FuBu](https://avatars.discourse-cdn.com/v4/letter/f/b9bd4f/32.png) [@FuBu](https://forum.frame.io/u/FuBu)\
**Post date:** [November 27, 2025, 7:57pm UTC](https://forum.frame.io/t/issue-with-update-patch-file-metadata-fields-with-v4-api-get-code-422/2996/1 "2025-11-27T19:57:44Z")

</div>

I can see you can update a files “default” data fields (metadata?) like this …

curl -X PATCH [https://api.frame.io/v4/accounts/{myaccount\_id}/files/{my\_file\_ID}](https://api.frame.io/v4/accounts/%7Bmyaccount_id%7D/files/%7Bmy_file_ID%7D) \  
-H “Authorization: Bearer ”  
-H “Content-Type: application/json”  
-d ‘{  
“data”: {  
“name”: “asset.png”  
}  
}’

(sorry for bad formatting, but you get the idea)

**However, how do I patch the value of a custom field I created — say its called “My Custom Field”?**

I tried following the same “data”: {“my\_custom\_field”: “my new value”} type construct but to no avail.

I get a status code 422.

Any pointers would be grant.

Cheers.

---

<div class="post-metadata">

**Author:** ![FuBu](https://avatars.discourse-cdn.com/v4/letter/f/b9bd4f/32.png) [@FuBu](https://forum.frame.io/u/FuBu)\
**Post date:** [November 27, 2025, 9:26pm UTC](https://forum.frame.io/t/issue-with-update-patch-file-metadata-fields-with-v4-api-get-code-422/2996/2 "2025-11-27T21:26:47Z")

</div>

NOOP. I think I figured it out. I referenced this post …

> [@Possible to change video status via API?](https://forum.frame.io/t/possible-to-change-video-status-via-api/2724/4):
>
> @tylermyeo you’re close. Your payload would be: { "data": { "asset\_ids": ["your-asset-id"], "values": [{ "field\_definition\_id": "your-status-field-id", "value": ["status-uuid"] } ] } } I just tested this myself and confirmed this works. Here was my example cURL command if you want to reference curl -X PATCH "https://api.frame.io/v4/accounts/ACCOUNT\_ID/projects/PROJECT\_ID/metadata/values" \ -H "Authorization: Bearer YOUR\_ACCESS\_TOKEN" \ -H "C…

But used this …

endpoint … [https://api.frame.io/v4/accounts/{account\_id}/projects/{project\_id}/metadata/values](https://api.frame.io/v4/accounts/%7Baccount_id%7D/projects/%7Bproject_id%7D/metadata/values)

```auto
payload = {
    "data": {“file_ids”: [asset_id],
             “values”: [{"field_definition_id": field_definition_id, "value": "my value”}]
    }
}

```

i got the field\_definition\_id for my custom field (it doesn’t use the name) by calling this endpoint …

[https://api.frame.io/v4/accounts/{account\_id}/metadata/field\_definitions](https://api.frame.io/v4/accounts/%7Baccount_id%7D/metadata/field_definitions)

Hopefully this helps someone else out as well.

---

<div class="post-metadata">

**Author:** ![CharlieAnderson](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.frame.io/charlieanderson/32/491_2.png) [@CharlieAnderson](https://forum.frame.io/u/CharlieAnderson)\
**Post date:** [December 1, 2025, 7:58pm UTC](https://forum.frame.io/t/issue-with-update-patch-file-metadata-fields-with-v4-api-get-code-422/2996/3 "2025-12-01T19:58:42Z")

</div>

Glad you got it working! It does indeed need the uuid and not the field name to work properly.

---

<div class="post-metadata">

**Author:** ![patanupam4](https://avatars.discourse-cdn.com/v4/letter/p/c77e96/32.png) [@patanupam4](https://forum.frame.io/u/patanupam4)\
**Post date:** [January 13, 2026, 9:33am UTC](https://forum.frame.io/t/issue-with-update-patch-file-metadata-fields-with-v4-api-get-code-422/2996/4 "2026-01-13T09:33:04Z")

</div>

Hi @FuBu ,

When I try to get the Field definitions via [https://api.frame.io/v4/accounts/{account\_id}/metadata/field\_definitions](https://api.frame.io/v4/accounts/%7Baccount_id%7D/metadata/field_definitions)

I get a 403 error saying a migration is required.

```auto
"errors": [
    {
      "title": "Forbidden",
      "detail": "Please migrate your account to account level metadata."
    }
  ]
}

```

Did it ask the same of you, while I understand an Adobe ticket will help here I do not know what would be the implications of such a migration on other scenarios.

@CharlieAnderson Would you be able to help ?

Thanks.

---

<div class="post-metadata">

**Author:** ![CharlieAnderson](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.frame.io/charlieanderson/32/491_2.png) [@CharlieAnderson](https://forum.frame.io/u/CharlieAnderson)\
**Post date:** [January 13, 2026, 3:48pm UTC](https://forum.frame.io/t/issue-with-update-patch-file-metadata-fields-with-v4-api-get-code-422/2996/5 "2026-01-13T15:48:14Z")

</div>

@patanupam4 Account Level Migrations (ALM) have not begun yet due to a delay on the engineering side. Any newly created [frame.io](http://frame.io) account will have ALM on be default, so if you need this to work for development please feel free to create a new account to test with (the API will work with free accounts after the trial has lapsed).

---

<div class="post-metadata">

**Author:** ![FuBu](https://avatars.discourse-cdn.com/v4/letter/f/b9bd4f/32.png) [@FuBu](https://forum.frame.io/u/FuBu)\
**Post date:** [January 16, 2026, 4:22pm UTC](https://forum.frame.io/t/issue-with-update-patch-file-metadata-fields-with-v4-api-get-code-422/2996/6 "2026-01-16T16:22:11Z")

</div>

Sorry - @patanupam4 as @CharlieAnderson mentions, I too created a brand new **[frame.io](http://frame.io/)** account for this project, so didn’t run into any legacy or migration issues. Good luck!
