# Legacy developer token: GET requests return 200 on V4 but POST returns 401 - write access blocked

**URL:** <https://forum.frame.io/t/legacy-developer-token-get-requests-return-200-on-v4-but-post-returns-401-write-access-blocked/3670>\
**Category:** Help\
**Tags:** api, v4\
**Created:** [September 17, 2026, 1:24am UTC](https://forum.frame.io/t/legacy-developer-token-get-requests-return-200-on-v4-but-post-returns-401-write-access-blocked/3670 "2026-09-17T01:24:33Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![LiamC](https://avatars.discourse-cdn.com/v4/letter/l/7ab992/32.png) [@LiamC](https://forum.frame.io/u/LiamC)\
**Post date:** [September 17, 2026, 1:24am UTC](https://forum.frame.io/t/legacy-developer-token-get-requests-return-200-on-v4-but-post-returns-401-write-access-blocked/3670/1 "2026-09-17T01:24:33Z")

</div>

Hey Guys,

Running into a write access issue.

Legacy developer token authenticated on V4 GET endpoints but 401 on POST

My legacy developer token (fio-u-) successfully returns 200 on:  
GET /v4/accounts  
GET /v4/accounts/{id}/projects

But returns 401 on:  
POST /v4/accounts/{id}/folders/{id}/files

Headers used:

- Authorization: Bearer fio-u-xxx
- x-frameio-legacy-token-auth: true
- Content-Type: application/json

Token has all scopes selected including asset.create.  
Team plan account on [next.frame.io](http://next.frame.io).

Is write access via legacy tokens supported?  
If not, what’s the minimum plan/config required?

Thanks for your time.

Cheers,  
Liam

---

<div class="post-metadata">

**Author:** ![rosiec](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.frame.io/rosiec/32/518_2.png) [@rosiec](https://forum.frame.io/u/rosiec)\
**Post date:** [September 18, 2026, 3:06pm UTC](https://forum.frame.io/t/legacy-developer-token-get-requests-return-200-on-v4-but-post-returns-401-write-access-blocked/3670/2 "2026-09-18T15:06:18Z")

</div>

Hi @LiamC,

Thanks for letting us know about this, sorry to hear you are running into some trouble.

To answer your question, if your account can use legacy tokens for authentication, there isn’t any further limitation based on the type of call you’re making. I can also confirm that there isn’t a specific plan level required to use the API.

All that said, the first thing I’d flag here is that `/v4/accounts/{id}/folders/{id}/files` is a deprecated endpoint.

This endpoint was replaced by **`Create file (local upload)`** and **`Create file (remote upload)`**. I’m linking the docs for each below for your reference:

- **`Create file (local upload)`** - [Create file (local upload) | Frame.io API Documentation](https://next.developer.frame.io/platform/api-reference/files/create-local-upload)
- **`Create file (remote upload)`** - [Create file (remote upload) | Frame.io API Documentation](https://next.developer.frame.io/platform/api-reference/files/create-remote-upload)

Updating your request to use one of those two endpoints is the first thing I’d recommend trying. If you continue to run into this with either of those, please update here and we can continue troubleshooting.

Hope this helps!

---

<div class="post-metadata">

**Author:** ![LiamC](https://avatars.discourse-cdn.com/v4/letter/l/7ab992/32.png) [@LiamC](https://forum.frame.io/u/LiamC)\
**Post date:** [October 2, 2026, 6:52pm UTC](https://forum.frame.io/t/legacy-developer-token-get-requests-return-200-on-v4-but-post-returns-401-write-access-blocked/3670/3 "2026-10-02T18:52:10Z")

</div>

Thanks @rosiec,

We have taken a look and think the issue might be V4 migration.

I can confirm `v4_migrated_at` is `null` on my account. GET requests to V4 work fine with my OAuth token, but all POST/write requests return 401 regardless of endpoint – V4 `/files/local_upload` and V2 `/assets/{id}/children` both fail.

Is the incomplete V4 migration the cause? How do I get my account fully migrated?

Thanks for your help Rosie.

Cheers,  
Liam
