Incidents API

The Incidents API provides well constructed high-quality, highly-tailored and scalable threat intelligence data.

The default method of authentication against all Intelligence Fusion APIs is done through a stateless JWT token provided as an Authorization: Bearer header. The documentation below provides support for creating user tokens for user initiated communication and application tokens for machine to machine communication.

Servers

  • Production: https://api.intelligencefusion.co.uk
  • Staging: https://api.staging.intelligencefusion.co.uk

GET /geography/countries Get countries

This endpoint gets all available countries. The countries returned can be filtered in scope by adding query parameters to your request.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/geography/countries' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  -d 'search=United States' \
  -d 'area=in:[[[-100.01812173401174,33.81520071685678],[-76.79736397186467,32.46264362887847]]]' \
  -d 'sort=asc' \
  -d 'page=1' \
  -d 'pageSize=10' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

Query Parameters

Name Type Description
search string Search countries using the given search term
area string Filter by geographical area. Must be the co-ordinates of a polygon. Available options in or nin
sort string Sort the results by the given properties. Available options asc or desc. If no sort order is specified then results are sorted by their relevancy
page int A paginated result set. Defaults to 1
pageSize int A limited result set. Defaults to 100

HTTP Response

{
    "status": "success",
    "data": {
        "countries": [
            {
                "code": "UMI",
                "alpha2": "UM",
                "name": "United States Minor Outlying Islands",
                "continent": {
                    "code": "NA",
                    "name": "North America"
                }
            },
            {
                "code": "USA",
                "alpha2": "US",
                "name": "United States",
                "continent": {
                    "code": "NA",
                    "name": "North America"
                }
            },
            {
                "code": "VIR",
                "alpha2": "VI",
                "name": "United States Virgin Islands",
                "continent": {
                    "code": "NA",
                    "name": "North America"
                }
            }
        ]
    }
}

Success

Code Status Description
200 Success Returns a body containing all valid tags

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
422 Unprocessable Entity Incorrect or invalid search parameter

GET /groups Get groups

This endpoint gets all available groups. The groups returned can be filtered by adding search parameters to your request.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/groups' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  -d 'search=Rebellion' \
  -d 'sort=asc' \
  -d 'page=2' \
  -d 'pageSize=2' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

Query Parameters

Name Type Description
search string Search groups using the given search term
sort string Sort the results by the given properties. Available options asc or desc. If no sort order is specified then results are sorted by relevance
page int A paginated result set. Defaults to 1
pageSize int A limited result set. Defaults to 100

HTTP Response

{
    "data": [
        {
            "id": "79e4fcfc-4d2b-4569-a3e7-ebda14d0d7b7",
            "name": "Extinction Rebellion"
        },
        {
            "id": "20f125bf-3199-4366-8a75-2aac173e7663",
            "name": "Ocean Rebellion"
        },
        {
            "id": "9cd667d3-27f6-45b9-9e13-8470fe343b37",
            "name": "Animal Rebellion"
        }
    ]
}

Success

Code Status Description
200 Success Returns a body containing all valid groups

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
422 Unprocessable Entity Incorrect or invalid search parameter

GET /incident-categories Get incident categories

This endpoint gets all available incident categories. The categories returned can be filtered by adding search parameters to your request.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/incident-categories' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  -d 'search=criminal' \
  -d 'sort=desc' \
  -d 'page=4' \
  -d 'pageSize=10' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

Query Parameters

Name Type Description
search string Search categories using the given search term
sort string Sort the results by the given properties. Available options asc or desc. If no sort order is specified then results are sorted by their relevancy
page int A paginated result set. Defaults to 1
pageSize int A limited result set. Defaults to 100

HTTP Response

{
    "data": [
        {
            "id": "b1a4f5b5-0c49-486a-9819-87a7b71e0328",
            "name": "Protest",
            "colour": "#1AB491"
        },
        {
            "id": "37c046ee-ff01-413f-8d20-1cfba90aa7a7",
            "name": "Suicide/Complex",
            "colour": "#E34637"
        }
    ]
}

Success

Code Status Description
200 Success Returns a body containing all valid incident categories

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
422 Unprocessable Entity Incorrect or invalid search parameter

GET /incident-types Get incident types

This endpoint gets all available incident types. The incident types returned can be filtered in scope by adding a search parameter or Category ID to your request.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/incident-types' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  -d 'search=attack' \
  -d 'category=eq:f88942c1-eadb-4b2e-b462-2bc68f38a9a2' \
  -d 'sort=icon:asc' \
  -d 'page=1' \
  -d 'pageSize=3' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

Query Parameters

Name Type Description
search string Search using the given search term
category string Filter the results by Category ID. Supports the following operators: eq, neq, in or nin.
sort string Sort the results by the given properties. Available options name:asc or name:desc, id:asc or id:desc, severity:asc or severity:desc and icon:asc or icon:desc. If no sort order is specified then results are sorted by their relevancy
page int A paginated result set. Defaults to 1
pageSize int A limited result set. Defaults to 100

HTTP Response

{
    "data": [
        {
            "id": "252dcf0f-b272-4c06-80b0-ae0976822c89",
            "name": "Air to Air Attack",
            "icon": "air-to-air-attack",
            "severity": "high",
            "category": {
                "id": "f88942c1-eadb-4b2e-b462-2bc68f38a9a2",
                "name": "Air",
                "colour": "#3498DB"
            }
        },
        {
            "id": "8bdac3ea-62c7-41d4-93f3-4b9989084248",
            "name": "Attack Helicopter",
            "icon": "attack-helicopter",
            "severity": "high",
            "category": {
                "id": "f88942c1-eadb-4b2e-b462-2bc68f38a9a2",
                "name": "Air",
                "colour": "#3498DB"
            }
        },
        {
            "id": "5c6aac97-df30-4759-80da-6f39b6a4d1fc",
            "name": "Drone Attack",
            "icon": "drone-attack",
            "severity": "high",
            "category": {
                "id": "f88942c1-eadb-4b2e-b462-2bc68f38a9a2",
                "name": "Air",
                "colour": "#3498DB"
            }
        }
    ]
}

Success

Code Status Description
200 Success Returns a body containing all requested incident types

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
422 Unprocessable Entity Incorrect or invalid search parameter

GET /impact-ratings Get impact ratings

This endpoint provides information about our impact ratings.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/impact-ratings' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  -d 'search=permanent' \
  -d 'sort=rating:desc' \
  -d 'page=1' \
  -d 'pageSize=10' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

Query Parameters

Name Type Description
search string Search impact rating descriptions using the given search term
sort string Sort the results by the given properties. Available options rating:asc or rating:asc. If no sort order is specified then results are sorted by their rating
page int A paginated result set. Defaults to 1
pageSize int A limited result set. Defaults to 100

HTTP Response

{
    "data": [
        {
            "rating": 5,
            "shortDescription": "Extreme",
            "longDescription": "Fatalities, multiple permanent disabilities or hospitalisation. Significant financial loss, more than $50,000. Significant business interruption, more than 6 lost time workdays. Major negative reputational exposure. Outside assistance required to contain risk. Significant irreversible impacts."
        },
        {
            "rating": 4,
            "shortDescription": "Major",
            "longDescription": "Permanent disability or multiple hospitalisations, major health effects. Major financial loss, more than $10,000 USD but less than $50,0000 USD. Major business interruption, 3-6 lost time work days. Major negative reputational exposure. Outside assistance required to contain risk. Some irreversible impacts."
        }
    ]
}

Success

Code Status Description
200 Success Returns a body containing all valid impact ratings.

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token

GET /incidents/{{ID}} Get incident by ID

This endpoint gets detailed information about the requested incident.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/incidents/{{ID}}' \' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

HTTP Response

{
    "id": "IN-224368",
    "organisationId": "08e310b2-2043-4d46-a821-0fa2fca70cf7",
    "reporter": {
        "id": "abde3c19-32ec-467b-9125-3f4ec1761339",
        "name": "Joe Bloggs",
        "picture": "https://eu.ui-avatars.com/api/?name=Joe+Bloggs&size=512"
    },
    "assigneeId": null,
    "category": {
        "id": "661b7990-10f9-4a19-84b2-8a6030951314",
        "name": "Indirect Weapons",
        "colour": "#2F4155"
    },
    "type": {
        "id": "190945a1-2347-4020-8ed1-4e152537b47d",
        "name": "Ballistic Missile"
    },
    "summary": "U.S. test Minuteman III ICBM missile from Vandenberg Air Force Base in California",
    "description": "A Minuteman III Intercontinental Ballistic Missile was fired from the Vandenberg Air Force Base in California. The missile was launched across the Pacific towards the Kwajalein Atoll in the Pacific Ocean. The test was a routine test that had been scheduled for a while.",
    "casualties": {
        "civilianDeaths": 0,
        "civilianInjuries": 0,
        "criminalDeaths": 0,
        "criminalInjuries": 0,
        "emergencyDeaths": 0,
        "emergencyInjuries": 0,
        "militaryDeaths": 0,
        "militaryInjuries": 0,
        "policeDeaths": 0,
        "policeInjuries": 0
    },
    "location": {
        "longitude": -120.577868,
        "latitude": 34.740757,
        "accuracy": 1,
        "timeZone": "America/Los_Angeles",
        "utcOffset": -28800
    },
    "countries": [
        {
            "code": "USA",
            "name": "United States",
            "alpha2": null
        }
    ],
    "map": {
        "id": "898cf6ca-ada5-48b2-bbb7-6dc2f3025505",
        "type": "FeatureCollection",
        "features": [
            {
                "id": "c1a3749d-1802-4b56-9b60-b560c840bc62",
                "type": "Feature",
                "geometry": {
                    "type": "Point",
                    "coordinates": [
                        -120.577868,
                        34.740757
                    ]
                },
                "properties": {
                    "icon": "icon",
                    "name": "Approximate location of the incident",
                    "colour": "#2F4155",
                    "description": "",
                    "meta": null
                }
            }
        ]
    },
    "narratives": [],
    "affectedSectors": [
        {
            "id": "cda9b37f-f044-45bd-93a1-3a44dfbb433b",
            "sector": {
                "id": "668d330e-aee5-4291-be98-df9c32b5b420",
                "name": "Military"
            }
        }
    ],
    "references": [
        {
            "id": "23c26623-fc22-4a9e-9819-9a2d55498485",
            "link": "https://www.rt.com/usa/450812-us-ballistic-missile-launch-minuteman/",
            "title": "US test-launches Minuteman ICBM from southern California (VIDEO) — RT USA News",
            "medium": {
                "id": "0dc1784f-9a7e-42c8-a432-79dbfa805f63",
                "name": "RT International"
            },
            "source": {
                "id": "91a5e6f1-2227-4a15-a647-df2d65f45560",
                "name": "Unknown"
            },
            "status": "pending",
            "citation": "Unknown - RT International - 6 Feb 2019",
            "publishedAt": 1549411200
        }
    ],
    "involvedParties": [
        {
            "id": "fe5ad0c5-7ee8-4a1a-8a3c-77897dec376f",
            "type": "group",
            "involvement": "Actor",
            "group": {
                "id": "8e5bdef3-90f2-4360-92b9-639d78651a2b",
                "name": "United States Air Force"
            }
        }
    ],
    "links": [],
    "startedAt": {
        "timestamp": 1549436460,
        "localTime": "2019-02-05T23:01:00-0800"
    },
    "endedAt": {
        "timestamp": 1549436460,
        "localTime": "2019-02-05T23:01:00-0800"
    },
    "isOngoing": false,
    "themes": [],
    "tags": [
        {
            "name": "minutemaniii",
            "slug": "minutemaniii"
        }
    ],
    "impact": {
        "rating": -1,
        "shortDescription": "Unknown",
        "longDescription": "Impact has not been assessed or is unknown."
    },
    "counts": {
        "affectedSectors": 1,
        "casualties": 0,
        "involvedParties": 1,
        "links": 0,
        "mapFeatures": 1,
        "narratives": 0,
        "references": 1,
        "themes": 0,
        "tags": 1,
        "watchers": 0
    },
    "status": "approved",
    "isWatched": false,
    "draftedAt": 1549543977,
    "reportedAt": 1549544353,
    "reviewedAt": 1549544353,
    "updatedAt": 1549544353,
    "originId": null
}

Success

Code Status Description
200 Success Returns a body containing detailed information about the requested incident

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
404 Not Found An incident with the provided ID could not be found

GET /incidents/{{ID}}/overview Get incident overview

This endpoint gets a summary of information about the requested incident. This is a shorter summary of information than the information provided when getting an incident by its ID

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/incidents/{{ID}}/overview' \' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

HTTP Response

{
    "id": "IN-224368",
    "organisationId": "08e310b2-2043-4d46-a821-0fa2fca70cf7",
    "category": {
        "id": "661b7990-10f9-4a19-84b2-8a6030951314",
        "name": "Indirect Weapons",
        "colour": "#2F4155"
    },
    "type": {
        "id": "190945a1-2347-4020-8ed1-4e152537b47d",
        "name": "Ballistic Missile"
    },
    "summary": "U.S. test Minuteman III ICBM missile from Vandenberg Air Force Base in California",
    "description": "A Minuteman III Intercontinental Ballistic Missile was fired from the Vandenberg Air Force Base in California. The missile was launched across the Pacific towards the Kwajalein Atoll in the Pacific Ocean. The test was a routine test that had been scheduled for a while.",
    "location": {
        "longitude": -120.577868,
        "latitude": 34.740757,
        "accuracy": 1,
        "timeZone": "America/Los_Angeles",
        "utcOffset": -28800
    },
    "countries": [
        {
            "code": "USA",
            "name": "United States",
            "alpha2": null
        }
    ],
    "startedAt": {
        "timestamp": 1549436460,
        "localTime": "2019-02-05T23:01:00-0800"
    },
    "endedAt": {
        "timestamp": 1549436460,
        "localTime": "2019-02-05T23:01:00-0800"
    },
    "isOngoing": false,
    "impact": {
        "rating": -1,
        "shortDescription": "Unknown",
        "longDescription": "Impact has not been assessed or is unknown."
    },
    "counts": {
        "affectedSectors": 1,
        "casualties": 0,
        "involvedParties": 1,
        "links": 0,
        "mapFeatures": 1,
        "narratives": 0,
        "references": 1,
        "themes": 0,
        "tags": 1,
        "watchers": 0
    },
    "status": "approved",
    "originId": null,
    "isWatched": false,
    "reportedAt": 1549544353,
    "reviewedAt": 1549544353
}

Success

Code Status Description
200 Success Returns a body containing an overview of the requested incident

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
404 Not Found An incident with the provided ID could not be found

GET /incidents Get incidents

This endpoint gets all available incidents. The incidents returned can be filtered by adding search and filtering parameters to your request.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/incidents' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  -d 'search=missile' \
  -d 'category=eq:661b7990-10f9-4a19-84b2-8a6030951314' \
  -d 'type=eq:190945a1-2347-4020-8ed1-4e152537b47d' \
  -d 'startedAt=lte:1549436460' \
  -d 'endedAt=lte:1549436460' \
  -d 'ongoing=false' \
  -d 'area=in:[[[-79.22039956443662,21.418262318933035],[-79.22039956443662,21.418262318933035],[-79.22039956443662,21.418262318933035]]]' \
  -d 'country=eq:USA' \
  -d 'reportedAt=gt:1549544353' \
  -d 'reviewedAt=gt:1549544353' \
  -d 'sort=duration:desc' \
  -d 'page=1' \
  -d 'pageSize=10' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

Query Parameters

Name Type Filter Description
search string ~ Search incident summaries and descriptions using the given search term
category string eq / neq / in / nin A comma separated list of Incident Category UUIDs
type string eq / neq / in / nin A comma separated list of Incident Type UUIDs
startedAt timestamp eq / neq / gt / gte / lt / lte / bt / nbt Filter by an incident’s start date/time
endedAt timestamp eq / neq / gt / gte / lt / lte / bt / nbt Filter by an incident’s start date/time
ongoing bool eq:true / eq:false Show incidents that are currently on-going or have ended
theme string eq / neq / in / nin A comma separated list of Theme IDs
tagged string eq / neq / in / nin A comma separated list of tag slugs
area string in / nin Filter by geographical area. Must be the co-ordinates of a polygon
country string eq / neq / in / nin Filter by country code
continent string eq / neq / in / nin Filter by continent code
involving string eq / neq / in / nin A comma separated list of individual or group UUIDs
affects string eq / neq / in / nin A comma separated list of affected sectors
impact int eq / neq / gt / gte / lt / lte / bt / nbt Filter by an incident’s impact rating
near string in / nin Filter by the proximity to features on a map. Takes the format: in:mapId;kilometers
reportedAt timestamp eq / neq / gt / gte / lt / lte / bt / nbt Filter by the date/time when the incident was first reported
reviewedAt timestamp eq / neq / gt / gte / lt / lte / bt / nbt Filter by the date/time when the incident was reviewed for publishing
updatedAt timestamp eq / neq / gt / gte / lt / lte / bt / nbt Filter by the date/time when the incident was last updated
sort string ~ Sort the results by the given properties. If no sort order is specified then results are sorted by their relevancy. Multiple sorting can be applied by comma separating them
page int ~ A paginated result set. Defaults to 1
pageSize int ~ A limited result set. Defaults to 100

HTTP Response

{
    "data": [
        {
            "id": "IN-224368",
            "organisationId": "08e310b2-2043-4d46-a821-0fa2fca70cf7",
            "reporter": {
                "id": "ac9bd988-a81f-454f-991b-56f8005daf21"
            },
            "summary": "U.S. test Minuteman III ICBM missile from Vandenberg Air Force Base in California",
            "description": "A Minuteman III Intercontinental Ballistic Missile was fired from the Vandenberg Air Force Base in California. The missile was launched across the Pacific towards the Kwajalein Atoll in the Pacific Ocean. The test was a routine test that had been scheduled for a while.",
            "casualties": {
                "civilianDeaths": 1,
                "civilianInjuries": 0,
                "criminalDeaths": 0,
                "criminalInjuries": 0,
                "emergencyDeaths": 0,
                "emergencyInjuries": 0,
                "militaryDeaths": 0,
                "militaryInjuries": 0,
                "policeDeaths": 0,
                "policeInjuries": 0
            },
            "map": {
                "id": "5ee72772-c015-4de4-b4f7-a5ac92772d8d",
                "type": "FeatureCollection",
                "features": [
                    {
                        "id": "139db349-c45f-4af0-8edb-ae422c94c5f7",
                        "type": "Feature",
                        "geometry": {
                            "type": "Point",
                            "coordinates": [
                                -86,
                                39
                            ]
                        },
                        "properties": {
                            "icon": "other",
                            "meta": [],
                            "name": "Location",
                            "colour": "#FEFEFE",
                            "description": "Location of Incident"
                        }
                    }
                ]
            },
            "isOngoing": false,
            "status": "approved",
            "category": {
                "id": "661b7990-10f9-4a19-84b2-8a6030951314",
                "name": "Indirect Weapons",
                "colour": "#2F4155"
            },
            "type": {
                "id": "190945a1-2347-4020-8ed1-4e152537b47d",
                "name": "Ballistic Missile"
            },
            "location": {
                "longitude": -120.577868,
                "latitude": 34.740757,
                "accuracy": 1,
                "timeZone": "America/Los_Angeles",
                "utcOffset": -28800
            },
            "countries": [
                {
                    "code": "USA",
                    "name": "United States",
                    "alpha2": null
                }
            ],
            "startedAt": {
                "timestamp": 1549436460,
                "localTime": "2019-02-05T23:01:00-0800"
            },
            "endedAt": {
                "timestamp": 1549436460,
                "localTime": "2019-02-05T23:01:00-0800"
            },
            "impact": {
                "rating": -1,
                "shortDescription": "Unknown",
                "longDescription": "Impact has not been assessed or is unknown."
            },
            "counts": {
                "affectedSectors": 1,
                "casualties": 0,
                "involvedParties": 1,
                "links": 0,
                "mapFeatures": 1,
                "narratives": 0,
                "references": 1,
                "themes": 0,
                "tags": 1,
                "watchers": 0
            },
            "assigneeId": "1bef8953-dc70-4bda-aeaf-f213f8ce0a63",
            "narratives": [
                {
                    "id": "67a9b6f8-367e-4806-9625-8c7eab580cac",
                    "body": "Some sources have claimed the images shared of the patrol are fake and are in fact from a previous date.",
                    "reporterId": "ac9bd988-a81f-454f-991b-56f8005daf21"
                }
            ],
            "affectedSectors": [
                {
                    "id": "ce54716d-aaf8-4aaa-af45-2afcc5f998cf",
                    "sector": {
                        "id": "550a4aa0-6d6f-4be2-ba33-f35d159ee686",
                        "name": "Police/Law"
                    }
                }
            ],
            "references": [
                {
                    "id": "a996eee1-358d-4158-a9fa-4278a5b5ebc2",
                    "link": "https://www.theindychannel.com/news/local-news/crime/man-found-dead-after-barricading-himself-shooting-at-police-in-fishers",
                    "title": "Man found dead after barricading himself, shooting at police in Fishers",
                    "medium": {
                        "id": "a27663b3-331b-449e-aaf1-c851d6712625",
                        "name": "WRTV"
                    },
                    "source": {
                        "id": "91a5e6f1-2227-4a15-a647-df2d65f45560",
                        "name": "Unknown"
                    },
                    "status": "pending",
                    "citation": "Unknown - WRTV - 23 Mar 2020",
                    "publishedAt": 1584921600
                }
            ],
            "involvedParties": [
                {
                    "id": "fe5ad0c5-7ee8-4a1a-8a3c-77897dec376f",
                    "type": "group",
                    "involvement": "Actor",
                    "group": {
                        "id": "8e5bdef3-90f2-4360-92b9-639d78651a2b",
                        "name": "United States Air Force"
                    }
                }
            ],
            "themes": [
                {
                    "id": "TH-202",
                    "name": "Counterterrorism Operations in Europe in 2020",
                    "colour": "#D60D52",
                    "identifiedAt": "2021-01-21T10:19:06+0000",
                    "counts": {
                        "affectedSectors": 15,
                        "casualties": 24,
                        "incidents": 84,
                        "involvedParties": 44,
                        "tags": 87
                    },
                    "trendHistory": []
                }
            ],
            "tags": [
                {
                    "name": "shooting",
                    "slug": "shooting"
                }
            ],
            "isWatched": false,
            "draftedAt": 1584014400,
            "reportedAt": 1549544353,
            "reviewedAt": 1549544353,
            "updatedAt": 1585064487,
            "originId": null
        }
    ]
}

Success

Code Status Description
200 Success Returns a body containing all valid incidents

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
422 Unprocessable Entity Incorrect or invalid search or filter parameter

GET /individuals Get individuals

This endpoint gets all available individuals. The individuals returned can be filtered by adding search parameters to your request.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/individuals' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  -d 'search=Trump' \
  -d 'sort=desc' \
  -d 'page=1' \
  -d 'pageSize=3' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

Query Parameters

Name Type Description
search string Search individuals using the given search term
sort string Sort the results by the given properties. Available options asc or desc. If no sort order is specified then results are sorted alphabetically by name
page int A paginated result set. Defaults to 1
pageSize int A limited result set. Defaults to 100

HTTP Response

{
    "data": [
        {
            "id": "23c0e30a-59c2-44b8-8d81-f2b71bc4271b",
            "name": "Eric Trump"
        },
        {
            "id": "fc4ed512-2ad0-44d4-9902-e12002c20207",
            "name": "Ivanka Trump"
        },
        {
            "id": "e4ba984f-166d-4d3a-9d23-8f70e0345208",
            "name": "US President Donald Trump"
        }
    ]
}

Success

Code Status Description
200 Success Returns a body containing all valid individuals

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
422 Unprocessable Entity Incorrect or invalid search parameter

GET /sectors Get sectors

This endpoint gets all available sectors. The sectors returned can be filtered by adding search parameters to your request.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/sectors' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  -d 'search=transport' \
  -d 'sort=desc' \
  -d 'page=2' \
  -d 'pageSize=6' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

Query Parameters

Name Type Description
search string Search sectors using the given search term
sort string Sort the results by the given properties. Available options asc or desc. If no sort order is specified then results are sorted by their relevancy
page int A paginated result set. Defaults to 1
pageSize int A limited result set. Defaults to 100

HTTP Response

{
    "data": [
        {
            "id": "231ae916-c503-4db7-aa5b-8c76f7d79876",
            "name": "Tourism",
            "description": null
        },
        {
            "id": "801ea36b-a610-4ddd-a300-6373fe71c3ba",
            "name": "Transport/Logistics",
            "description": "Land based transportation of goods, services, products, humans, animals, not linked to maritime or aviation."
        },
        {
            "id": "39d8f801-a6be-4d96-afbd-45553ac947e8",
            "name": "Utilities",
            "description": "Electricity, Gas, Water, Waste Services."
        }
    ]
}

Success

Code Status Description
200 Success Returns a body containing all valid sectors

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
422 Unprocessable Entity Incorrect or invalid search parameter

GET /source-media Get source media

This endpoint gets all available source media. The source media returned can be filtered by adding search parameters to your request.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/source-media' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  -d 'search=saudi' \
  -d 'sort=desc' \
  -d 'page=1' \
  -d 'pageSize=20' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

Query Parameters

Name Type Description
search string Search source media using the given search term
sort string Sort the results by the given properties. Available options name:asc or name:desc, alternatively sort by id with id:asc or id:desc. If no sort order is specified then results are sorted by their relevancy
page int A paginated result set. Defaults to 1
pageSize int A limited result set. Defaults to 100

HTTP Response

{
    "data": [
        {
            "id": "f2f5b64b-72bf-4774-8835-1aa72a4caa13",
            "name": "Saudi Gazette"
        },
        {
            "id": "22b3c59a-471a-45b5-a8ea-051f0b031c98",
            "name": "Ministry of Interior of Saudi Arabia"
        },
        {
            "id": "12d94a6c-9cb8-4917-b438-4b2777f816d8",
            "name": "Saudi press association"
        }
    ]
}

Success

Code Status Description
200 Success Returns a body containing all valid source media

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
422 Unprocessable Entity Incorrect or invalid search parameter

GET /sources Get sources

This endpoint gets all available sources. The sources returned can be filtered by adding search parameters to your request.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/sources' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  -d 'search=telegraph' \
  -d 'sort=asc' \
  -d 'page=3' \
  -d 'pageSize=10' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

Query Parameters

Name Type Description
search string Search sources using the given search term
sort string Sort the results by the given properties. Available options name:asc or name:desc, alternatively sort by id with id:asc or id:desc. If no sort order is specified then results are sorted by their relevancy
page int A paginated result set. Defaults to 1
pageSize int A limited result set. Defaults to 100

HTTP Response

{
    "data": [
        {
            "id": "394e4200-e5e5-414b-9e91-828ddea8b0ae",
            "name": "Belarusian Telegraph Agency"
        },
        {
            "id": "0e2c8c31-2915-4404-895b-6467e96e5cf3",
            "name": "Peterborough Telegraph"
        },
        {
            "id": "01692e48-5611-4446-9727-6f218c60cae5",
            "name": "Bradford Telegraph & Argus"
        }
    ]
}

Success

Code Status Description
200 Success Returns a body containing all valid sources

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
422 Unprocessable Entity Incorrect or invalid search parameter

GET /tags Get tags

This endpoint gets all available tags. The tags returned can be filtered in scope by adding a search parameter to your request.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/tags' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  -d 'search=terr' \
  -d 'sort=desc' \
  -d 'page=2' \
  -d 'pageSize=30' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

Query Parameters

Name Type Description
search string Search using the given search term
sort string Sort the results by the given properties. Available options asc or desc. If no sort order is specified then results are sorted by their popularity.
page int A paginated result set. Defaults to 1
pageSize int A limited result set. Defaults to 100

HTTP Response

{
    "data": [
        {
            "name": "electricity",
            "slug": "electricity",
            "counts": {
                "uses": 985
            }
        },
        {
            "name": "climateprotest",
            "slug": "climateprotest",
            "counts": {
                "uses": 312
            }
        }
    ]
}

Success

Code Status Description
200 Success Returns a body containing all valid tags

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
422 Unprocessable Entity Incorrect or invalid search parameter

GET /themes/{{ID}} Get theme by ID

This endpoint gets detailed information about the requested theme.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/themes/{{ID}}' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

HTTP Response

{
    "id": "TH-149",
    "name": "PKK in Turkey",
    "description": null,
    "colour": "#D60D52",
    "incidentDates": {
        "firstAt": "2015-09-15T08:10:04+0000",
        "lastAt": "2022-02-20T22:00:00+0000"
    },
    "casualties": {
        "civilianDeaths": 29,
        "civilianInjuries": 52,
        "criminalDeaths": 638,
        "criminalInjuries": 4,
        "emergencyDeaths": 0,
        "emergencyInjuries": 0,
        "militaryDeaths": 78,
        "militaryInjuries": 113,
        "policeDeaths": 5,
        "policeInjuries": 6
    },
    "affectedSectors": [
        {
            "id": "668d330e-aee5-4291-be98-df9c32b5b420",
            "name": "Military"
        },
        {
            "id": "550a4aa0-6d6f-4be2-ba33-f35d159ee686",
            "name": "Police/Law"
        },
        {
            "id": "58ee9317-7add-41fe-a1f5-2785f999af96",
            "name": "Aviation/Airports"
        }
    ],
    "involvedParties": [
        {
            "id": "2e78829b-637e-468e-9bfc-7b01d5a1d8da",
            "type": "group",
            "group": {
                "id": "d1b24fcf-56b9-43fb-8405-b4adf061b5bb",
                "name": "Turkish Military"
            },
            "involvement": "Actor"
        },
        {
            "id": "35217020-550c-4988-8dea-cc09903538ab",
            "type": "group",
            "group": {
                "id": "964a4acd-0b22-4c32-be1f-098dd87f80a3",
                "name": "Turkey - Security Forces (Coast Guard, MIT, Gendarmerie, etc…)"
            },
            "involvement": "Directly Targeted"
        },
        {
            "id": "2343a3e7-8d27-48f6-8f8e-25bbaab3e6fe",
            "type": "individual",
            "group": {
                "id": "319a0340-8f53-4844-8ced-38fb4ba8a89e",
                "name": "Kurdistan Workers' Party (PKK)"
            },
            "individual": {
                "id": "bcb5ba0a-bc18-4f1a-b187-c64e92de725a",
                "name": "Ferhat Tunç - codenamed 'Rubar'"
            },
            "involvement": "Directly Targeted"
        }
    ],
    "tags": [
        {
            "name": "counterterrorism",
            "slug": "counterterrorism"
        },
        {
            "name": "counterinsurgency",
            "slug": "counterinsurgency"
        },
        {
            "name": "sniperrifle",
            "slug": "sniperrifle"
        }
    ],
    "identifiedAt": "2019-11-09T18:40:06+0000",
    "analyst": {
        "id": "abde3c19-32ec-467b-9125-3f4ec1761339",
        "name": "Joe Bloggs",
        "picture": "https://eu.ui-avatars.com/api/?name=Joe+Bloggs&size=512"
    },
    "counts": {
        "affectedSectors": 10,
        "casualties": 925,
        "incidents": 2306,
        "involvedParties": 66,
        "tags": 20
    }
}

Success

Code Status Description
200 Success Returns a body containing information about the requested theme

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
404 Not Found The Theme ID provided could not be found

GET /themes Get themes

This endpoint gets all available themes. The themes returned can be filtered by adding search parameters to your request.

HTTP Request

curl -X GET 'https://api.intelligencefusion.co.uk/themes' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {{YOUR_AUTHENTICATION_TOKEN}}' \
  -d 'search=europe' \
  -d 'sort=asc' \
  -d 'page=2' \
  -d 'pageSize=4' \
  --compressed

Headers

Name Type Required Description
Authorization string ✔️ Your authentication token (see the Auth API section for more information)

Query Parameters

Name Type Description
search string Search sectors using the given search term
sort string Sort the results by the given properties. Available options name:asc or name:desc, id:asc or id:desc and identifiedAt:asc or identifiedAt:desc. If no sort order is specified then results are sorted by their relevancy
page int A paginated result set. Defaults to 1
pageSize int A limited result set. Defaults to 100

HTTP Response

{
    "data": [
        {
            "id": "TH-206",
            "name": "Criminality in Europe in 2021 (Medical Sector)",
            "colour": "#D60D52",
            "identifiedAt": "2021-01-22T09:29:20+0000",
            "counts": {
                "affectedSectors": 16,
                "casualties": 36,
                "incidents": 149,
                "involvedParties": 15,
                "tags": 133
            },
            "trendHistory": []
        },
        {
            "id": "TH-204",
            "name": "Terror Incidents in Europe 2020 (excl. Northern Ireland)",
            "colour": "#D60D52",
            "identifiedAt": "2021-01-22T09:22:24+0000",
            "counts": {
                "affectedSectors": 17,
                "casualties": 119,
                "incidents": 194,
                "involvedParties": 90,
                "tags": 207
            },
            "trendHistory": []
        },
        {
            "id": "TH-202",
            "name": "Counterterrorism Operations in Europe in 2020",
            "colour": "#D60D52",
            "identifiedAt": "2021-01-21T10:19:06+0000",
            "counts": {
                "affectedSectors": 15,
                "casualties": 24,
                "incidents": 84,
                "involvedParties": 44,
                "tags": 87
            },
            "trendHistory": []
        },
        {
            "id": "TH-191",
            "name": "Bomb Threats across Europe",
            "colour": "#F39C12",
            "identifiedAt": "2020-11-03T13:01:34+0000",
            "counts": {
                "affectedSectors": 21,
                "casualties": 19,
                "incidents": 681,
                "involvedParties": 137,
                "tags": 192
            },
            "trendHistory": []
        }
    ]
}

Success

Code Status Description
200 Success Returns a body containing all valid themes

Errors

Code Status Description
401 Unauthorized Expired or Invalid Authentication token
422 Unprocessable Entity Incorrect or invalid search parameter