The Cacophony Project API can be used to upload recorded by various devices (i.e. Cacophonometers and Cacophononators) and retrieve them later. Both sound and video recordings are supported. The API uses a REST style.
The API supports two types of clients: users and devices. User accounts are used for human facing applications, while device accounts are used by unattended devices which interact with the API.
Users are members of one or more groups. A device is always owned by exactly one group. The current support for groups is limited but will be expanded in future versions of the API.
The API uses JSON Web Tokens (JWT) for authentication. A valid JWT must be
provided in the Authorization
header to most requests to the API. To obtain a
token, the /authenticate_user or
/authenticate_device APIs must be
used. When these requests are successful they each return a JWT.
New user accounts can be created using the /api/v1/users API. New device accounts can be created using the /api/v1/devices API.
These APIs do not require authentication, allowing users and devices to self-register.
Problems using the API, errors in the documentation and suggestions for improvement can be made by either filing an issue on the Github project or by using the project mailing list.