{
  "info": {
    "name": "iconik API",
    "description": "The iconik hybrid cloud media asset management (MAM) API, organized as versioned REST microservices under https://app.iconik.io/API/{service}/v1/. Covers the core logical APIs: Assets, Collections, Metadata, Search, Files, and Jobs. Every request is authenticated with two headers - App-ID and Auth-Token - generated by an administrator in the iconik web UI under Settings / Application Tokens. Requests and responses are JSON.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    { "key": "baseUrl", "value": "https://app.iconik.io/API", "type": "string" },
    { "key": "appId", "value": "", "type": "string" },
    { "key": "authToken", "value": "", "type": "string" },
    { "key": "assetId", "value": "", "type": "string" },
    { "key": "collectionId", "value": "", "type": "string" },
    { "key": "viewId", "value": "", "type": "string" },
    { "key": "jobId", "value": "", "type": "string" }
  ],
  "item": [
    {
      "name": "Assets",
      "item": [
        {
          "name": "List assets",
          "request": {
            "method": "GET",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/assets/v1/assets/", "host": ["{{baseUrl}}"], "path": ["assets", "v1", "assets", ""] },
            "description": "Lists assets in the account, paginated."
          }
        },
        {
          "name": "Create an asset",
          "request": {
            "method": "POST",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": { "mode": "raw", "raw": "{\n  \"title\": \"My Asset\",\n  \"type\": \"ASSET\"\n}" },
            "url": { "raw": "{{baseUrl}}/assets/v1/assets/", "host": ["{{baseUrl}}"], "path": ["assets", "v1", "assets", ""] },
            "description": "Creates a new asset container."
          }
        },
        {
          "name": "Get an asset",
          "request": {
            "method": "GET",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/assets/v1/assets/{{assetId}}/", "host": ["{{baseUrl}}"], "path": ["assets", "v1", "assets", "{{assetId}}", ""] },
            "description": "Retrieves a single asset by ID."
          }
        },
        {
          "name": "Update an asset",
          "request": {
            "method": "PATCH",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": { "mode": "raw", "raw": "{\n  \"title\": \"Updated title\"\n}" },
            "url": { "raw": "{{baseUrl}}/assets/v1/assets/{{assetId}}/", "host": ["{{baseUrl}}"], "path": ["assets", "v1", "assets", "{{assetId}}", ""] },
            "description": "Partially updates an asset."
          }
        },
        {
          "name": "Delete an asset",
          "request": {
            "method": "DELETE",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/assets/v1/assets/{{assetId}}/", "host": ["{{baseUrl}}"], "path": ["assets", "v1", "assets", "{{assetId}}", ""] },
            "description": "Deletes an asset (moves it to the delete queue)."
          }
        }
      ]
    },
    {
      "name": "Collections",
      "item": [
        {
          "name": "List collections",
          "request": {
            "method": "GET",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/assets/v1/collections/", "host": ["{{baseUrl}}"], "path": ["assets", "v1", "collections", ""] },
            "description": "Lists collections in the account, paginated."
          }
        },
        {
          "name": "Create a collection",
          "request": {
            "method": "POST",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": { "mode": "raw", "raw": "{\n  \"title\": \"My Collection\"\n}" },
            "url": { "raw": "{{baseUrl}}/assets/v1/collections/", "host": ["{{baseUrl}}"], "path": ["assets", "v1", "collections", ""] },
            "description": "Creates a new collection."
          }
        },
        {
          "name": "Get a collection",
          "request": {
            "method": "GET",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/assets/v1/collections/{{collectionId}}/", "host": ["{{baseUrl}}"], "path": ["assets", "v1", "collections", "{{collectionId}}", ""] },
            "description": "Retrieves a single collection by ID."
          }
        },
        {
          "name": "List collection contents",
          "request": {
            "method": "GET",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/assets/v1/collections/{{collectionId}}/contents/", "host": ["{{baseUrl}}"], "path": ["assets", "v1", "collections", "{{collectionId}}", "contents", ""] },
            "description": "Lists the assets and sub-collections contained within a collection."
          }
        }
      ]
    },
    {
      "name": "Metadata",
      "item": [
        {
          "name": "List metadata fields",
          "request": {
            "method": "GET",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/metadata/v1/fields/", "host": ["{{baseUrl}}"], "path": ["metadata", "v1", "fields", ""] },
            "description": "Lists all custom metadata fields defined in the account."
          }
        },
        {
          "name": "List metadata views",
          "request": {
            "method": "GET",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/metadata/v1/views/", "host": ["{{baseUrl}}"], "path": ["metadata", "v1", "views", ""] },
            "description": "Lists all metadata views."
          }
        },
        {
          "name": "Get asset metadata for a view",
          "request": {
            "method": "GET",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/metadata/v1/assets/{{assetId}}/views/{{viewId}}/", "host": ["{{baseUrl}}"], "path": ["metadata", "v1", "assets", "{{assetId}}", "views", "{{viewId}}", ""] },
            "description": "Reads the metadata values on an asset for the fields in a given view."
          }
        },
        {
          "name": "Set asset metadata for a view",
          "request": {
            "method": "PUT",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": { "mode": "raw", "raw": "{\n  \"metadata_values\": {}\n}" },
            "url": { "raw": "{{baseUrl}}/metadata/v1/assets/{{assetId}}/views/{{viewId}}/", "host": ["{{baseUrl}}"], "path": ["metadata", "v1", "assets", "{{assetId}}", "views", "{{viewId}}", ""] },
            "description": "Writes metadata values on an asset for the fields in a given view."
          }
        }
      ]
    },
    {
      "name": "Search",
      "item": [
        {
          "name": "Search",
          "request": {
            "method": "POST",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": { "mode": "raw", "raw": "{\n  \"query\": \"interview\",\n  \"doc_types\": [\"assets\"],\n  \"sort\": [{\"name\": \"date_created\", \"order\": \"desc\"}]\n}" },
            "url": { "raw": "{{baseUrl}}/search/v1/search/", "host": ["{{baseUrl}}"], "path": ["search", "v1", "search", ""] },
            "description": "Runs a search across assets and collections with full-text, metadata, and facet filters."
          }
        }
      ]
    },
    {
      "name": "Files",
      "item": [
        {
          "name": "List files for an asset",
          "request": {
            "method": "GET",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/files/v1/assets/{{assetId}}/files/", "host": ["{{baseUrl}}"], "path": ["files", "v1", "assets", "{{assetId}}", "files", ""] },
            "description": "Lists the files associated with an asset."
          }
        },
        {
          "name": "List proxies for an asset",
          "request": {
            "method": "GET",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/files/v1/assets/{{assetId}}/proxies/", "host": ["{{baseUrl}}"], "path": ["files", "v1", "assets", "{{assetId}}", "proxies", ""] },
            "description": "Lists the low-resolution proxy previews associated with an asset."
          }
        },
        {
          "name": "List storages",
          "request": {
            "method": "GET",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/files/v1/storages/", "host": ["{{baseUrl}}"], "path": ["files", "v1", "storages", ""] },
            "description": "Lists the connected storages (cloud or on-premise) available in the account."
          }
        }
      ]
    },
    {
      "name": "Jobs",
      "item": [
        {
          "name": "List jobs",
          "request": {
            "method": "GET",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/jobs/v1/jobs/", "host": ["{{baseUrl}}"], "path": ["jobs", "v1", "jobs", ""] },
            "description": "Lists jobs, paginated."
          }
        },
        {
          "name": "Create a job",
          "request": {
            "method": "POST",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": { "mode": "raw", "raw": "{\n  \"title\": \"Transfer job\",\n  \"type\": \"TRANSFER\",\n  \"status\": \"STARTED\"\n}" },
            "url": { "raw": "{{baseUrl}}/jobs/v1/jobs/", "host": ["{{baseUrl}}"], "path": ["jobs", "v1", "jobs", ""] },
            "description": "Creates a new job. Requires at least title, type, and status."
          }
        },
        {
          "name": "Get a job",
          "request": {
            "method": "GET",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" }
            ],
            "url": { "raw": "{{baseUrl}}/jobs/v1/jobs/{{jobId}}/", "host": ["{{baseUrl}}"], "path": ["jobs", "v1", "jobs", "{{jobId}}", ""] },
            "description": "Retrieves a single job by ID, including its status and progress."
          }
        },
        {
          "name": "Update a job",
          "request": {
            "method": "PATCH",
            "header": [
              { "key": "App-ID", "value": "{{appId}}" },
              { "key": "Auth-Token", "value": "{{authToken}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": { "mode": "raw", "raw": "{\n  \"status\": \"FINISHED\"\n}" },
            "url": { "raw": "{{baseUrl}}/jobs/v1/jobs/{{jobId}}/", "host": ["{{baseUrl}}"], "path": ["jobs", "v1", "jobs", "{{jobId}}", ""] },
            "description": "Updates a job, for example to report progress or change status."
          }
        }
      ]
    }
  ]
}
