openapi: 3.0.3 info: title: iconik Assets Metadata 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: Metadata description: Custom metadata fields, views, and values. paths: /metadata/v1/fields/: get: operationId: listMetadataFields tags: - Metadata summary: List metadata fields description: Lists all custom metadata fields defined in the account. responses: '200': description: A list of metadata fields. content: application/json: schema: type: object properties: objects: type: array items: $ref: '#/components/schemas/MetadataField' post: operationId: createMetadataField tags: - Metadata summary: Create a metadata field description: Creates a new custom metadata field. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetadataField' responses: '201': description: The created metadata field. content: application/json: schema: $ref: '#/components/schemas/MetadataField' /metadata/v1/views/: get: operationId: listMetadataViews tags: - Metadata summary: List metadata views description: Lists all metadata views, which group fields into a form used to read and write values. responses: '200': description: A list of metadata views. content: application/json: schema: type: object properties: objects: type: array items: type: object /metadata/v1/assets/{asset_id}/views/{view_id}/: parameters: - $ref: '#/components/parameters/AssetId' - name: view_id in: path required: true schema: type: string get: operationId: getAssetMetadata tags: - Metadata summary: Get asset metadata for a view description: Reads the metadata values on an asset for the fields in a given view. responses: '200': description: The metadata values for the asset in the view. content: application/json: schema: $ref: '#/components/schemas/MetadataValues' put: operationId: putAssetMetadata tags: - Metadata summary: Set asset metadata for a view description: Writes metadata values on an asset for the fields in a given view. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetadataValues' responses: '200': description: The updated metadata values. content: application/json: schema: $ref: '#/components/schemas/MetadataValues' components: schemas: MetadataValues: type: object properties: metadata_values: type: object additionalProperties: true description: A map of field name to its value object for the view. MetadataField: type: object properties: name: type: string label: type: string field_type: type: string description: The field data type, e.g. string, text, integer, boolean, date, drop_down. required: type: boolean 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.