Tiny Visions API Documentation
About the API
The Tiny Visions API provides access to the Tiny Visions dataset of New Zealand music videos.
- This API is read-only
- Requires no authentication
- Follows the JSON:API v1.0 specification
Base URL
https://tinyvisions.nz/api/v1Resources
The API offers two primary resources.
Entities
- Provides descriptive metadata associated with an individual, group, or other body connected to the existence of a music video.
Videos
- Provides descriptive metadata associated with a music video.
Primary resources
/entities
/videosSingle object
{
"data": {
"type": "videos",
"id": "09ad4078-b1d0-4cc3-808e-e99ed715f877",
"attributes": {},
"links": {}
}
}
Collection object
{
"data": [
{
"type": "videos",
"id": "09ad4078-b1d0-4cc3-808e-e99ed715f877",
"attributes": {},
"links": {}
},
{
"type": "videos",
"id": "0eb2d603-2665-489f-b63e-52c3547cfa58",
"attributes": {},
"links": {}
}
],
"meta": {},
"links": {}
}
Parameters
Optional parameters are available for each resource and can be applied to single, collection, and filter requests. Including parameters with a request will return supplemental data for the resource.
Entities & Videos
credits,images,tags,albumsEntities
resourcesVideos
streams
Use a parameter
?include=streamsParameters response
{
"data": {
"type": "videos",
"id": "09ad4078-b1d0-4cc3-808e-e99ed715f877",
"relationships": {
"streams": {
"data": {
"type": "streams",
"id": "b223a404-a847-4036-ac8d-a23d57e350ba"
}
}
}
},
"included": [
{
"type": "streams",
"id": "b223a404-a847-4036-ac8d-a23d57e350ba",
"attributes": {
"sources": [
{
"source": "vimeo",
"sourceId": null,
"isPrimary": 0
},
{
"source": "youtube",
"sourceId": "CIZQHR6-Ngg",
"isPrimary": 1
}
]
}
}
]
}
Nested parameters
Additional parameter-specific data can be accessed using dot notation. This is currently suppported for the following parent parameters:
credits.images- Includes image data for each
creditsobject. albums.images- Includes image data for each
albumsobject.
Use a nested parameter
/entities?include=albums.imageFilters
Resources can be filtered by passing keywords with a terms parameter.
Filter a resource
/search/entities?terms={term}Pagination
Collections are returned with pagination and links metadata.
Pagination meta
{
"meta": {
"pagination": {
"total": 11,
"count": 5,
"per_page": 5,
"current_page": 2,
"total_pages": 3
}
}
}
Pagination links
{
"links": {
"self": "http://tinyvisions.nz/search/entities?page=2",
"first": "http://tinyvisions.nz/search/entities?page=1",
"prev": "http://tinyvisions.nz/search/entities?page=1",
"next": "http://tinyvisions.nz/search/entities?page=3",
"last": "http://tinyvisions.nz/search/entities?page=3"
}
}
Errors
Responses
Error responses try to provide some context. A typical error message will return:
- an HTTP
statuscode - a generic error
title - further
detailspecific to the error - the
parameterresponsible for the error - an application-specific error
code
Application error codes
TV001
- Generic error
TV002
- Bad ID format
TV003
- ID does not exist
TV004
- Invalid route
TV005
- Invalid search route
TV006
- Model does not exist
Request an invalid UUID
/videos/1b0bd0a9-b308-4a20-beff-39fGet an error response
{
"errors": [
{
"status": 404,
"title": "Not Found",
"detail": "The ID does not appear to be a valid UUID.",
"parameter": "1b0bd0a9-b308-4a20-beff-39f",
"code": "TV002"
}
]
}
Rate Limit
API requests are currently limited to 30 per minute.
License
You are free to share and adapt material for any purpose. To understand usage rights and terms, see the Creative Commons Attribution 4.0 International License: CC BY 4.0.
Copyright
We respect your intellectual property. Please contact us—seer@tinyvisions.nz—if you believe your work has been used in such a way as to infringe your copyright. Intellectual property rights holders are invited to make contact if, as owner, you believe proper attribution has not been made, to allow for correction or removal of your content.
Contact
Please email seer@tinyvisions.nz for support and general enquiries.