Help Needed: Orphaned Deployments Still Consuming Storage After Vercel Project Deletion — Deployment API Returns 403
Hello Vercel Community,
I need technical guidance regarding orphaned deployments that are still consuming storage after deleting an old Vercel project.
1. Account and project details
- Plan: Hobby
- Team: kaasbaba
- Team ID:
team_cJh6svWBrWy90VDbTRc3gWPD - Deleted project name:
kaasbaba.kundli - Deleted project ID:
prj_bd3p7iEzY9WEo5BSgd2vPHz6NLJL - Active project:
kaasbaba-kundli-new - Active project ID:
prj_u1TVz31DTKBWc1MBXrbA1ayhrI5F - Production domain:
https://kaasbabakundli.vercel.app
2. Problem
The old project has already been deleted from the Vercel Projects dashboard. However, its deployment records are still present in the team deployment inventory and continue consuming storage.
Vercel Support previously confirmed that deployments belonging to the deleted project may remain as orphaned deployments, and that their build outputs and function bundles can continue counting toward Deployment Storage and Functions Storage.
Our latest read-only inventory returned:
- 545 total team deployment records scanned.
- 542 records associated with the deleted project.
- 224 records identified for further review.
- 232 production-target records were excluded from the cleanup candidates.
- The active project's deployments were excluded.
We have not deleted these remaining 224 candidate deployments.
3. API access issue
We tested the API using a team-scoped Vercel token.
| API endpoint | Result |
|---|---|
GET /v2/user | HTTP 200 |
GET /v6/deployments?teamId=...&limit=1 | HTTP 200 |
GET /v9/projects/{activeProjectId}?teamId=... | HTTP 200 |
GET /v13/deployments/{deploymentId}?teamId=... | HTTP 403 |
GET /v2/deployments/{deploymentId}/aliases?teamId=... | HTTP 403 |
The deployment detail and alias endpoints return HTTP 403 for both:
- A deployment ID belonging to the deleted project.
- A known active Production deployment ID belonging to the current project.
This is confusing because team deployment listing and active project access both work successfully.
4. What we need help with
Could someone from the Vercel team or an experienced community member please clarify:
- Why do deployment detail and alias API endpoints return HTTP 403 while the team deployment listing endpoint returns HTTP 200?
- Are additional token permissions, scopes, or a different API endpoint required to inspect deployments?
- Is there a supported way to list and verify all deployments belonging to a deleted project?
- What is the recommended and safest method to permanently remove orphaned deployments and release their Deployment Storage and Functions Storage?
- Can Vercel Support verify whether these old deployment records can be safely removed without affecting our active Production project?
5. Important safety requirement
We want to clean up only deployments belonging to the deleted project.
Please note:
- Do not affect the active project
kaasbaba-kundli-new. - Do not delete or modify any active Production deployment.
- Do not affect the production domain or current application.
- We have not attempted bulk deletion of the remaining candidates.
Our goal is simply to recover storage occupied by orphaned deployments, without risking the live application.
Any official guidance or recommended API procedure would be greatly appreciated.
Thank you!