> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mediacloud.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Get all assets

> Returns a paginated list of assets. Each page holds 24 assets by default; follow `links.next` or pass `page` to move through the results.



## OpenAPI

````yaml openapi.json GET /api/v1/assets
openapi: 3.0.3
info:
  title: Media Cloud API
  version: 1.0.0
  description: >-
    Upload, list, fetch and delete media assets on Media Cloud.


    All routes are mounted under `/api/v1` and authenticated with an API key
    sent as a Bearer token. Responses use the JSON:API media type,
    `application/vnd.api+json`: a resource is `{ id, type, attributes }` inside
    a `data` member, and lists add `links` and `meta` for pagination.
  contact:
    name: Media Cloud
    url: https://mediacloud.me
servers:
  - url: https://api.mediacloud.me
    description: Media Cloud API
security:
  - bearerAuth: []
tags:
  - name: Assets
    description: Upload, retrieve, trash and permanently delete files.
paths:
  /api/v1/assets:
    get:
      tags:
        - Assets
      summary: Get all assets
      description: >-
        Returns a paginated list of assets. Each page holds 24 assets by
        default; follow `links.next` or pass `page` to move through the results.
      operationId: listAssets
      parameters:
        - name: page
          in: query
          required: false
          description: Page number (1-based).
          schema:
            type: integer
            minimum: 1
            default: 1
      responses:
        '200':
          description: A page of assets.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/AssetCollection'
              example:
                data:
                  - id: 01a0bf37-4cae-71fa-be03-db13a3b10208
                    type: assets
                    attributes:
                      name: 26385597.jpeg
                      type: image
                      extension: jpg
                      mime_type: image/jpeg
                      size: 4052
                      folder_id: null
                      created_at: '2026-09-20T13:27:47.000000Z'
                      updated_at: '2026-09-20T13:27:47.000000Z'
                      width: 280
                      height: 280
                      duration_seconds: null
                      optimized_size: null
                      is_favourite: false
                      status: ready
                      public_file_id: 57c93652-af07-4034-a12f-f5f3f9080752
                      url: >-
                        https://api.mediacloud.me/api/v1/files/57c93652-af07-4034-a12f-f5f3f9080752/content
                      thumbnail_url: >-
                        https://api.mediacloud.me/api/v1/files/57c93652-af07-4034-a12f-f5f3f9080752/content?variant=thumbnail
                      download_url: >-
                        https://api.mediacloud.me/api/v1/files/57c93652-af07-4034-a12f-f5f3f9080752/download
                links:
                  first: https://api.mediacloud.me/api/v1/assets?page=1
                  last: https://api.mediacloud.me/api/v1/assets?page=1
                  prev: null
                  next: null
                meta:
                  current_page: 1
                  from: 1
                  last_page: 1
                  path: https://api.mediacloud.me/api/v1/assets
                  per_page: 24
                  to: 1
                  total: 1
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    AssetCollection:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Asset'
        links:
          type: object
          properties:
            first:
              type: string
              format: uri
            last:
              type: string
              format: uri
            prev:
              type: string
              format: uri
              nullable: true
            next:
              type: string
              format: uri
              nullable: true
        meta:
          type: object
          properties:
            current_page:
              type: integer
            from:
              type: integer
              nullable: true
            last_page:
              type: integer
            path:
              type: string
              format: uri
            per_page:
              type: integer
            to:
              type: integer
              nullable: true
            total:
              type: integer
    Asset:
      type: object
      description: A JSON:API resource object for a stored file.
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the asset.
        type:
          type: string
          enum:
            - assets
          description: The JSON:API resource type.
        attributes:
          $ref: '#/components/schemas/AssetAttributes'
    AssetAttributes:
      type: object
      properties:
        name:
          type: string
          description: The file name.
        type:
          type: string
          description: The asset category, for example `image` or `document`.
        extension:
          type: string
          description: The file extension detected for the stored file.
        mime_type:
          type: string
          description: The MIME type detected for the stored file.
        size:
          type: integer
          description: File size in bytes.
        folder_id:
          type: string
          nullable: true
          description: >-
            The containing folder's id, or `null` when the asset is not in a
            folder.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        width:
          type: integer
          nullable: true
          description: Width in pixels. `null` for non-visual files.
        height:
          type: integer
          nullable: true
          description: Height in pixels. `null` for non-visual files.
        duration_seconds:
          type: number
          nullable: true
          description: Duration in seconds for audio and video. `null` otherwise.
        optimized_size:
          type: integer
          nullable: true
          description: Size in bytes of the optimized version, when one exists.
        is_favourite:
          type: boolean
          nullable: true
          description: >-
            Whether the asset is marked as a favourite. `null` on responses to
            uploads.
        status:
          type: string
          description: Processing status. `ready` means the asset can be served.
          example: ready
        public_file_id:
          type: string
          format: uuid
          description: Identifier used in the asset's file URLs.
        url:
          type: string
          format: uri
          description: URL that serves the file content.
        thumbnail_url:
          type: string
          format: uri
          nullable: true
          description: >-
            URL of the thumbnail variant. `null` when the asset has no
            thumbnail.
        download_url:
          type: string
          format: uri
          description: URL that downloads the file.
  responses:
    Unauthorized:
      description: The API key is missing or invalid.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Your API key as a Bearer token: `Authorization: Bearer YOUR_API_KEY`.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.