{
  "openapi": "3.1.0",
  "info": {
    "title": "IntelCenter API",
    "description": "IntelCenter data services API",
    "version": "1.3.1",
    "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"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "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"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "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",
            "minLength": 1,
            "maxLength": 128,
            "description": "Opaque identifier returned by a successful earlier turn. Omit it to start a new conversation."
          },
          "primary_country": {
            "type": "string"
          },
          "entity": {
            "type": "string"
          },
          "top_k": {
            "type": "integer"
          }
        },
        "required": [
          "question"
        ]
      },
      "IcdbDomainGenAiChatRequest": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string"
          },
          "conversation_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "Opaque identifier returned by a successful earlier turn. Omit it to start a new conversation."
          },
          "primary_country": {
            "type": "string"
          },
          "entity": {
            "type": "string"
          },
          "top_k": {
            "type": "integer"
          }
        },
        "required": [
          "question"
        ]
      },
      "IcdDomainGenAiChatResponse": {
        "$ref": "#/components/schemas/DomainGenAiChatResponse"
      },
      "IcdbDomainGenAiChatResponse": {
        "$ref": "#/components/schemas/DomainGenAiChatResponse"
      },
      "GeoManifestItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "database",
          "component",
          "uuid",
          "component_id",
          "latitude",
          "longitude"
        ],
        "properties": {
          "database": {
            "type": "string",
            "enum": [
              "ICD",
              "ICDB"
            ]
          },
          "component": {
            "type": "string",
            "enum": [
              "Image",
              "Video"
            ]
          },
          "uuid": {
            "type": "string",
            "format": "uuid"
          },
          "component_id": {
            "type": "integer"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "primary_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "entity": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "second_geo_layer": {
            "type": [
              "string",
              "null"
            ]
          },
          "latitude": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "longitude": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          }
        }
      },
      "GeoManifestResponse": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "status",
          "database",
          "component",
          "items",
          "items_returned",
          "items_returned_total",
          "source_items_scanned",
          "source_items_scanned_total",
          "pagination_mode",
          "next_cursor",
          "page",
          "per_page",
          "mappable_matches",
          "complete",
          "result_limit",
          "limit_reached",
          "sort_order"
        ],
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "ok"
            ]
          },
          "database": {
            "type": "string",
            "enum": [
              "ICD",
              "ICDB"
            ]
          },
          "component": {
            "type": "string",
            "enum": [
              "Image",
              "Video"
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoManifestItem"
            }
          },
          "items_returned": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000
          },
          "items_returned_total": {
            "type": "integer",
            "minimum": 0,
            "description": "Cumulative valid map records returned in this cursor traversal."
          },
          "source_items_scanned": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000,
            "description": "Authorized source records examined for this response."
          },
          "source_items_scanned_total": {
            "type": "integer",
            "minimum": 0,
            "description": "Cumulative authorized source records examined in this traversal."
          },
          "pagination_mode": {
            "type": "string",
            "enum": [
              "cursor"
            ]
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Opaque continuation bound to this dataset and filter snapshot. Repeat the same filters with this cursor."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "One-based response ordinal for this cursor traversal."
          },
          "next_page": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1
          },
          "previous_page": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1
          },
          "per_page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          },
          "total_matches": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "description": "Reserved exact authorized match count. Null in the count-free Phase 1.5 contract."
          },
          "mappable_matches": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "description": "Valid map records encountered. Null until an uncapped traversal completes."
          },
          "complete": {
            "type": "boolean"
          },
          "result_limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum authorized source-result window available to this consumer."
          },
          "limit_reached": {
            "type": "boolean"
          },
          "sort_order": {
            "type": "string",
            "enum": [
              "primary_date_desc_component_id_desc"
            ],
            "description": "Deterministic newest-first ordering. Component ID descending resolves records with the same primary date."
          }
        }
      },
      "GeoManifestGeoJsonResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "type",
          "features",
          "metadata"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "FeatureCollection"
            ]
          },
          "features": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "type",
                "id",
                "geometry",
                "properties"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "Feature"
                  ]
                },
                "id": {
                  "type": "string"
                },
                "geometry": {
                  "type": "object",
                  "required": [
                    "type",
                    "coordinates"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Point"
                      ]
                    },
                    "coordinates": {
                      "type": "array",
                      "prefixItems": [
                        {
                          "type": "number",
                          "minimum": -180,
                          "maximum": 180
                        },
                        {
                          "type": "number",
                          "minimum": -90,
                          "maximum": 90
                        }
                      ],
                      "minItems": 2,
                      "maxItems": 2
                    }
                  }
                },
                "properties": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "metadata": {
            "type": "object",
            "additionalProperties": true,
            "required": [
              "sort_order"
            ],
            "properties": {
              "sort_order": {
                "type": "string",
                "enum": [
                  "primary_date_desc_component_id_desc"
                ],
                "description": "Deterministic newest-first ordering. Component ID descending resolves records with the same primary date."
              }
            }
          }
        }
      },
      "DomainGenAiSource": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "values",
          "metadata"
        ],
        "description": "Customer-safe citation. Approved fields are available directly and through metadata for compatibility with existing integrations.",
        "properties": {
          "source_database": {
            "type": "string"
          },
          "source_component": {
            "type": "string"
          },
          "primary_id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              }
            ]
          },
          "primary_date": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "entity": {
            "type": "string"
          },
          "sub_entity": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "score": {
            "type": [
              "number",
              "null"
            ],
            "description": "Retrieval relevance score when available."
          },
          "values": {
            "type": "array",
            "maxItems": 0,
            "items": {},
            "description": "Reserved compatibility field. This array is currently empty."
          },
          "metadata": {
            "$ref": "#/components/schemas/DomainGenAiSourceMetadata"
          }
        }
      },
      "DomainGenAiUsage": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "prompt_tokens",
          "output_tokens",
          "total_tokens"
        ],
        "properties": {
          "prompt_tokens": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "output_tokens": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "total_tokens": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          }
        }
      },
      "DomainGenAiChatResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "status",
          "answer",
          "response_id",
          "sources",
          "conversation_id",
          "conversation_expires_at",
          "conversation_absolute_expires_at",
          "usage"
        ],
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "ok"
            ]
          },
          "answer": {
            "type": [
              "string",
              "null"
            ]
          },
          "response_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DomainGenAiSource"
            }
          },
          "conversation_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "conversation_expires_at": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "conversation_absolute_expires_at": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "usage": {
            "$ref": "#/components/schemas/DomainGenAiUsage"
          },
          "rag_prompt_tokens": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "deprecated": true,
            "description": "Compatibility alias. Use usage.prompt_tokens for new integrations."
          },
          "rag_output_tokens": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "deprecated": true,
            "description": "Compatibility alias. Use usage.output_tokens for new integrations."
          },
          "rag_total_tokens": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "deprecated": true,
            "description": "Compatibility alias. Use usage.total_tokens for new integrations."
          }
        }
      },
      "DomainGenAiConversationUnavailableError": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "error",
          "message"
        ],
        "properties": {
          "error": {
            "type": "string",
            "enum": [
              "conversation_unavailable"
            ]
          },
          "message": {
            "type": "string"
          }
        }
      },
      "DomainGenAiSourceMetadata": {
        "type": "object",
        "additionalProperties": false,
        "description": "Citation metadata returned with the source.",
        "properties": {
          "source_database": {
            "type": "string"
          },
          "source_component": {
            "type": "string"
          },
          "primary_id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              }
            ]
          },
          "primary_date": {
            "type": "string"
          },
          "primary_country": {
            "type": "string"
          },
          "entity": {
            "type": "string"
          },
          "sub_entity": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      }
    },
    "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. The ICD dataset and the ICDB dataset are distinct and complimentary datasets.",
        "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/by-component-id/{component_id}": {
      "get": {
        "summary": "Get ICDB Video Detail by Component ID",
        "description": "Retrieve the full intelligence record for a specific ICDB video using its human-facing numeric Component ID. Database and Component are established by this route; use the UUID detail route when the record UUID is known. Existing ICDB entity and access-tag restrictions remain authoritative.",
        "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": "component_id",
            "in": "path",
            "required": true,
            "description": "Human-facing numeric ICDB Video Component ID.",
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Video details or a not-found response when the record is absent or outside the authorized scope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdbVideoDetail"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "operationId": "getIcdbVideoByComponentId",
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icdb/videos/geo-manifest": {
      "get": {
        "summary": "Get ICDB Video Geo Manifest",
        "description": "Retrieve a lightweight, cursor-paginated manifest of authorized ICDB video records with valid map coordinates. Results use deterministic newest-first ordering, and continuation remains stable during live ingestion. Full records remain available through the existing detail endpoint.",
        "operationId": "getIcdbVideoGeoManifest",
        "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": "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."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Opaque next_cursor from the preceding response. Reuse it only with the exact same dataset, component, filters, page size, and format. If it is rejected, restart the request without a cursor."
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000,
              "default": 1000
            },
            "description": "Authorized source records examined per cursor request. Invalid coordinates are excluded from returned items."
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "geojson"
              ],
              "default": "json"
            },
            "description": "Return the manifest as JSON or GeoJSON."
          }
        ],
        "responses": {
          "200": {
            "description": "Lightweight authorized Geo manifest cursor page.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoManifestResponse"
                }
              },
              "application/geo+json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoManifestGeoJsonResponse"
                }
              }
            }
          },
          "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/by-component-id/{component_id}": {
      "get": {
        "summary": "Get ICD Video Detail by Component ID",
        "description": "Retrieve the full intelligence record for a specific ICD video using its human-facing numeric Component ID. Database and Component are established by this route; use the UUID detail route when the record UUID is known.",
        "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": "component_id",
            "in": "path",
            "required": true,
            "description": "Human-facing numeric ICD Video Component ID.",
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Video details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdVideoDetail"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "operationId": "getIcdVideoByComponentId",
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icd/videos/geo-manifest": {
      "get": {
        "summary": "Get ICD Video Geo Manifest",
        "description": "Retrieve a lightweight, cursor-paginated manifest of authorized ICD video records with valid map coordinates. Results use deterministic newest-first ordering, and continuation remains stable during live ingestion. Full records remain available through the existing detail endpoint.",
        "operationId": "getIcdVideoGeoManifest",
        "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": "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."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Opaque next_cursor from the preceding response. Reuse it only with the exact same dataset, component, filters, page size, and format. If it is rejected, restart the request without a cursor."
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000,
              "default": 1000
            },
            "description": "Authorized source records examined per cursor request. Invalid coordinates are excluded from returned items."
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "geojson"
              ],
              "default": "json"
            },
            "description": "Return the manifest as JSON or GeoJSON."
          }
        ],
        "responses": {
          "200": {
            "description": "Lightweight authorized Geo manifest cursor page.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoManifestResponse"
                }
              },
              "application/geo+json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoManifestGeoJsonResponse"
                }
              }
            }
          },
          "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/by-component-id/{component_id}": {
      "get": {
        "summary": "Get ICD Image Detail by Component ID",
        "description": "Retrieve the full intelligence record for a specific ICD image using its human-facing numeric Component ID. Database and Component are established by this route; use the UUID detail route when the record UUID is known.",
        "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": "component_id",
            "in": "path",
            "required": true,
            "description": "Human-facing numeric ICD Image Component ID.",
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Image details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdImageDetail"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "operationId": "getIcdImageByComponentId",
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icd/images/geo-manifest": {
      "get": {
        "summary": "Get ICD Image Geo Manifest",
        "description": "Retrieve a lightweight, cursor-paginated manifest of authorized ICD image records with valid map coordinates. Results use deterministic newest-first ordering, and continuation remains stable during live ingestion. Full records remain available through the existing detail endpoint.",
        "operationId": "getIcdImageGeoManifest",
        "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": "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."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Opaque next_cursor from the preceding response. Reuse it only with the exact same dataset, component, filters, page size, and format. If it is rejected, restart the request without a cursor."
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000,
              "default": 1000
            },
            "description": "Authorized source records examined per cursor request. Invalid coordinates are excluded from returned items."
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "geojson"
              ],
              "default": "json"
            },
            "description": "Return the manifest as JSON or GeoJSON."
          }
        ],
        "responses": {
          "200": {
            "description": "Lightweight authorized Geo manifest cursor page.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoManifestResponse"
                }
              },
              "application/geo+json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoManifestGeoJsonResponse"
                }
              }
            }
          },
          "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/by-component-id/{component_id}": {
      "get": {
        "summary": "Get ICDB Image Detail by Component ID",
        "description": "Retrieve the full intelligence record for a specific ICDB image using its human-facing numeric Component ID. Database and Component are established by this route; use the UUID detail route when the record UUID is known. Existing ICDB entity and access-tag restrictions remain authoritative.",
        "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": "component_id",
            "in": "path",
            "required": true,
            "description": "Human-facing numeric ICDB Image Component ID.",
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Image details or a not-found response when the record is absent or outside the authorized scope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IcdbImageDetail"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          }
        },
        "operationId": "getIcdbImageByComponentId",
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icdb/images/geo-manifest": {
      "get": {
        "summary": "Get ICDB Image Geo Manifest",
        "description": "Retrieve a lightweight, cursor-paginated manifest of authorized ICDB image records with valid map coordinates. Results use deterministic newest-first ordering, and continuation remains stable during live ingestion. Full records remain available through the existing detail endpoint.",
        "operationId": "getIcdbImageGeoManifest",
        "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": "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."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Opaque next_cursor from the preceding response. Reuse it only with the exact same dataset, component, filters, page size, and format. If it is rejected, restart the request without a cursor."
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000,
              "default": 1000
            },
            "description": "Authorized source records examined per cursor request. Invalid coordinates are excluded from returned items."
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "geojson"
              ],
              "default": "json"
            },
            "description": "Return the manifest as JSON or GeoJSON."
          }
        ],
        "responses": {
          "200": {
            "description": "Lightweight authorized Geo manifest cursor page.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoManifestResponse"
                }
              },
              "application/geo+json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoManifestGeoJsonResponse"
                }
              }
            }
          },
          "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/DomainGenAiChatResponse"
                }
              }
            }
          },
          "404": {
            "description": "The conversation is unavailable. Omit conversation_id to begin a new conversation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainGenAiConversationUnavailableError"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          },
          "503": {
            "description": "Domain GenAI is temporarily unavailable."
          }
        },
        "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/DomainGenAiChatResponse"
                }
              }
            }
          },
          "404": {
            "description": "The conversation is unavailable. Omit conversation_id to begin a new conversation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainGenAiConversationUnavailableError"
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/RateLimitWithRetryAfter"
          },
          "503": {
            "description": "Domain GenAI is temporarily unavailable."
          }
        },
        "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/icd/domain-genai/conversations/{conversation_id}": {
      "delete": {
        "summary": "Delete ICD Domain GenAI Conversation",
        "description": "Ends the authenticated API key's conversation and removes its retained conversation context. The operation is idempotent and does not consume a billable interaction.",
        "operationId": "deleteIcdDomainGenAiConversation",
        "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": "conversation_id",
            "in": "path",
            "required": true,
            "description": "Opaque conversation identifier returned by Domain GenAI.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The conversation is no longer available. Repeating the request has the same result."
          },
          "401": {
            "description": "Authentication is required."
          },
          "403": {
            "description": "The API key is not authorized for this dataset or feature."
          },
          "429": {
            "description": "The delete request rate limit was exceeded."
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v1/icdb/domain-genai/conversations/{conversation_id}": {
      "delete": {
        "summary": "Delete ICDB Domain GenAI Conversation",
        "description": "Ends the authenticated API key's conversation and removes its retained conversation context. The operation is idempotent and does not consume a billable interaction.",
        "operationId": "deleteIcdbDomainGenAiConversation",
        "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": "conversation_id",
            "in": "path",
            "required": true,
            "description": "Opaque conversation identifier returned by Domain GenAI.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The conversation is no longer available. Repeating the request has the same result."
          },
          "401": {
            "description": "Authentication is required."
          },
          "403": {
            "description": "The API key is not authorized for this dataset or feature."
          },
          "429": {
            "description": "The delete request rate limit was exceeded."
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://api.intelcenter.com"
    }
  ]
}