Skip to content

Create user asset upload ​

POST/api/v1/assets/user-assets/

Generate presigned URL for user asset upload

Body Parameters ​

name:requiredstring

Original filename of the asset

type:optionalstring

MIME type of the file

  • image/jpeg - JPEG
  • image/png - PNG
  • image/webp - WebP
  • image/jpg - JPG
  • image/gif - GIF
size:requiredinteger

File size in bytes

entity_type:requiredstring

Type of user asset

  • USER_AVATAR - User Avatar
  • USER_COVER - User Cover

Scopes ​

assets:write

Create user asset upload
bash
curl -X POST \
  "https://api.plane.so/api/v1/assets/user-assets/" \
  -H "X-API-Key: $PLANE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Example Name",
  "type": "image/jpeg",
  "size": 1024000,
  "entity_type": "USER_AVATAR"
}'
Response200
json
{
  "asset_id": "550e8400-e29b-41d4-a716-446655440000",
  "asset_url": "/api/assets/v2/static/550e8400-e29b-41d4-a716-446655440000/",
  "upload_data": {
    "url": "https://uploads.example.com/plane-bucket",
    "fields": {
      "Content-Type": "image/png",
      "key": "user-assets/550e8400-e29b-41d4-a716-446655440000/profile-image.png",
      "x-amz-algorithm": "AWS4-HMAC-SHA256",
      "x-amz-credential": "example/20240101/us-east-1/s3/aws4_request",
      "x-amz-date": "20240101T000000Z",
      "policy": "example-policy",
      "x-amz-signature": "example-signature"
    }
  }
}