API Documentation
Our API provides access to the underlying data that is used to provide the Surveillance Watch visualisations. This API enables you to integrate our data with your own endpoints.
The documentation below provides information regarding the endpoints required to start making API requests.
The API Endpoints
The following endpoints are available to retrieve specific collection data. These final path will be a composite of the Surveillance Watch URL https://www.surveillancewatch.io/
appended with an API request path stated below.
Response Types
Code | Description / Example |
---|
200 | Successful operation. |
429 | Rate limit exceeded. {
message: "Rate limit exceeded."
}
|
500 | Server error. {
message: Server error."
}
|
Entities
Endpoints for surveilling entities data.
Method | Path | Description / Response |
---|
GET
| /api/v1/entities
| Retrieve a collection of all surveilling entities. {
items: [
{
id: string;
name: string;
types: EntityType | null;
headquarters: (string | null) | Country;
headquartersCity?: City | null;
notes: string | null;
hasDirectTargets: boolean;
surveilling: Country[] | null;
providingTo: Country[] | null;
funders: Funder[] | null;
affiliations: string | null;
affiliationsList?: {
label?: string | null;
entity?: (string | null) | Entity;
id?: string | null;
}[] | null;
affiliations?: string | null;
subsidiariesList?: {
label?: string | null;
entity?: (string | null) | Entity;
id?: string | null;
}[] | null;
sources: {
url: string;
title: string;
id?: string | null;
}[] | null;
otherData?: {
url: string;
title: string;
id?: string | null;
}[] | null;
updatedAt: string;
createdAt: string;
}
]
}
|
Entity Types
Endpoints for surveilling entity categories.
Method | Path | Description / Response |
---|
GET
| /api/v1/entity-types
| Retrieve a collection of all surveilling entity type categories. {
items: [
{
id: string;
name: string;
updatedAt: string;
createdAt: string;
}
]
}
|
Countries
Endpoints for countries.
Method | Path | Description / Response |
---|
GET
| /api/v1/countries
| Retrieve a collection of all countries. {
id: string;
name: string;
alpha2: string;
latitude: number;
longitude: number;
updatedAt: string;
createdAt: string;
}
|
Cities
Endpoints for cities.
Method | Path | Description / Response |
---|
GET
| /api/v1/cities
| Retrieve a collection of all cities. {
id: string;
name: string;
country: string | Country;
latitude: number;
longitude: number;
updatedAt: string;
createdAt: string;
}
|
Funders
Endpoints for funders.
Method | Path | Description / Response |
---|
GET
| /api/v1/funders
| Retrieve a collection of all funding organisations. {
id: string;
name: string;
description?: string | null;
headquarters?: (string | null) | Country;
headquartersCity?: City | null;
updatedAt: string;
createdAt: string;
}
|