API Documentation

Thank you for considering building with our API. Our mission is to help build memory and accountability. We hope our API helps you, as you work towards the same goals.

API Endpoint

Our API endpoint is a GET request and returns json. No authentication is required.

/api/v1/humanshields

The endpoint returns every published record in our database. The data is paginated. There are 100 records per page. Add ?page=2 to access the second page.

The actual records returned are an array of objects. Each object represents an individual victim or survivor of the IDF's human shields policy. Additionally, there is information about the data-set and links for building pagination.

Every attribute of an object that isn't an array, except the id (int), is a string. An empty string is used instead of null when there is no value. Note: This only applies to records, not pagination data.

Our Definition of Breaking Changes

The v1 API will be improved over time via additional endpoints and new attributes. Please do not hard code any vocabulary, such as taxonomy terms or location names. We will not delete or rename any attributes, but we may edit vocabulary.

If you write your application accordingly, this API should support it for years to come.

Data Returned

The response (screenshotted example uses 2 records per page, you will receive 100 records per page):

Screenshot of the json returned, showing the structure of the data returned.

Each record (inside the data array) represents an individual human shield victim:

Screenshot of an individual record, showing the fields returned.

Custom Endpoints

We are potentially open to building custom endpoints. Please reach out to Databases for Palestine to discuss.