{
  "openapi": "3.1.0",
  "info": {
    "title": "IntelCenter API",
    "description": "IntelCenter data services API",
    "version": "1.1.0",
    "contact": {
      "name": "IntelCenter",
      "url": "https://www.intelcenter.com",
      "email": "support@intelcenter.com"
    }
  },
  "components": {
    "schemas": {
      "IcdbVideoSummary": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "primary_id": {
            "type": "integer"
          },
          "primary_date": {
            "type": "string",
            "format": "date"
          },
          "entity": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "second_geo_layer": {
            "type": "string"
          },
          "dominant_lat": {
            "type": "number"
          },
          "dominant_long": {
            "type": "number"
          },
          "summary": {
            "type": "string"
          }
        }
      },
      "IcdbVideoDetail": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "primary_id": {
            "type": "integer"
          },
          "primary_date": {
            "type": "string",
            "format": "date"
          },
          "entity": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "second_geo_layer": {
            "type": "string"
          },
          "dominant_lat": {
            "type": "number"
          },
          "dominant_long": {
            "type": "number"
          },
          "title": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "report": {
            "type": "string"
          },
          "transcript": {
            "type": "string"
          }
        }
      },
      "IcdbVideoSearchResponse": {
        "type": "object",
        "properties": {
          "itemsReceived": {
            "type": "integer"
          },
          "curPage": {
            "type": "integer"
          },
          "nextPage": {
            "type": [
              "integer",
              "null"
            ]
          },
          "prevPage": {
            "type": [
              "integer",
              "null"
            ]
          },
          "offset": {
            "type": "integer"
          },
          "perPage": {
            "type": "integer"
          },
          "itemsTotal": {
            "type": "integer"
          },
          "pageTotal": {
            "type": "integer"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IcdbVideoSummary"
            }
          }
        }
      },
      "IcdbVideoPlayerResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "ok"
          },
          "embed_url": {
            "type": "string"
          },
          "expires": {
            "type": "integer"
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "IcdVideoSummary": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "primary_id": {
            "type": "integer"
          },
          "primary_date": {
            "type": "string",
            "format": "date"
          },
          "entity": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "second_geo_layer": {
            "type": "string"
          },
          "dominant_lat": {
            "type": "number"
          },
          "dominant_long": {
            "type": "number"
          },
          "summary": {
            "type": "string"
          }
        }
      },
      "IcdVideoDetail": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "primary_id": {
            "type": "integer"
          },
          "primary_date": {
            "type": "string",
            "format": "date"
          },
          "entity": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "second_geo_layer": {
            "type": "string"
          },
          "dominant_lat": {
            "type": "number"
          },
          "dominant_long": {
            "type": "number"
          },
          "title": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "report": {
            "type": "string"
          },
          "transcript": {
            "type": "string"
          }
        }
      },
      "IcdVideoSearchResponse": {
        "type": "object",
        "properties": {
          "itemsReceived": {
            "type": "integer"
          },
          "curPage": {
            "type": "integer"
          },
          "nextPage": {
            "type": [
              "integer",
              "null"
            ]
          },
          "prevPage": {
            "type": [
              "integer",
              "null"
            ]
          },
          "offset": {
            "type": "integer"
          },
          "perPage": {
            "type": "integer"
          },
          "itemsTotal": {
            "type": "integer"
          },
          "pageTotal": {
            "type": "integer"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IcdVideoSummary"
            }
          }
        }
      },
      "IcdVideoPlayerResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "ok"
          },
          "embed_url": {
            "type": "string"
          },
          "expires": {
            "type": "integer"
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "IcdImageSummary": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "primary_id": {
            "type": "integer"
          },
          "primary_date": {
            "type": "string",
            "format": "date"
          },
          "entity": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "second_geo_layer": {
            "type": "string"
          },
          "dominant_lat": {
            "type": "number"
          },
          "dominant_long": {
            "type": "number"
          },
          "summary": {
            "type": "string"
          }
        }
      },
      "IcdImageDetail": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "primary_id": {
            "type": "integer"
          },
          "primary_date": {
            "type": "string",
            "format": "date"
          },
          "entity": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "second_geo_layer": {
            "type": "string"
          },
          "dominant_lat": {
            "type": "number"
          },
          "dominant_long": {
            "type": "number"
          },
          "title": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "report": {
            "type": "string"
          },
          "transcript": {
            "type": "string"
          }
        }
      },
      "IcdImageSearchResponse": {
        "type": "object",
        "properties": {
          "itemsReceived": {
            "type": "integer"
          },
          "curPage": {
            "type": "integer"
          },
          "nextPage": {
            "type": [
              "integer",
              "null"
            ]
          },
          "prevPage": {
            "type": [
              "integer",
              "null"
            ]
          },
          "offset": {
            "type": "integer"
          },
          "perPage": {
            "type": "integer"
          },
          "itemsTotal": {
            "type": "integer"
          },
          "pageTotal": {
            "type": "integer"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IcdImageSummary"
            }
          }
        }
      },
      "IcdImageViewerResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "ok"
          },
          "signed_url": {
            "type": "string"
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "IcdbImageSummary": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "primary_id": {
            "type": "integer"
          },
          "primary_date": {
            "type": "string",
            "format": "date"
          },
          "entity": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "second_geo_layer": {
            "type": "string"
          },
          "dominant_lat": {
            "type": "number"
          },
          "dominant_long": {
            "type": "number"
          },
          "summary": {
            "type": "string"
          }
        }
      },
      "IcdbImageDetail": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "primary_id": {
            "type": "integer"
          },
          "primary_date": {
            "type": "string",
            "format": "date"
          },
          "entity": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "second_geo_layer": {
            "type": "string"
          },
          "dominant_lat": {
            "type": "number"
          },
          "dominant_long": {
            "type": "number"
          },
          "title": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "report": {
            "type": "string"
          },
          "transcript": {
            "type": "string"
          }
        }
      },
      "IcdbImageSearchResponse": {
        "type": "object",
        "properties": {
          "itemsReceived": {
            "type": "integer"
          },
          "curPage": {
            "type": "integer"
          },
          "nextPage": {
            "type": [
              "integer",
              "null"
            ]
          },
          "prevPage": {
            "type": [
              "integer",
              "null"
            ]
          },
          "offset": {
            "type": "integer"
          },
          "perPage": {
            "type": "integer"
          },
          "itemsTotal": {
            "type": "integer"
          },
          "pageTotal": {
            "type": "integer"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IcdbImageSummary"
            }
          }
        }
      },
      "IcdbImageViewerResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "ok"
          },
          "signed_url": {
            "type": "string"
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "IcdNlSearchItem": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "primary_id": {
            "type": "integer"
          },
          "primary_date": {
            "type": "string",
            "format": "date"
          },
          "entity": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "source_component": {
            "type": "string"
          },
          "source_database": {
            "type": "string"
          },
          "sub_entity": {
            "type": "string"
          },
          "score": {
            "type": "number"
          },
          "match_chunk_id": {
            "type": "string"
          },
          "section_type": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          }
        }
      },
      "IcdNlSearchResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "itemsReceived": {
            "type": "integer"
          },
          "curPage": {
            "type": "integer"
          },
          "nextPage": {
            "type": [
              "integer",
              "null"
            ]
          },
          "prevPage": {
            "type": [
              "integer",
              "null"
            ]
          },
          "offset": {
            "type": "integer"
          },
          "perPage": {
            "type": "integer"
          },
          "itemsTotal": {
            "type": "integer"
          },
          "pageTotal": {
            "type": "integer"
          },
          "retrieval_question": {
            "type": "string"
          },
          "source_component_filter": {
            "type": "string"
          },
          "top_k": {
            "type": "integer"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IcdNlSearchItem"
            }
          }
        }
      },
      "IcdbNlSearchItem": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "primary_id": {
            "type": "integer"
          },
          "primary_date": {
            "type": "string",
            "format": "date"
          },
          "entity": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "source_component": {
            "type": "string"
          },
          "source_database": {
            "type": "string"
          },
          "sub_entity": {
            "type": "string"
          },
          "score": {
            "type": "number"
          },
          "match_chunk_id": {
            "type": "string"
          },
          "section_type": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          }
        }
      },
      "IcdbNlSearchResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "itemsReceived": {
            "type": "integer"
          },
          "curPage": {
            "type": "integer"
          },
          "nextPage": {
            "type": [
              "integer",
              "null"
            ]
          },
          "prevPage": {
            "type": [
              "integer",
              "null"
            ]
          },
          "offset": {
            "type": "integer"
          },
          "perPage": {
            "type": "integer"
          },
          "itemsTotal": {
            "type": "integer"
          },
          "pageTotal": {
            "type": "integer"
          },
          "retrieval_question": {
            "type": "string"
          },
          "source_component_filter": {
            "type": "string"
          },
          "top_k": {
            "type": "integer"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IcdbNlSearchItem"
            }
          }
        }
      },
      "IcdDomainGenAiChatRequest": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string"
          },
          "conversation_id": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "entity": {
            "type": "string"
          },
          "top_k": {
            "type": "integer"
          }
        },
        "required": [
          "question"
        ]
      },
      "IcdbDomainGenAiChatRequest": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string"
          },
          "conversation_id": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "entity": {
            "type": "string"
          },
          "top_k": {
            "type": "integer"
          }
        },
        "required": [
          "question"
        ]
      },
      "IcdDomainGenAiChatResponse": {
        "type": "object",
        "additionalProperties": true
      },
      "IcdbDomainGenAiChatResponse": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "securitySchemes": {
      "api_key": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "responses": {
      "RateLimitNoRetryAfter": {
        "description": "Rate Limiting Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "type",
                "title",
                "status"
              ],
              "examples": [
                {
                  "type": "https://httpproblems.com/http-status/429",
                  "title": "Too Many Requests",
                  "status": 429,
                  "instance": "/foo/bar"
                }
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "example": "https://httpproblems.com/http-status/429",
                  "description": "A URI reference that identifies the problem."
                },
                "title": {
                  "type": "string",
                  "example": "Too Many Requests",
                  "description": "A short, human-readable summary of the problem."
                },
                "status": {
                  "type": "number",
                  "example": 429,
                  "description": "The HTTP status code."
                },
                "instance": {
                  "type": "string",
                  "example": "/foo/bar"
                }
              }
            }
          }
        }
      },
      "RateLimitWithRetryAfter": {
        "description": "Rate Limiting Response",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "type",
                "title",
                "status"
              ],
              "examples": [
                {
                  "type": "https://httpproblems.com/http-status/429",
                  "title": "Too Many Requests",
                  "status": 429,
                  "instance": "/foo/bar"
                }
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "example": "https://httpproblems.com/http-status/429",
                  "description": "A URI reference that identifies the problem."
                },
                "title": {
                  "type": "string",
                  "example": "Too Many Requests",
                  "description": "A short, human-readable summary of the problem."
                },
                "status": {
                  "type": "number",
                  "example": 429,
                  "description": "The HTTP status code."
                },
                "instance": {
                  "type": "string",
                  "example": "/foo/bar"
                }
              }
            }
          }
        },
        "headers": {
          "retry-after": {
            "description": "The number of seconds to wait before making a new request.",
            "schema": {
              "type": "integer",
              "example": 60
            }
          }
        }
      }
    }
  },
  "paths": {
    "/mcp-icd": {
      "post": {
        "summary": "ICD MCP Server",
        "description": "MCP server exposing ICD intelligence search, retrieval, media access, natural language search and Domain GenAI tools for ICD content.",
        "operationId": "icdMcpServer",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          }
        ],
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/mcp-all": {
      "post": {
        "summary": "Full IntelCenter MCP Server",
        "description": "MCP server exposing ICD and ICDB intelligence tools, including search, retrieval, media access, natural language search and Domain GenAI capabilities.",
        "operationId": "fullMcpServer",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          }
        ],
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icdb/videos": {
      "get": {
        "summary": "Search ICDB Video Component",
        "description": "Search analyzed ICDB video records from the ICDB Video Component using keywords, entities, countries, date ranges and other filters. Results include structured metadata and summaries derived from IntelCenter analysis of entity-generated video, audio, transcripts and related context. Best for precise searches using known terms or filters.",
        "operationId": "searchIcdbVideos",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Full text search term."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by primary country."
          },
          {
            "name": "entity",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by associated entity."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Page number."
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Number of results per page."
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Sort order for results."
          },
          {
            "name": "date_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Return results on or after this date."
          },
          {
            "name": "date_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Return results on or before this date."
          }
        ],
        "responses": {
          "200": {
            "description": "Search results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdbVideoSearchResponse"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icdb/videos/{uuid}": {
      "get": {
        "summary": "Get ICDB Video Detail Record",
        "description": "Retrieve the full intelligence record for a specific ICDB video, including metadata, transcript, summary, and IntelCenter analysis. Use this after finding a relevant video record to review its detailed content.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Video details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdbVideoDetail"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "operationId": "getOneIcdbVideo",
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icdb/videos/{uuid}/player": {
      "get": {
        "summary": "ICDB Video Player",
        "description": "Retrieve a secure streaming player URL and related metadata for a specific ICDB video. Use this when you need to play or present the original video content associated with an intelligence record.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Player information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdbVideoPlayerResponse"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "operationId": "getIcdbVideoPlayer",
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icd/videos": {
      "get": {
        "summary": "Search ICD Video Component",
        "description": "Search analyzed ICD video records from the ICD Video Component using keywords, entities, countries, date ranges and other filters. Results include structured metadata and summaries derived from IntelCenter analysis of entity-generated video, audio, transcripts and related context. Best for precise searches using known terms or filters.",
        "operationId": "searchIcdVideos",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Full text search term."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by primary country."
          },
          {
            "name": "entity",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by associated entity."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Page number."
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Number of results per page."
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Sort order for results."
          },
          {
            "name": "date_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Return results on or after this date."
          },
          {
            "name": "date_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Return results on or before this date."
          }
        ],
        "responses": {
          "200": {
            "description": "Search results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdVideoSearchResponse"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icd/videos/{uuid}": {
      "get": {
        "summary": "Get ICD Video Detail Record",
        "description": "Retrieve the full intelligence record for a specific ICD video, including metadata, transcript, summary, and IntelCenter analysis. Use this after finding a relevant video record to review its detailed content.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Video details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdVideoDetail"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "operationId": "getOneIcdVideo",
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icd/videos/{uuid}/player": {
      "get": {
        "summary": "ICD Video Player",
        "description": "Retrieve a secure streaming player URL and related metadata for a specific ICD video. Use this when you need to play or present the original video content associated with an intelligence record.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Player information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdVideoPlayerResponse"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "operationId": "getIcdVideoPlayer",
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icd/images": {
      "get": {
        "summary": "Search ICD Image Component",
        "description": "Search analyzed ICD image records using keywords, entities, countries, date ranges and other filters. Results include structured metadata and summaries derived from IntelCenter visual and contextual analysis of entity-generated image content. Best for precise searches using known terms or filters.",
        "operationId": "searchIcdImages",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Full text search term."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by primary country."
          },
          {
            "name": "entity",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by associated entity."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Page number."
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Number of results per page."
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Sort order for results."
          },
          {
            "name": "date_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Return results on or after this date."
          },
          {
            "name": "date_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Return results on or before this date."
          }
        ],
        "responses": {
          "200": {
            "description": "Search results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdImageSearchResponse"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icd/images/{uuid}": {
      "get": {
        "summary": "Get ICD Image Detail Record",
        "description": "Retrieve the full intelligence record for a specific ICD image, including metadata, summary and IntelCenter visual and contextual analysis. Use this after finding a relevant image record to review its detailed content.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Image details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdImageDetail"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "operationId": "getOneIcdImage",
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icd/images/{uuid}/viewer": {
      "get": {
        "summary": "ICD Image Viewer",
        "description": "Retrieve a secure signed URL for viewing a specific ICD image. Use this when direct access to the original image content is needed.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Signed image URL",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdImageViewerResponse"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "operationId": "getIcdImageViewer",
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icdb/images": {
      "get": {
        "summary": "Search ICDB Image Component",
        "description": "Search analyzed ICDB image records using keywords, entities, countries, date ranges and other filters. Results include structured metadata and summaries derived from IntelCenter visual and contextual analysis of entity-generated image content. Best for precise searches using known terms or filters.",
        "operationId": "searchIcdbImages",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Full text search term."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by primary country."
          },
          {
            "name": "entity",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by associated entity."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Page number."
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Number of results per page."
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Sort order for results."
          },
          {
            "name": "date_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Return results on or after this date."
          },
          {
            "name": "date_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Return results on or before this date."
          }
        ],
        "responses": {
          "200": {
            "description": "Search results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdbImageSearchResponse"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icdb/images/{uuid}": {
      "get": {
        "summary": "Get ICDB Image Detail Record",
        "description": "Retrieve the full intelligence record for a specific ICDB image, including metadata, summary and IntelCenter visual and contextual analysis. Use this after finding a relevant image record to review its detailed content.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Image details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdbImageDetail"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "operationId": "getOneIcdbImage",
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icdb/images/{uuid}/viewer": {
      "get": {
        "summary": "ICDB Image Viewer",
        "description": "Retrieve a secure signed URL for viewing a specific ICDB image. Use this when direct access to the original image content is needed.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Signed image URL",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdbImageViewerResponse"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "operationId": "getIcdbImageViewer",
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icd/nl-search": {
      "get": {
        "summary": "ICD Natural Language Search",
        "description": "Search ICD video and image intelligence records using natural language queries. The system matches concepts across transcripts, visual analysis, audio analysis, summaries and metadata. Returns structured results with relevance scores. Best for exploratory, conceptual or descriptive searches where keyword search may be too narrow.",
        "operationId": "searchIcdNl",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "search",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entity",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "source_component",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "top_k",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "date_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Return results on or after this date."
          },
          {
            "name": "date_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Return results on or before this date."
          }
        ],
        "responses": {
          "200": {
            "description": "Natural language search results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdNlSearchResponse"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icdb/nl-search": {
      "get": {
        "summary": "ICDB Natural Language Search",
        "description": "Search ICDB video and image intelligence records using natural language queries. The system matches concepts across transcripts, visual analysis, audio analysis, summaries and metadata. Returns structured results with relevance scores. Best for exploratory, conceptual or descriptive searches where keyword search may be too narrow.",
        "operationId": "searchIcdbNl",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          },
          {
            "name": "search",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entity",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "source_component",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "top_k",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "date_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Return results on or after this date."
          },
          {
            "name": "date_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Return results on or before this date."
          }
        ],
        "responses": {
          "200": {
            "description": "Natural language search results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdbNlSearchResponse"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icd/domain-genai": {
      "post": {
        "summary": "ICD Domain GenAI Chat",
        "description": "Ask questions and receive synthesized answers from ICD intelligence data. This IntelCenter Domain GenAI uses analyzed source material, including transcripts, visual analysis, audio analysis, summaries and metadata, to produce a focused response. Optional entity and primary_country parameters can focus on a particular domain. Best for analytical or complex questions where a direct answer is needed rather than a list of search results.",
        "operationId": "icdDomainGenAiChat",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IcdDomainGenAiChatRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ICD Domain GenAI chat response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdDomainGenAiChatResponse"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          }
        ],
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icdb/domain-genai": {
      "post": {
        "summary": "ICDB Domain GenAI Chat",
        "description": "Ask questions and receive synthesized answers from ICDB intelligence data. This IntelCenter Domain GenAI uses analyzed source material, including transcripts, visual analysis, audio analysis, summaries and metadata, to produce a focused response. Optional entity and primary_country parameters can focus on a particular domain. Best for analytical or complex questions where a direct answer is needed rather than a list of search results.",
        "operationId": "icdbDomainGenAiChat",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IcdbDomainGenAiChatRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ICDB Domain GenAI chat response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdbDomainGenAiChatResponse"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "example": "Bearer YOUR_KEY_HERE",
            "schema": {
              "type": "string"
            },
            "description": "The `Authorization` header is used to authenticate with the API using your API key. Value is of the format `Bearer YOUR_KEY_HERE`."
          }
        ],
        "security": [
          {
            "api_key": []
          }
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://api.intelcenter.com"
    }
  ]
}