Introduction
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin condimentum felis in consectetur. Nullam at ornare libero. Duis a dolor posuere, tristique mi vel, pharetra ante. Etiam vel egestas eros. Nam scelerisque, lectus vel egestas blandit, eros tortor suscipit augue, ac ornare arcu odio vitae libero. Proin sed velit in erat aliquet aliquam a quis orci. Morbi ultrices malesuada purus vel dapibus. Nullam mattis, sapien id accumsan vehicula, mauris orci viverra leo, a lobortis sem dolor non dui. Maecenas eu erat a libero elementum efficitur eu sit amet magna. Phasellus tellus elit, blandit et tellus vitae, porttitor euismod mauris. Quisque sagittis nisl eget eros accumsan, ut tempor ipsum rhoncus. Suspendisse suscipit ex eu tincidunt gravida. Vivamus lobortis ornare vulputate. Mauris ultrices feugiat purus, ut pellentesque lacus.
Access
Currently access is limited to individual Wildlife Trust's, however access may be granted on a per request basis. Please contact Shaun Gill for more information.
Authentication
Authenticate your account when using the API by including your secret API key in the request. You can manage your API keys by logging in, please ensure you keep them secret! Do not share your secret API with anybody you do not trust.
Authentication to the API is performed via HTTP Basic Auth. Provide your API key as the basic auth username value. You do not need to provide a password.
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.,
Errors
The Wildlife Trusts API uses conventional HTTP response codes to indicate the success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that failed given the information provided, and codes in the 5xx range indicate an a server error.
Not all errors map cleanly onto HTTP response codes, however. When a request is valid but does not complete successfully, we return a 402 error code.
Attributes | |
---|---|
code | HTTP Status code providing type of error |
message | Human-readable message providing details of the possible cause to the error |
Handling Errors
There could be a number of reasons why the API library generates an error, such as authentication error, reserve/event not exisiting or being forbidden to updating a reserve not belonging to your trust. We suggest writing code that gracefully handles all possible API exceptions
HTTP Status Codes
200 - OK | Everything worked fine |
---|---|
400 - Bad Request | The request was unacceptable, often due to missing a required parameter. |
401 - Unauthorised | API key either unprovided or invalid |
402 - Request Failed | The request is valid but failed |
403 - Forbidden | Valid API key provided, but the request is not available to the current user |
404 - Not Found | The resource requested does not exist |
405 - Method Not Allowed | Request is trying to access a valid resource through a method which is not allowed |
418 - I'm a Teapot | The request attempted to brew coffee |
5xx - Server Errors | Something went wrong on the server |
Example Output
POST /reserves/1 HTTP/1.1
Host: api.wildlifetrusts.org
Content-Type: application/json
Content-Length: 58
{
"status": 405,
"error": "Only accept GET Requests"
}
Versioning
API version is in the format of X.Y.Z where X=Major, Y=Minor and Z=Security/Bugfix release. When a change to the API has been made which is not backwards compatible, we will release this as a new major version. API version is controlled through the URI.
We define backwards compatible changes as:
- Adding new resources
- Adding new parameters to existing methods
- Adding new properties to existing responses
Events
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin condimentum felis in consectetur. Nullam at ornare libero. Duis a dolor posuere, tristique mi vel, pharetra ante. Etiam vel egestas eros. Nam scelerisque, lectus vel egestas blandit, eros tortor suscipit augue, ac ornare arcu odio vitae libero. Proin sed velit in erat aliquet aliquam a quis orci. Morbi ultrices malesuada purus vel dapibus. Nullam mattis, sapien id accumsan vehicula, mauris orci viverra leo.
Create an event
Parameters
uuidrequired |
string Unique ID - see PHP uniqid() |
---|---|
titlerequired |
string The event name |
datesrequired |
array of timestamps Child attributes: [start] [end] |
time_details | string Any supporting information regarding the timings of the event |
body | string Detailed information of the event |
summary | string Summary of event information (usually introduction text) |
img |
array of strings Details of the promotional image Child attributes: [url] [title] [alt]
|
booking_required | boolean - 0 Is booking required for the event |
capacity | int Attendee capacity. Default: 0 = No limit |
admission_charge | int Cost of the event. Default: 0 = free |
admission_details | string Supporting information regarding admission |
joining_instructions | string Additional joining instructions |
audience | int ID of audience taxonomy |
contact_name | string Contact name for the event organiser |
contact_number | string Contact telephone number for the event organiser |
contact_email | string Contact email address for the event organiser |
registration_details | ?? Find out!! |
mobility_info | string Disability access information |
wheelchair_info | string Information to whether the event is suitable for wheelchair access |
dogs | string Infomation to whether dogs are aloud |
what_to_bring | string Additional information if the attendee is required to bring anything extra to the event |
location_idrequired |
int ID of location resource where the event is taking place |
meeting_info | string Addition information with regards to meeting place |
published | boolean - 1 Whether the event is published or not |
event_type | int Taxonomy ID |
POST /events/
Example Response
HTTP/1.1 200 OK
Server: apache
Content-Type: application/json
Cache-Control: no-cache, private
Date: Mon, 24 Sep 2016 16:52:12 GMT
{
"status": 200,
"message": "Event created"
}
Audience ID's
0 - All
1 - Families
2 - Children
3 - Adults
4 - Experts
5 - Beginners
Event Types
0 - Adult
1 - Learning / Education
2 - Open Day
3 - Other
4 - Outdoor Activity
5 - Sale
6 - Talk
7 - Training
8 - Volunteering
9 - Walk
10 - Wildlife Watch
Retrieve an event
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin condimentum felis in consectetur. Nullam at ornare libero. Duis a dolor posuere, tristique mi vel, pharetra ante. Etiam vel egestas eros. Nam scelerisque, lectus vel egestas blandit, eros tortor suscipit augue, ac ornare arcu odio vitae libero. Proin sed velit in erat aliquet aliquam a quis orci. Morbi ultrices malesuada purus vel dapibus. Nullam mattis, sapien id accumsan vehicula, mauris orci viverra leo, a lobortis sem dolor non dui. Maecenas eu erat a libero elementum efficitur eu sit amet magna. Phasellus tellus elit, blandit et tellus vitae, porttitor euismod mauris. Quisque sagittis nisl eget eros accumsan, ut tempor ipsum rhoncus. Suspendisse suscipit ex eu tincidunt gravida. Vivamus lobortis ornare vulputate. Mauris ultrices feugiat purus, ut pellentesque lacus.
GET /events/:uuid
Example Response
HTTP/1.1 200 OK
Server: apache
Content-Type: application/json
Cache-Control: no-cache, private
Date: Mon, 24 Sep 2016 16:52:12 GMT
{
"status": 200,
"message": "Blah"
}
Update an event
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin condimentum felis in consectetur. Nullam at ornare libero. Duis a dolor posuere, tristique mi vel, pharetra ante. Etiam vel egestas eros. Nam scelerisque, lectus vel egestas blandit, eros tortor suscipit augue, ac ornare arcu odio vitae libero. Proin sed velit in erat aliquet aliquam a quis orci. Morbi ultrices malesuada purus vel dapibus. Nullam mattis, sapien id accumsan vehicula, mauris orci viverra leo, a lobortis sem dolor non dui. Maecenas eu erat a libero elementum efficitur eu sit amet magna. Phasellus tellus elit, blandit et tellus vitae, porttitor euismod mauris. Quisque sagittis nisl eget eros accumsan, ut tempor ipsum rhoncus. Suspendisse suscipit ex eu tincidunt gravida. Vivamus lobortis ornare vulputate. Mauris ultrices feugiat purus, ut pellentesque lacus.
PUT /events/:uuid
Example Response
HTTP/1.1 200 OK
Server: apache
Content-Type: application/json
Cache-Control: no-cache, private
Date: Mon, 24 Sep 2016 16:52:12 GMT
{
"status": 200,
"message": "Blah"
}
Delete an event
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin condimentum felis in consectetur. Nullam at ornare libero. Duis a dolor posuere, tristique mi vel, pharetra ante. Etiam vel egestas eros. Nam scelerisque, lectus vel egestas blandit, eros tortor suscipit augue, ac ornare arcu odio vitae libero. Proin sed velit in erat aliquet aliquam a quis orci. Morbi ultrices malesuada purus vel dapibus. Nullam mattis, sapien id accumsan vehicula, mauris orci viverra leo, a lobortis sem dolor non dui. Maecenas eu erat a libero elementum efficitur eu sit amet magna. Phasellus tellus elit, blandit et tellus vitae, porttitor euismod mauris. Quisque sagittis nisl eget eros accumsan, ut tempor ipsum rhoncus. Suspendisse suscipit ex eu tincidunt gravida. Vivamus lobortis ornare vulputate. Mauris ultrices feugiat purus, ut pellentesque lacus.
DELETE /events/:uuid
Example Response
HTTP/1.1 200 OK
Server: apache
Content-Type: application/json
Cache-Control: no-cache, private
Date: Mon, 24 Sep 2016 16:52:12 GMT
{
"status": 200,
"message": "Blah"
}
List events
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin condimentum felis in consectetur. Nullam at ornare libero. Duis a dolor posuere, tristique mi vel, pharetra ante. Etiam vel egestas eros. Nam scelerisque, lectus vel egestas blandit, eros tortor suscipit augue, ac ornare arcu odio vitae libero. Proin sed velit in erat aliquet aliquam a quis orci. Morbi ultrices malesuada purus vel dapibus. Nullam mattis, sapien id accumsan vehicula, mauris orci viverra leo, a lobortis sem dolor non dui. Maecenas eu erat a libero elementum efficitur eu sit amet magna. Phasellus tellus elit, blandit et tellus vitae, porttitor euismod mauris. Quisque sagittis nisl eget eros accumsan, ut tempor ipsum rhoncus. Suspendisse suscipit ex eu tincidunt gravida. Vivamus lobortis ornare vulputate. Mauris ultrices feugiat purus, ut pellentesque lacus.
GET /events/
Example Response
HTTP/1.1 200 OK
Server: apache
Content-Type: application/json
Cache-Control: no-cache, private
Date: Mon, 24 Sep 2016 16:52:12 GMT
{
"status": 200,
"message": "Blah"
}
List events by Trust
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin condimentum felis in consectetur. Nullam at ornare libero. Duis a dolor posuere, tristique mi vel, pharetra ante. Etiam vel egestas eros. Nam scelerisque, lectus vel egestas blandit, eros tortor suscipit augue, ac ornare arcu odio vitae libero. Proin sed velit in erat aliquet aliquam a quis orci. Morbi ultrices malesuada purus vel dapibus. Nullam mattis, sapien id accumsan vehicula, mauris orci viverra leo, a lobortis sem dolor non dui. Maecenas eu erat a libero elementum efficitur eu sit amet magna. Phasellus tellus elit, blandit et tellus vitae, porttitor euismod mauris. Quisque sagittis nisl eget eros accumsan, ut tempor ipsum rhoncus. Suspendisse suscipit ex eu tincidunt gravida. Vivamus lobortis ornare vulputate. Mauris ultrices feugiat purus, ut pellentesque lacus.
GET /events/trust/:id
Example Response
HTTP/1.1 200 OK
Server: apache
Content-Type: application/json
Cache-Control: no-cache, private
Date: Mon, 24 Sep 2016 16:52:12 GMT
{
"status": 200,
"message": "Blah"
}
Locations
Create a location
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin condimentum felis in consectetur. Nullam at ornare libero. Duis a dolor posuere, tristique mi vel, pharetra ante. Etiam vel egestas eros. Nam scelerisque, lectus vel egestas blandit, eros tortor suscipit augue, ac ornare arcu odio vitae libero. Proin sed velit in erat aliquet aliquam a quis orci. Morbi ultrices malesuada purus vel dapibus. Nullam mattis, sapien id accumsan vehicula, mauris orci viverra leo, a lobortis sem dolor non dui. Maecenas eu erat a libero elementum efficitur eu sit amet magna. Phasellus tellus elit, blandit et tellus vitae, porttitor euismod mauris. Quisque sagittis nisl eget eros accumsan, ut tempor ipsum rhoncus. Suspendisse suscipit ex eu tincidunt gravida. Vivamus lobortis ornare vulputate. Mauris ultrices feugiat purus, ut pellentesque lacus.
POST /locations/
Example Response
HTTP/1.1 200 OK
Server: apache
Content-Type: application/json
Cache-Control: no-cache, private
Date: Mon, 24 Sep 2016 16:52:12 GMT
{
"status": 200,
"message": "Blah"
}
Retrieve a location
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin condimentum felis in consectetur. Nullam at ornare libero. Duis a dolor posuere, tristique mi vel, pharetra ante. Etiam vel egestas eros. Nam scelerisque, lectus vel egestas blandit, eros tortor suscipit augue, ac ornare arcu odio vitae libero. Proin sed velit in erat aliquet aliquam a quis orci. Morbi ultrices malesuada purus vel dapibus. Nullam mattis, sapien id accumsan vehicula, mauris orci viverra leo, a lobortis sem dolor non dui. Maecenas eu erat a libero elementum efficitur eu sit amet magna. Phasellus tellus elit, blandit et tellus vitae, porttitor euismod mauris. Quisque sagittis nisl eget eros accumsan, ut tempor ipsum rhoncus. Suspendisse suscipit ex eu tincidunt gravida. Vivamus lobortis ornare vulputate. Mauris ultrices feugiat purus, ut pellentesque lacus.
GET /locations/:uuid
Example Response
HTTP/1.1 200 OK
Server: apache
Content-Type: application/json
Cache-Control: no-cache, private
Date: Mon, 24 Sep 2016 16:52:12 GMT
{
"status": 200,
"message": "Blah"
}
Update a location
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin condimentum felis in consectetur. Nullam at ornare libero. Duis a dolor posuere, tristique mi vel, pharetra ante. Etiam vel egestas eros. Nam scelerisque, lectus vel egestas blandit, eros tortor suscipit augue, ac ornare arcu odio vitae libero. Proin sed velit in erat aliquet aliquam a quis orci. Morbi ultrices malesuada purus vel dapibus. Nullam mattis, sapien id accumsan vehicula, mauris orci viverra leo, a lobortis sem dolor non dui. Maecenas eu erat a libero elementum efficitur eu sit amet magna. Phasellus tellus elit, blandit et tellus vitae, porttitor euismod mauris. Quisque sagittis nisl eget eros accumsan, ut tempor ipsum rhoncus. Suspendisse suscipit ex eu tincidunt gravida. Vivamus lobortis ornare vulputate. Mauris ultrices feugiat purus, ut pellentesque lacus.
PUT /locations/:uuid
Example Response
HTTP/1.1 200 OK
Server: apache
Content-Type: application/json
Cache-Control: no-cache, private
Date: Mon, 24 Sep 2016 16:52:12 GMT
{
"status": 200,
"message": "Blah"
}
List locations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sollicitudin condimentum felis in consectetur. Nullam at ornare libero. Duis a dolor posuere, tristique mi vel, pharetra ante. Etiam vel egestas eros. Nam scelerisque, lectus vel egestas blandit, eros tortor suscipit augue, ac ornare arcu odio vitae libero. Proin sed velit in erat aliquet aliquam a quis orci. Morbi ultrices malesuada purus vel dapibus. Nullam mattis, sapien id accumsan vehicula, mauris orci viverra leo, a lobortis sem dolor non dui. Maecenas eu erat a libero elementum efficitur eu sit amet magna. Phasellus tellus elit, blandit et tellus vitae, porttitor euismod mauris. Quisque sagittis nisl eget eros accumsan, ut tempor ipsum rhoncus. Suspendisse suscipit ex eu tincidunt gravida. Vivamus lobortis ornare vulputate. Mauris ultrices feugiat purus, ut pellentesque lacus.
GET /locations
Example Response
HTTP/1.1 200 OK
Server: apache
Content-Type: application/json
Cache-Control: no-cache, private
Date: Mon, 24 Sep 2016 16:52:12 GMT
{
"status": 200,
"message": "Blah"
}