[bug]: GET /api/v1/workspaces/<slug>/assets/<asset_id>/ returns 500 - S3Storage.__init__() does not accept is_server parameter
@vihar is already working on this.
Since Mar 3, 2026.
- Dominant language
- TypeScript
- Stars
- 59.6k
- Forks
- 5.8k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 49
Description
Is there an existing issue for this?
- I have searched the existing issues
Current behavior
The external API endpoint for fetching asset presigned URLs (GenericAssetEndpoint.get()) crashes with a TypeError on every request.
Root cause:
GenericAssetEndpoint.get() in apps/api/plane/api/views/asset.py calls:
storage = S3Storage(request=request, is_server=True)
But S3Storage.__init__() in apps/api/plane/settings/storage.py only accepts:
def __init__(self, request=None):
This raises TypeError: S3Storage.__init__() got an unexpected keyword argument 'is_server', which is caught by the generic exception handler and returned as {"error": "Internal server error"} (HTTP 500).
The same issue occurs in GenericAssetEndpoint.post() and GenericAssetEndpoint.patch() — all three methods pass is_server=True.
Steps to reproduce
curl -H "X-API-Key: <your_api_key>" "https://<instance>/api/v1/workspaces/<slug>/assets/<any_valid_asset_id>/"
Returns: {"error": "Internal server error"} (500)
Environment
Production
Browser
None
Variant
Self-hosted
Version
v1.2.2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.