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.