MENU navbar-image

Introduction

The Wildlife Rehabilitation MD (WRMD) API allows you to programatically create and manage your patient resources and related data through a JSON:API.

This documentation aims to provide all the information you need to work with the WRMD API.

Base URL

https://www.wrmd.org/

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

As a Super Admin you can generate API tokens by visiting your account settings and clicking WRMD API.

Common Names

Common names refer to the colloquial name of a taxon or species. It is the name known to the general public and is based on any language other than that of zoological nomenclature. There maybe multiple common names for a given taxon. A common name has a taxon and it will be automatically included in the api response.

List Common Names

requires authentication

Fetch zero to many common names.

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://www.wrmd.org/api/v3/common-names',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/vnd.api+json',
            'Accept' => 'application/vnd.api+json',
        ],
        'query' => [
            'page[number]'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://www.wrmd.org/api/v3/common-names"
);

const params = {
    "page[number]": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/vnd.api+json",
    "Accept": "application/vnd.api+json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
import requests
import json

url = 'https://www.wrmd.org/api/v3/common-names'
params = {
  'page[number]': '1',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/vnd.api+json',
  'Accept': 'application/vnd.api+json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
curl --request GET \
    --get "https://www.wrmd.org/api/v3/common-names?page[number]=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/vnd.api+json" \
    --header "Accept: application/vnd.api+json"

Example response (200):


{
    "meta": {
        "page": {
            "currentPage": 1,
            "from": 1,
            "lastPage": 2485,
            "perPage": 15,
            "to": 15,
            "total": 37275
        }
    },
    "jsonapi": {
        "version": "1.0"
    },
    "links": {
        "first": "https://www.wrmd.org/api/v3/common-names?include=taxon&page%5Bnumber%5D=1&page%5Bsize%5D=15",
        "last": "https://www.wrmd.org/api/v3/common-names?include=taxon&page%5Bnumber%5D=2485&page%5Bsize%5D=15",
        "next": "https://www.wrmd.org/api/v3/common-names?include=taxon&page%5Bnumber%5D=2&page%5Bsize%5D=15"
    },
    "data": [
        {
            "type": "common-names",
            "id": 33770,
            "attributes": {
                "commonName": "House Finch",
                "subSpecies": null,
                "alphaCode": null,
                "language": "en",
                "createdAt": "2016-01-01T06:39:40.000000Z",
                "updatedAt": "2016-01-01T06:39:40.000000Z"
            },
            "relationships": {
                "taxon": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/common-names/33770/taxon"
                    },
                    "data": {
                        "type": "taxa",
                        "id": "2946"
                    }
                }
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/common-names/33770"
            }
        },
        // ...
    ],
    "included": [
        {
            "type": "taxa",
            "id": "2946",
            "attributes": {
                "class": "Aves",
                "order": "Passeriformes",
                "family": "Fringillidae",
                "genus": "Haemorhous",
                "species": "mexicanus",
                "alphaCode": "HOFI",
                "createdAt": "2016-01-01T06:39:40.000000Z",
                "updatedAt": "2018-01-26T17:38:46.000000Z"
            },
            "relationships": {
                "commonNames": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/taxa/2946/common-names"
                    }
                },
                "patients": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/taxa/2946/patients"
                    }
                }
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/taxa/2946"
            }
        }
    ]
}

 

Request   

GET api/v3/common-names

Query Parameters

page[number]  integer  

Page number to return.

page[size]  integer optional  

Number of items to return in a page. Defaults to 15. Max 100.

filter[commonName]  string optional  

Filter by common name.

Get Common Name

requires authentication

Fetch zero to one common name by id.

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://www.wrmd.org/api/v3/common-names/17',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/vnd.api+json',
            'Accept' => 'application/vnd.api+json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://www.wrmd.org/api/v3/common-names/17"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/vnd.api+json",
    "Accept": "application/vnd.api+json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
import requests
import json

url = 'https://www.wrmd.org/api/v3/common-names/17'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/vnd.api+json',
  'Accept': 'application/vnd.api+json'
}

response = requests.request('GET', url, headers=headers)
response.json()
curl --request GET \
    --get "https://www.wrmd.org/api/v3/common-names/17" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/vnd.api+json" \
    --header "Accept: application/vnd.api+json"

Example response (200):


{
    "jsonapi": {
        "version": "1.0"
    },
    "links": {
        "self": "http://wrmd.test/api/v3/common-names/33770"
    },
    "data": {
        "type": "common-names",
        "id": "33770",
        "attributes": {
            "commonName": "House Finch",
            "subSpecies": null,
            "alphaCode": null,
            "language": "en",
            "createdAt": "2015-05-05T02:54:12.000000Z",
            "updatedAt": "2017-12-26T04:02:07.000000Z"
        },
        "relationships": {
            "taxon": {
                "links": {
                    "related": "http://wrmd.test/api/v3/common-names/33770/taxon"
                },
                "data": {
                    "type": "taxa",
                    "id": "2946"
                }
            }
        },
        "links": {
            "self": "http://wrmd.test/api/v3/common-names/33770"
        }
    },
    "included": [
        {
            "type": "taxa",
            "id": "2946",
            "attributes": {
                "class": "Aves",
                "order": "Passeriformes",
                "family": "Fringillidae",
                "genus": "Haemorhous",
                "species": "mexicanus",
                "alphaCode": "HOFI",
                "createdAt": "2016-01-01T06:39:41.000000Z",
                "updatedAt": "2019-12-19T17:00:41.000000Z"
            },
            "relationships": {
                "commonNames": {
                    "links": {
                        "related": "http://wrmd.test/api/v3/taxa/2946/common-names"
                    }
                },
                "patients": {
                    "links": {
                        "related": "http://wrmd.test/api/v3/taxa/2946/patients"
                    }
                }
            },
            "links": {
                "self": "http://wrmd.test/api/v3/taxa/2946"
            }
        }
    ]
}
 

Request   

GET api/v3/common-names/{id}

URL Parameters

id  integer  

The ID of the common name.

Donations

Donations refer to the charitable gifts given by a person to your organization.

List Donations

requires authentication

Fetch zero to many donations.

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://www.wrmd.org/api/v3/donations',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/vnd.api+json',
            'Accept' => 'application/vnd.api+json',
        ],
        'query' => [
            'page[number]'=> '1',
            'sort'=> 'method',
            'filter[donatedAt]'=> '2021-08-25',
            'include'=> 'donor',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://www.wrmd.org/api/v3/donations"
);

const params = {
    "page[number]": "1",
    "sort": "method",
    "filter[donatedAt]": "2021-08-25",
    "include": "donor",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/vnd.api+json",
    "Accept": "application/vnd.api+json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
import requests
import json

url = 'https://www.wrmd.org/api/v3/donations'
params = {
  'page[number]': '1',
  'sort': 'method',
  'filter[donatedAt]': '2021-08-25',
  'include': 'donor',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/vnd.api+json',
  'Accept': 'application/vnd.api+json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
curl --request GET \
    --get "https://www.wrmd.org/api/v3/donations?page[number]=1&sort=method&filter[donatedAt]=2021-08-25&include=donor" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/vnd.api+json" \
    --header "Accept: application/vnd.api+json"

Example response (200):


{
    "meta": {
        "page": {
            "currentPage": 1,
            "from": 1,
            "lastPage": 1,
            "perPage": 1,
            "to": 1,
            "total": 1
        }
    },
    "jsonapi": {
        "version": "1.0"
    },
    "links": {
        "first": "https://www.wrmd.org/api/v3/donations?page%5Bnumber%5D=1&page%5Bsize%5D=1",
        "last": "https://www.wrmd.org/api/v3/donations?page%5Bnumber%5D=1&page%5Bsize%5D=1",
        "next": "https://www.wrmd.org/api/v3/donations?page%5Bnumber%5D=2&page%5Bsize%5D=1"
    },
    "data": [
        {
            "type": "donations",
            "id": "48",
            "attributes": {
                "donatedAt": "2020-01-03T00:00:00.000000Z",
                "value": 20,
                "method": "Cash",
                "comments": "",
                "createdAt": "2020-01-04T07:47:39.000000Z",
                "updatedAt": "2020-02-19T05:34:59.000000Z"
            },
            "relationships": {
                "donor": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/donations/48/donor",
                        "self": "https://www.wrmd.org/api/v3/donations/48/relationships/donor"
                    }
                }
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/donations/48"
            }
        },
        // ...
    ]
}

 

Request   

GET api/v3/donations

Query Parameters

page[number]  integer  

Page number to return.

page[size]  integer optional  

Number of items to return in a page. Defaults to 15. Max 100.

sort  string optional  

Field to sort by. Defaults to 'id'.

filter[method]  string optional  

Filter by donation method.

filter[donatedAt]  string optional  

Filter by donation date. Format: yyyy-mm-dd.

filter[startDate]  string optional  

Filter between donation dates from. Format: yyyy-mm-dd.

filter[endDate]  string optional  

Filter between donation dates to. Format: yyyy-mm-dd.

include  string optional  

Relationships to be included in the response, ex: donor.

Get Donations

requires authentication

Fetch zero to one donation by id.

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://www.wrmd.org/api/v3/donations/4',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/vnd.api+json',
            'Accept' => 'application/vnd.api+json',
        ],
        'query' => [
            'include'=> 'donor',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://www.wrmd.org/api/v3/donations/4"
);

const params = {
    "include": "donor",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/vnd.api+json",
    "Accept": "application/vnd.api+json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
import requests
import json

url = 'https://www.wrmd.org/api/v3/donations/4'
params = {
  'include': 'donor',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/vnd.api+json',
  'Accept': 'application/vnd.api+json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
curl --request GET \
    --get "https://www.wrmd.org/api/v3/donations/4?include=donor" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/vnd.api+json" \
    --header "Accept: application/vnd.api+json"

Example response (200):


{
    "jsonapi": {
        "version": "1.0"
    },
    "links": {
        "self": "https://www.wrmd.org/api/v3/donations/64289"
    },
    "data": {
        "type": "donations",
        "id": "64289",
        "attributes": {
            "donatedAt": "2019-04-06T00:00:00.000000Z",
            "value": 20000,
            "method": "Bank Transfer",
            "comments": null,
            "createdAt": "2019-04-06T21:45:10.000000Z",
            "updatedAt": "2019-04-06T21:45:10.000000Z"
        },
        "relationships": {
            "donor": {
                "links": {
                    "related": "https://www.wrmd.org/api/v3/donations/64289/donor",
                    "self": "https://www.wrmd.org/api/v3/donations/64289/relationships/donor"
                }
            }
        },
        "links": {
            "self": "https://www.wrmd.org/api/v3/donations/64289"
        }
    }
}
 

Request   

GET api/v3/donations/{id}

URL Parameters

id  integer  

The ID of the donation.

Query Parameters

include  string optional  

Relationships to be included in the response, ex: donor.

Patients

Patients refer to the animals admitted to your organization for rehabilitation.

List Patients

requires authentication

Fetch zero to many patients.

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://www.wrmd.org/api/v3/patients',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/vnd.api+json',
            'Accept' => 'application/vnd.api+json',
        ],
        'query' => [
            'page[number]'=> '1',
            'sort'=> 'admittedAt',
            'filter[disposition]'=> 'Released',
            'include'=> 'taxon',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://www.wrmd.org/api/v3/patients"
);

const params = {
    "page[number]": "1",
    "sort": "admittedAt",
    "filter[disposition]": "Released",
    "include": "taxon",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/vnd.api+json",
    "Accept": "application/vnd.api+json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
import requests
import json

url = 'https://www.wrmd.org/api/v3/patients'
params = {
  'page[number]': '1',
  'sort': 'admittedAt',
  'filter[disposition]': 'Released',
  'include': 'taxon',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/vnd.api+json',
  'Accept': 'application/vnd.api+json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
curl --request GET \
    --get "https://www.wrmd.org/api/v3/patients?page[number]=1&sort=admittedAt&filter[disposition]=Released&include=taxon" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/vnd.api+json" \
    --header "Accept: application/vnd.api+json"

Example response (200):


{
    "meta": {
        "page": {
            "currentPage": 1,
            "from": 1,
            "lastPage": 1,
            "perPage": 1,
            "to": 1,
            "total": 1
        }
    },
    "jsonapi": {
        "version": "1.0"
    },
    "links": {
        "first": "https://www.wrmd.org/api/v3/patients?page%5Bnumber%5D=1&page%5Bsize%5D=1",
        "last": "https://www.wrmd.org/api/v3/patients?page%5Bnumber%5D=1&page%5Bsize%5D=1",
        "next": "https://www.wrmd.org/api/v3/patients?page%5Bnumber%5D=2&page%5Bsize%5D=1"
    },
    "data": [
        {
            "type": "patients",
            "id": "1548778",
            "attributes": {
                "caseNumber": "21-1",
                "isFrozen": false,
                "commonName": "Raccoon",
                "admittedAt": "2020-12-15T20:50:00.000000Z",
                "transportedBy": null,
                "admittedBy": "Devin",
                "foundAt": "2020-12-15T00:00:00.000000Z",
                "addressFound": "test",
                "cityFound": "x",
                "subdivisionFound": "AL",
                "coordinatesFound": {
                    "latitude": 30.3674198,
                    "longitude": -89.0928155
                },
                "reasonsForAdmission": "Hit by car",
                "careByRescuer": null,
                "notesAboutRescue": null,
                "diagnosis": "test",
                "band": null,
                "microchipNumber": null,
                "referenceNumber": null,
                "name": null,
                "keywords": "stuff",
                "disposition": "Died +24hr",
                "transferType": null,
                "releaseType": null,
                "dispositionedAt": "2020-01-01T00:00:00.000000Z",
                "dispositionLocation": null,
                "dispositionSubdivision": "BZ",
                "dispositionCoordinates": {
                    "latitude": 30.3674198,
                    "longitude": -89.0928155
                },
                "reasonForDisposition": null,
                "dispositionedBy": null,
                "carcassSaved": false,
                "criminalActivity": false,
                "createdAt": "2020-12-15T19:50:54.000000Z",
                "updatedAt": "2021-03-18T20:47:37.000000Z"
            },
            "relationships": {
                "rescuer": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/patients/1548778/rescuer"
                    }
                },
                "taxon": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/patients/1548778/taxon"
                    },
                    "data": {
                        "type": "taxa",
                        "id": "585"
                    }
                }
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/patients/1548778"
            }
        },
        //...
    ],
    "included": [
        {
            "type": "taxa",
            "id": "585",
            "attributes": {
                "class": "Mammalia",
                "order": "Carnivora",
                "family": "Procyonidae",
                "genus": "Procyon",
                "species": "lotor",
                "alphaCode": null,
                "createdAt": "2016-01-01T06:39:40.000000Z",
                "updatedAt": "2018-01-26T17:38:49.000000Z"
            },
            "relationships": {
                "commonNames": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/taxa/585/common-names"
                    }
                },
                "patients": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/taxa/585/patients"
                    }
                }
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/taxa/585"
            }
        }
    ]
}

 

Request   

GET api/v3/patients

Query Parameters

page[number]  integer  

Page number to return.

page[size]  integer optional  

Number of items to return in a page. Defaults to 15. Max 100.

sort  string optional  

Field to sort by. Defaults to 'id'.

filter[admittedAtStartDate]  string optional  

Filter between patient admission dates from. Format: yyyy-mm-dd.

filter[admittedAtEndDate]  string optional  

Filter between patient admission dates to. Format: yyyy-mm-dd.

filter[dispositionedAtStartDate]  string optional  

Filter between patient disposition dates from. Format: yyyy-mm-dd.

filter[dispositionedAtEndDate]  string optional  

Filter between patient disposition dates to. Format: yyyy-mm-dd.

filter[disposition]  string optional  

Filter by disposition.

filter[taxon][...]  string optional  

Filter by available taxa filters. Ex: filter[taxon][class] = Aves

include  string optional  

Relationships to be included in the response, ex: rescuer, taxon.

Get a patient

requires authentication

Fetch zero to one patient by id.

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://www.wrmd.org/api/v3/patients/8',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/vnd.api+json',
            'Accept' => 'application/vnd.api+json',
        ],
        'query' => [
            'include'=> 'taxon',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://www.wrmd.org/api/v3/patients/8"
);

const params = {
    "include": "taxon",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/vnd.api+json",
    "Accept": "application/vnd.api+json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
import requests
import json

url = 'https://www.wrmd.org/api/v3/patients/8'
params = {
  'include': 'taxon',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/vnd.api+json',
  'Accept': 'application/vnd.api+json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
curl --request GET \
    --get "https://www.wrmd.org/api/v3/patients/8?include=taxon" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/vnd.api+json" \
    --header "Accept: application/vnd.api+json"

Example response (200):


{
    "jsonapi": {
        "version": "1.0"
    },
    "links": {
        "self": "https://www.wrmd.org/api/v3/patients/1548778"
    },
    "data": {
        "type": "patients",
        "id": "1548778",
        "attributes": {
            "caseNumber": "20-4",
            "isFrozen": false,
            "commonName": "Raccoon",
            "admittedAt": "2020-12-15T20:50:00.000000Z",
            "transportedBy": null,
            "admittedBy": "Devin",
            "foundAt": "2020-12-15T00:00:00.000000Z",
            "addressFound": "test",
            "cityFound": "x",
            "subdivisionFound": "AL",
            "coordinatesFound": {
                "latitude": 30.3674198,
                "longitude": -89.0928155
            },
            "reasonsForAdmission": "x",
            "careByRescuer": null,
            "notesAboutRescue": null,
            "diagnosis": "test",
            "band": null,
            "microchipNumber": null,
            "referenceNumber": null,
            "name": null,
            "keywords": "stuff",
            "disposition": "Died +24hr",
            "transferType": null,
            "releaseType": null,
            "dispositionedAt": "2020-01-01T00:00:00.000000Z",
            "dispositionLocation": null,
            "dispositionSubdivision": "BZ",
            "dispositionCoordinates": {
                "latitude": 30.3674198,
                "longitude": -89.0928155
            },
            "reasonForDisposition": null,
            "dispositionedBy": null,
            "carcassSaved": false,
            "criminalActivity": false,
            "createdAt": "2020-12-15T19:50:54.000000Z",
            "updatedAt": "2021-03-18T20:47:37.000000Z"
        },
        "relationships": {
            "rescuer": {
                "links": {
                    "related": "https://www.wrmd.org/api/v3/patients/1548778/rescuer"
                }
            },
            "taxon": {
                "links": {
                    "related": "https://www.wrmd.org/api/v3/patients/1548778/taxon"
                },
                "data": {
                    "type": "taxa",
                    "id": "585"
                }
            }
        },
        "links": {
            "self": "https://www.wrmd.org/api/v3/patients/1548778"
        }
    },
    "included": [
        {
            "type": "taxa",
            "id": "585",
            "attributes": {
                "class": "Mammalia",
                "order": "Carnivora",
                "family": "Procyonidae",
                "genus": "Procyon",
                "species": "lotor",
                "alphaCode": null,
                "createdAt": "2016-01-01T06:39:40.000000Z",
                "updatedAt": "2018-01-26T17:38:49.000000Z"
            },
            "relationships": {
                "commonNames": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/taxa/585/common-names"
                    }
                },
                "patients": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/taxa/585/patients"
                    }
                }
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/taxa/585"
            }
        }
    ]
}
 

Request   

GET api/v3/patients/{id}

URL Parameters

id  integer  

The ID of the patient.

Query Parameters

include  string optional  

Relationships to be included in the response, ex: rescuer, taxon.

People

People refer to all the human beings who have an affiliation to your account. Those people might be a rescuer, donor, volunteer or a member. In the interest of privacy and security, none of the details of any person in WRMD is required.

List People

requires authentication

Fetch zero to many people.

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://www.wrmd.org/api/v3/people',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/vnd.api+json',
            'Accept' => 'application/vnd.api+json',
        ],
        'query' => [
            'page[number]'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://www.wrmd.org/api/v3/people"
);

const params = {
    "page[number]": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/vnd.api+json",
    "Accept": "application/vnd.api+json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
import requests
import json

url = 'https://www.wrmd.org/api/v3/people'
params = {
  'page[number]': '1',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/vnd.api+json',
  'Accept': 'application/vnd.api+json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
curl --request GET \
    --get "https://www.wrmd.org/api/v3/people?page[number]=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/vnd.api+json" \
    --header "Accept: application/vnd.api+json"

Example response (200):


{
    "meta": {
        "page": {
            "currentPage": 1,
            "from": 1,
            "lastPage": 1,
            "perPage": 1,
            "to": 1,
            "total": 1
        }
    },
    "jsonapi": {
        "version": "1.0"
    },
    "links": {
        "first": "https://www.wrmd.org/api/v3/people?page%5Bnumber%5D=1&page%5Bsize%5D=1",
        "last": "https://www.wrmd.org/api/v3/people?page%5Bnumber%5D=1&page%5Bsize%5D=1",
        "next": "https://www.wrmd.org/api/v3/people?page%5Bnumber%5D=2&page%5Bsize%5D=1"
    },
    "data": [
        {
            "type": "people",
            "id": "1",
            "attributes": {
                "organization": null,
                "firstName": "Jim",
                "lastName": "Smith",
                "phone": null,
                "altPhone": null,
                "email": null,
                "country": null,
                "subdivision": null,
                "city": null,
                "address": null,
                "postalCode": null,
                "notes": null,
                "noSolicitations": false,
                "isVolunteer": false,
                "isMember": false,
                "createdAt": "2021-12-24T05:38:41.000000Z",
                "updatedAt": "2021-12-24T05:38:41.000000Z"
            },
            "relationships": {
                "donations": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/people/1/donations"
                    }
                },
                "patients": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/people/1/patients"
                    }
                }
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/people/1"
            }
        },
        // ...
    ]
}

 

Request   

GET api/v3/people

Query Parameters

page[number]  integer  

Page number to return.

page[size]  integer optional  

Number of items to return in a page. Defaults to 15. Max 100.

Get a person

requires authentication

Fetch zero to one person by id.

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://www.wrmd.org/api/v3/people/3',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/vnd.api+json',
            'Accept' => 'application/vnd.api+json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://www.wrmd.org/api/v3/people/3"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/vnd.api+json",
    "Accept": "application/vnd.api+json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
import requests
import json

url = 'https://www.wrmd.org/api/v3/people/3'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/vnd.api+json',
  'Accept': 'application/vnd.api+json'
}

response = requests.request('GET', url, headers=headers)
response.json()
curl --request GET \
    --get "https://www.wrmd.org/api/v3/people/3" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/vnd.api+json" \
    --header "Accept: application/vnd.api+json"

Example response (200):


{
    "jsonapi": {
        "version": "1.0"
    },
    "links": {
        "self": "https://www.wrmd.org/api/v3/people/1"
    },
    "data": {
        "type": "people",
        "id": "1",
        "attributes": {
            "organization": null,
            "firstName": "Jim",
            "lastName": "Smith",
            "phone": null,
            "altPhone": null,
            "email": null,
            "country": null,
            "subdivision": null,
            "city": null,
            "address": null,
            "postalCode": null,
            "notes": null,
            "noSolicitations": false,
            "isVolunteer": false,
            "isMember": false,
            "createdAt": "2021-12-24T05:38:41.000000Z",
            "updatedAt": "2021-12-24T05:38:41.000000Z"
        },
        "relationships": {
            "donations": {
                "links": {
                    "related": "https://www.wrmd.org/api/v3/people/1/donations"
                }
            },
            "patients": {
                "links": {
                    "related": "https://www.wrmd.org/api/v3/people/1/patients"
                }
            }
        },
        "links": {
            "self": "https://www.wrmd.org/api/v3/people/1"
        }
    }
}
 

Request   

GET api/v3/people/{id}

URL Parameters

id  integer  

The ID of the person.

Reports

Reports refers to all the same reports available within WRMD (http://www.wrmd.org/reports). Each report has a different set of filters that it recognizes.

List Reports

requires authentication

Fetch a list of the available reports.

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://www.wrmd.org/api/v3/reports',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/vnd.api+json',
            'Accept' => 'application/vnd.api+json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://www.wrmd.org/api/v3/reports"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/vnd.api+json",
    "Accept": "application/vnd.api+json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
import requests
import json

url = 'https://www.wrmd.org/api/v3/reports'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/vnd.api+json',
  'Accept': 'application/vnd.api+json'
}

response = requests.request('GET', url, headers=headers)
response.json()
curl --request GET \
    --get "https://www.wrmd.org/api/v3/reports" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/vnd.api+json" \
    --header "Accept: application/vnd.api+json"

Example response (200):


{
    "jsonapi": {
        "version": "1.0"
    },
    "data": [
        {
            "type": "reports",
            "id": "us",
            "attributes": {
                "title": "USFWS Wildlife Rehabilitation Annual Report",
                "titleSlug": "usfws-wildlife-rehabilitation-annual-report",
                "explanation": "",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/us"
            }
        },
        {
            "type": "reports",
            "id": "us-ca",
            "attributes": {
                "title": "California Wildlife Rehabilitation Annual Report",
                "titleSlug": "california-wildlife-rehabilitation-annual-report",
                "explanation": "",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/us-ca"
            }
        },
        {
            "type": "reports",
            "id": "daily-summary",
            "attributes": {
                "title": "Daily Summary Report",
                "titleSlug": "daily-summary-report",
                "explanation": "The Daily Summary Report was designed to give you a snapshot of what happened on a given day. It shows what was admitted, dispositioned and who was in care on that day.",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/daily-summary"
            }
        },
        {
            "type": "reports",
            "id": "admissions-per-year-by-species",
            "attributes": {
                "title": "Admissions Per Year by Species",
                "titleSlug": "admissions-per-year-by-species",
                "explanation": "The Admissions per Year by Species report gives you a 5 year comparison of the total species that came into care for a given year.",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/admissions-per-year-by-species"
            }
        },
        {
            "type": "reports",
            "id": "admissions-by-location-found",
            "attributes": {
                "title": "Admissions by Location Found",
                "titleSlug": "admissions-by-location-found",
                "explanation": "The Admissions by Location Found report give you 3 filters to view the total number of species that came into care by the city, county or state they were found in.",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/admissions-by-location-found"
            }
        },
        {
            "type": "reports",
            "id": "dates-of-first-babies",
            "attributes": {
                "title": "Dates of First Babies by Year",
                "titleSlug": "dates-of-first-babies-by-year",
                "explanation": "Dates of First Babies by Year report gives you a 5 year comparison of the date the first \"baby\" of the year came into care. Baby refers to any patient that is not Adult, Sub-adult, Juvenile or that has Years in the Initial Exam Age Unit. If the Age is left blank it will not be used.",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/dates-of-first-babies"
            }
        },
        {
            "type": "reports",
            "id": "total-dispositions-by-species",
            "attributes": {
                "title": "Dispositions by Species",
                "titleSlug": "dispositions-by-species",
                "explanation": "",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/total-dispositions-by-species"
            }
        },
        {
            "type": "reports",
            "id": "release-types-by-species",
            "attributes": {
                "title": "Release Types by Species",
                "titleSlug": "release-types-by-species",
                "explanation": "",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/release-types-by-species"
            }
        },
        {
            "type": "reports",
            "id": "transfer-types-by-species",
            "attributes": {
                "title": "Transfer Types by Species",
                "titleSlug": "transfer-types-by-species",
                "explanation": "",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/transfer-types-by-species"
            }
        },
        {
            "type": "reports",
            "id": "pending-patients-by-location",
            "attributes": {
                "title": "Pending Cases by Location",
                "titleSlug": "pending-cases-by-location",
                "explanation": "",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/pending-patients-by-location"
            }
        },
        {
            "type": "reports",
            "id": "homecare-hours-by-caregiver",
            "attributes": {
                "title": "Homecare Hours by Caregiver",
                "titleSlug": "homecare-hours-by-caregiver",
                "explanation": "",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/homecare-hours-by-caregiver"
            }
        },
        {
            "type": "reports",
            "id": "patients-sent-to-homecare",
            "attributes": {
                "title": "Patients Sent to Homecare",
                "titleSlug": "patients-sent-to-homecare",
                "explanation": "",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/patients-sent-to-homecare"
            }
        },
        {
            "type": "reports",
            "id": "people",
            "attributes": {
                "title": "All People",
                "titleSlug": "all-people",
                "explanation": "This report lists all people created in your account within the date range specified; regardless of their affiliation to you.",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/people"
            }
        },
        {
            "type": "reports",
            "id": "rescuers",
            "attributes": {
                "title": "Rescuers",
                "titleSlug": "rescuers",
                "explanation": "This report lists all rescuers in your account who's patients were admitted within the date range specified.",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/rescuers"
            }
        },
        {
            "type": "reports",
            "id": "frugal-rescuers",
            "attributes": {
                "title": "Rescuers Who Have Not Donated",
                "titleSlug": "rescuers-who-have-not-donated",
                "explanation": "This report lists all rescuers in your account who's patients were admitted within the date range specified and have not made a donation.",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/frugal-rescuers"
            }
        },
        {
            "type": "reports",
            "id": "volunteers",
            "attributes": {
                "title": "Volunteers",
                "titleSlug": "volunteers",
                "explanation": "This report lists all volunteers created in your account within the date range specified.",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/volunteers"
            }
        },
        {
            "type": "reports",
            "id": "members",
            "attributes": {
                "title": "Members",
                "titleSlug": "members",
                "explanation": "This report lists all members created in your account within the date range specified.",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/members"
            }
        },
        {
            "type": "reports",
            "id": "donors",
            "attributes": {
                "title": "Donors",
                "titleSlug": "donors",
                "explanation": "This report lists all donors in your account who have donated within the date range specified.",
                "data": null
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/reports/donors"
            }
        }
    ]
}
 

Request   

GET api/v3/reports

Get Report

requires authentication

Fetch a report by its slug name.

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://www.wrmd.org/api/v3/reports/total-dispositions-by-species',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/vnd.api+json',
            'Accept' => 'application/vnd.api+json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://www.wrmd.org/api/v3/reports/total-dispositions-by-species"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/vnd.api+json",
    "Accept": "application/vnd.api+json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
import requests
import json

url = 'https://www.wrmd.org/api/v3/reports/total-dispositions-by-species'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/vnd.api+json',
  'Accept': 'application/vnd.api+json'
}

response = requests.request('GET', url, headers=headers)
response.json()
curl --request GET \
    --get "https://www.wrmd.org/api/v3/reports/total-dispositions-by-species" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/vnd.api+json" \
    --header "Accept: application/vnd.api+json"

Example response (200):


{
    "jsonapi": {
        "version": "1.0"
    },
    "links": {
        "self": "http://wrmd.test/api/v3/reports/total-dispositions-by-species"
    },
    "data": {
        "type": "reports",
        "id": "total-dispositions-by-species",
        "attributes": {
            "title": "Dispositions by Species",
            "titleSlug": "dispositions-by-species",
            "explanation": "",
            "data": {
                "dateFrom": "Jan 1, 2021",
                "dateTo": "Aug 26, 2021",
                "headings": [
                    "Common Name",
                    "Total",
                    "R",
                    "T",
                    "P",
                    "E",
                    "E +24hr",
                    "D",
                    "D +24hr",
                    "DOA",
                    "Survival Rate Including %",
                    "Survival Rate After %"
                ],
                "collections": {
                    "Amphibia": [],
                    "Aves": [],
                    "Mammalia": [],
                    "Reptilia": [],
                    "Unidentified": []
                },
                "grand": []
            }
        },
        "links": {
            "self": "http://wrmd.test/api/v3/reports/total-dispositions-by-species"
        }
    }
}
 

Request   

GET api/v3/reports/{id}

URL Parameters

id  string  

The slug id of the report.

Query Parameters

filter[dateFrom]  string optional  

Filter between dates from. Format: yyyy-mm-dd.

filter[dateTo]  string optional  

Filter between dates to. Format: yyyy-mm-dd.

Rescuers

Rescuers and people are one and the same. Rescuers just refer to people that have an associated patient. To retrieve an individual rescuer use the api/v3/people/{id} endpoint.

List Rescuers

requires authentication

Fetch zero to many rescuers.

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://www.wrmd.org/api/v3/rescuers',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/vnd.api+json',
            'Accept' => 'application/vnd.api+json',
        ],
        'query' => [
            'page[number]'=> '1',
            'include'=> 'patients',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://www.wrmd.org/api/v3/rescuers"
);

const params = {
    "page[number]": "1",
    "include": "patients",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/vnd.api+json",
    "Accept": "application/vnd.api+json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
import requests
import json

url = 'https://www.wrmd.org/api/v3/rescuers'
params = {
  'page[number]': '1',
  'include': 'patients',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/vnd.api+json',
  'Accept': 'application/vnd.api+json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
curl --request GET \
    --get "https://www.wrmd.org/api/v3/rescuers?page[number]=1&include=patients" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/vnd.api+json" \
    --header "Accept: application/vnd.api+json"

Example response (200):


{
    "meta": {
        "page": {
            "currentPage": 1,
            "from": 1,
            "lastPage": 1,
            "perPage": 1,
            "to": 1,
            "total": 1
        }
    },
    "jsonapi": {
        "version": "1.0"
    },
    "links": {
        "first": "https://www.wrmd.org/api/v3/rescuers?include=patients&page%5Bnumber%5D=1&page%5Bsize%5D=1",
        "last": "https://www.wrmd.org/api/v3/rescuers?include=patients&page%5Bnumber%5D=1&page%5Bsize%5D=1",
        "next": "https://www.wrmd.org/api/v3/rescuers?include=patients&page%5Bnumber%5D=2&page%5Bsize%5D=1"
    },
    "data": [
        {
            "type": "rescuers",
            "id": "13",
            "attributes": {
                "organization": null,
                "firstName": "Devin",
                "lastName": "Dombrowski",
                "phone": null,
                "altPhone": null,
                "email": null,
                "country": null,
                "subdivision": null,
                "city": null,
                "address": null,
                "postalCode": null,
                "notes": null,
                "noSolicitations": false,
                "isVolunteer": false,
                "isMember": false,
                "createdAt": "2012-10-18T02:41:47.000000Z",
                "updatedAt": "2012-10-18T02:41:47.000000Z"
            },
            "relationships": {
                "donations": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/people/13/donations",
                        "self": "https://www.wrmd.org/api/v3/people/13/relationships/donations"
                    }
                },
                "patients": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/people/13/patients",
                        "self": "https://www.wrmd.org/api/v3/people/13/relationships/patients"
                    },
                    "data": [
                        {
                            "type": "patients",
                            "id": "15"
                        },
                        // ...
                    ]
                }
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/people/13"
            }
        }
    ],
    "included": [
        {
            "type": "patients",
            "id": "15",
            "attributes": {
                "caseNumber": "12-2",
                "isFrozen": false,
                "commonName": "Golden Eagle",
                // ...
            },
            "relationships": {
                "rescuer": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/patients/15/rescuer"
                    }
                },
                "taxon": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/patients/15/taxon"
                    }
                }
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/patients/15"
            }
        }
    ]
}

 

Request   

GET api/v3/rescuers

Query Parameters

page[number]  integer  

Page number to return.

page[size]  integer optional  

Number of items to return in a page. Defaults to 15. Max 100.

filter[email]  string optional  

Filter by email address.

filter[phone]  integer optional  

Filter by phone number.

filter[createdAtStartDate]  string optional  

Filter between rescuer creation dates from. Format: yyyy-mm-dd.

filter[createdAtEndDate]  string optional  

Filter between rescuer creation dates to. Format: yyyy-mm-dd.

filter[patients][...]  string optional  

Filter by available patient filters. Ex: filter[patients][disposition] = Released

include  string optional  

Relationships to be included in the response, ex: patients, donations.

Taxa

Taxa refers to biological groups of organisms organized by their taxonomic rank. In WRMD each taxon includes metadata such as its biological group (clade), conservation status and geographic distribution. A taxon has many common names and they will be automatically included in the api response.

List Taxa

requires authentication

Fetch zero to many taxa.

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://www.wrmd.org/api/v3/taxa',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/vnd.api+json',
            'Accept' => 'application/vnd.api+json',
        ],
        'query' => [
            'page[number]'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://www.wrmd.org/api/v3/taxa"
);

const params = {
    "page[number]": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/vnd.api+json",
    "Accept": "application/vnd.api+json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
import requests
import json

url = 'https://www.wrmd.org/api/v3/taxa'
params = {
  'page[number]': '1',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/vnd.api+json',
  'Accept': 'application/vnd.api+json'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
curl --request GET \
    --get "https://www.wrmd.org/api/v3/taxa?page[number]=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/vnd.api+json" \
    --header "Accept: application/vnd.api+json"

Example response (200):


{
    "meta": {
        "page": {
            "currentPage": 1,
            "from": 1,
            "lastPage": 1796,
            "perPage": 15,
            "to": 15,
            "total": 26940
        }
    },
    "jsonapi": {
        "version": "1.0"
    },
    "links": {
        "first": "https://www.wrmd.org/api/v3/taxa?include=commonNames&page%5Bnumber%5D=1&page%5Bsize%5D=15",
        "last": "https://www.wrmd.org/api/v3/taxa?include=commonNames&page%5Bnumber%5D=1796&page%5Bsize%5D=15",
        "next": "https://www.wrmd.org/api/v3/taxa?include=commonNames&page%5Bnumber%5D=2&page%5Bsize%5D=15"
    },
    "data": [
        {
            "type": "taxa",
            "id": 2946,
            "attributes": {
                "id": 2946,
                "class": "Aves",
                "order": "Passeriformes",
                "family": "Fringillidae",
                "genus": "Haemorhous",
                "species": "mexicanus",
                "alphaCode": "HOFI",
                "createdAt": "2016-01-01T06:39:40.000000Z",
                "updatedAt": "2018-01-26T17:38:46.000000Z"
            },
            "relationships": {
                "commonNames": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/taxa/2946/common-names"
                    },
                    "data": [
                        {
                            "type": "common-names",
                            "id": "33770"
                        }
                    ]
                },
                "patients": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/taxa/2946/patients"
                    }
                }
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/taxa/2946"
            }
        },
        // ...
    ],
    "included": [
        {
            "type": "common-names",
            "id": "33770",
            "attributes": {
                "commonName": "House Finch",
                "subSpecies": null,
                "alphaCode": null,
                "language": "en",
                "createdAt": "2016-01-01T06:39:40.000000Z",
                "updatedAt": "2016-01-01T06:39:40.000000Z"
            },
            "relationships": {
                "taxon": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/common-names/33770/taxon"
                    }
                }
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/common-names/33770"
            }
        }
    ]
}

 

Request   

GET api/v3/taxa

Query Parameters

page[number]  integer  

Page number to return.

page[size]  integer optional  

Number of items to return in a page. Defaults to 15. Max 100.

filter[class]  string optional  

Filter by taxonomic class.

filter[order]  string optional  

Filter by taxonomic order.

filter[family]  string optional  

Filter by taxonomic family.

filter[genus]  string optional  

Filter by taxonomic genus.

filter[species]  string optional  

Filter by taxonomic species.

filter[alpha_code]  string optional  

Filter by AOU alpha code.

Get Taxon

requires authentication

Fetch zero to one taxon by id.

Example request:
$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://www.wrmd.org/api/v3/taxa/14',
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/vnd.api+json',
            'Accept' => 'application/vnd.api+json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://www.wrmd.org/api/v3/taxa/14"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/vnd.api+json",
    "Accept": "application/vnd.api+json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
import requests
import json

url = 'https://www.wrmd.org/api/v3/taxa/14'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}',
  'Content-Type': 'application/vnd.api+json',
  'Accept': 'application/vnd.api+json'
}

response = requests.request('GET', url, headers=headers)
response.json()
curl --request GET \
    --get "https://www.wrmd.org/api/v3/taxa/14" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/vnd.api+json" \
    --header "Accept: application/vnd.api+json"

Example response (200):


{
    "jsonapi": {
        "version": "1.0"
    },
    "links": {
        "self": "https://www.wrmd.org/api/v3/taxa/2946"
    },
    "data": {
        "type": "taxa",
        "id": "2946",
        "attributes": {
            "class": "Aves",
            "order": "Passeriformes",
            "family": "Fringillidae",
            "genus": "Haemorhous",
            "species": "mexicanus",
            "alphaCode": "HOFI",
            "createdAt": "2016-01-01T06:39:41.000000Z",
            "updatedAt": "2019-12-19T17:00:41.000000Z"
        },
        "relationships": {
            "commonNames": {
                "links": {
                    "related": "https://www.wrmd.org/api/v3/taxa/2946/common-names"
                },
                "data": [
                    {
                        "type": "common-names",
                        "id": "33770"
                    }
                ]
            },
            "patients": {
                "links": {
                    "related": "https://www.wrmd.org/api/v3/taxa/2946/patients"
                }
            }
        },
        "links": {
            "self": "https://www.wrmd.org/api/v3/taxa/2946"
        }
    },
    "included": [
        {
            "type": "common-names",
            "id": "33770",
            "attributes": {
                "commonName": "House Finch",
                "subSpecies": null,
                "alphaCode": null,
                "language": "en",
                "createdAt": "2015-05-05T02:54:12.000000Z",
                "updatedAt": "2017-12-26T04:02:07.000000Z"
            },
            "relationships": {
                "taxon": {
                    "links": {
                        "related": "https://www.wrmd.org/api/v3/common-names/33770/taxon"
                    }
                }
            },
            "links": {
                "self": "https://www.wrmd.org/api/v3/common-names/33770"
            }
        }
    ]
}
 

Request   

GET api/v3/taxa/{id}

URL Parameters

id  integer  

The ID of the taxon.