openapi: 3.0.3 info: title: iconik Assets Files API description: 'iconik is a hybrid cloud media asset management (MAM) platform. Its public API is API-first and organized as versioned REST microservices under https://app.iconik.io/API/{service}/v1/. This document models the core logical APIs an integrator uses most: Assets and Collections (assets microservice), Metadata, Search, Files, and Jobs. Every request is authenticated with two headers - App-ID (application identifier) and Auth-Token (auth token) - generated by an administrator in the iconik web UI under Settings / Application Tokens. Requests and responses are JSON. List responses are paginated and return page metadata (page, pages, total). Endpoints are grounded in iconik''s published API reference; request and response schemas are honestly modeled and simplified where the interactive reference is the authoritative source of the full object shapes.' version: '1.0' contact: name: iconik url: https://www.iconik.io servers: - url: https://app.iconik.io/API description: iconik (US / default region) - url: https://eu.iconik.io/API description: iconik (EU region) security: - appId: [] authToken: [] tags: - name: Files description: Files, proxies, formats, and storages attached to assets. paths: /files/v1/assets/{asset_id}/files/: parameters: - $ref: '#/components/parameters/AssetId' get: operationId: listAssetFiles tags: - Files summary: List files for an asset description: Lists the files associated with an asset. responses: '200': description: A list of files. content: application/json: schema: type: object properties: objects: type: array items: $ref: '#/components/schemas/File' post: operationId: createAssetFile tags: - Files summary: Associate a file with an asset description: Associates a new file record with an asset on a storage. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/File' responses: '201': description: The created file. content: application/json: schema: $ref: '#/components/schemas/File' /files/v1/assets/{asset_id}/proxies/: parameters: - $ref: '#/components/parameters/AssetId' get: operationId: listAssetProxies tags: - Files summary: List proxies for an asset description: Lists the low-resolution proxy previews associated with an asset. responses: '200': description: A list of proxies. content: application/json: schema: type: object properties: objects: type: array items: type: object /files/v1/storages/: get: operationId: listStorages tags: - Files summary: List storages description: Lists the connected storages (cloud or on-premise) available in the account. responses: '200': description: A list of storages. content: application/json: schema: type: object properties: objects: type: array items: $ref: '#/components/schemas/Storage' components: schemas: Storage: type: object properties: id: type: string name: type: string method: type: string description: The storage method, e.g. S3, GCS, AZURE, FILE, GCP. status: type: string File: type: object properties: id: type: string name: type: string directory_path: type: string size: type: integer format: int64 storage_id: type: string status: type: string parameters: AssetId: name: asset_id in: path required: true description: The unique ID of the asset. schema: type: string securitySchemes: appId: type: apiKey in: header name: App-ID description: The iconik application ID generated in the web UI. authToken: type: apiKey in: header name: Auth-Token description: The iconik auth token paired with the application ID.