# Image Asset Endpoints {#image-asset-endpoints}


Upload and manage image assets (avatars, logos, screenshots, documents).


## Base Path {#base-path}


```
/api/image-assets
```


## Endpoints {#endpoints}



### List Image Assets {#list-image-assets}


```
GET /api/image-assets
Authorization: Bearer {token}
```


### Get Image Asset by ID {#get-image-asset-by-id}


```
GET /api/image-assets/:id
Authorization: Bearer {token}
```


### Upload Image {#upload-image}


```
POST /api/image-assets/upload/{folder}
Authorization: Bearer {token}
Content-Type: multipart/form-data

file: <binary>
```

**Path Parameters:**

| Parameter | Description                                             |
| --------- | ------------------------------------------------------- |
| `folder`  | Storage folder name (e.g., `profile_pictures`, `logos`) |

**Response** `201 Created`:

```json
{
  "id": "uuid",
  "name": "screenshot.png",
  "url": "https://storage.example.com/profile_pictures/screenshot.png",
  "thumb": "https://storage.example.com/profile_pictures/screenshot_thumb.png",
  "width": 1920,
  "height": 1080,
  "size": 245678,
  "isFeatured": false
}
```


### Delete Image Asset {#delete-image-asset}


```
DELETE /api/image-assets/:id
Authorization: Bearer {token}
```


## File Storage Providers {#file-storage-providers}


The upload destination depends on the configured storage provider:

| Provider         | Environment Variable            | Description              |
| ---------------- | ------------------------------- | ------------------------ |
| **Local**        | `FILE_PROVIDER=LOCAL`           | Local filesystem storage |
| **S3**           | `FILE_PROVIDER=S3`              | Amazon S3 / compatible   |
| **Wasabi**       | `FILE_PROVIDER=WASABI`          | Wasabi Cloud Storage     |
| **Cloudinary**   | `FILE_PROVIDER=CLOUDINARY`      | Cloudinary CDN           |
| **DigitalOcean** | `FILE_PROVIDER=DIGITALOCEAN_S3` | DO Spaces                |


## Data Model {#data-model}


```typescript
interface IImageAsset {
  id: string;
  name: string;
  url: string;
  thumb?: string;
  width?: number;
  height?: number;
  size?: number;
  isFeatured?: boolean;
  externalProviderId?: string;
  storageProvider?: FileStorageProviderEnum;
  organizationId?: string;
  tenantId: string;
}
```


## Related Pages {#related-pages}


- [File Storage Architecture](https://sourcey-gauzy.pages.dev/architecture/file-storage/index.md) — storage providers
- [File Storage Providers](https://sourcey-gauzy.pages.dev/advanced/file-storage-providers/index.md) — provider configuration
