Download OpenAPI specification:Download
Base URL: https://dam.parenttv.com
Assets from the ParentTV DAM include videos, images and other documents.
To serve an asset's source file, see the stream link in <asset>._links.stream
.
Some asset types (video and image) have embed code attached (see <asset>.embed
).
Additional data about the asset includes:
Access to assets is mediated by your license key. This means you won't need to renew tokens, as your license key itself will be checked on each request. If your license key is expired or otherwise invalid, requests to the DAM will be rejected with HTTP Status Code 401 - Unauthorized.
If you need to renew or replace your license, please contact apiteam@parenttv.com
Assets are records containing all relevant data about an item of media (video, image, document, etc). An example of an asset might look like this:
{
"asset_type": "video",
"contributors": [{ ... }],
"description": "A long form, probably HTML, description of the asset",
"excerpts": { ... },
"groups": { ... },
"language": { ... },
"_meta": {
"duration": "25"
},
"name": "The name of the asset",
"ref": "A unique identifier for the asset",
"tags": { ... },
"topics": { ... },
"variants": { ... },
"embed": "A precoded iframe with the streaming src",
"_links": {
"self": "/assets/:licenseKey/:assetRef",
"stream": "/stream/:streamKey/:assetRef"
}
}
(see the example responses for more complete examples) The most common use of the asset record is to retrieve the stream link in order to present the asset to end users.
In the example above, you'll find those elements with { ... }
will have reference links (e.g. groups._links
) which
provide URLs to get related items (assets, contributors, groups, etc) which share the same categorisation. See
the response examples below for a more detailed demonstration.
Assets in this listing will include details about tags, groups and topics.
To access the file itself, see the stream link in data[n]._links.stream
. The stream links should be used the
same way you would use any file uri. So for images, for example, you would set the src
attribute of an img
tag to the value in data[n]._links.stream
.
Assets may be filtered using the query parameters provided. Note that these are cumulative filters, so that (for example)
the query string ?types[]=video&langs[]=en&tags[]=biting
will only match English language videos tagged "biting"
licenseKey required | string |
per_page | integer Default: 20 How many items to return |
page | integer Default: 1 Which page of items to return |
id | Array of strings Select only these assets. |
groups | Array of strings Include only assets which are in these groups. |
not_groups | Array of strings Exclude assets which are in these groups. |
langs | Array of strings Include only assets which have these language (ISO codes) |
not_langs | Array of strings Exclude assets which have these languages (ISO codes) |
tags | Array of strings Include only assets which have these tags. |
not_tags | Array of strings Exclude assets which have these tags. |
topics | Array of strings Include only assets which are in these topics. |
not_topics | Array of strings Exclude assets which are in these topics. |
types | Array of strings Filter by asset type |
{- "_metadata": {
- "page": 5,
- "per_page": 100,
- "page_count": 100,
- "total_count": 2500,
- "_links": {
- "self": "/assets/:licenseKey?per_page=100&page=5",
- "first": "/assets/:licenseKey?per_page=100&page=1",
- "prev": "/assets/:licenseKey?per_page=100&page=4",
- "next": "/assets/:licenseKey?per_page=100&page=6",
- "last": "/assets/:licenseKey?per_page=100&page=25"
}
}, - "data": [
- {
- "asset_type": "video",
- "contributors": [
- {
- "ref": "d0fad5d6-e996-4437-8fb9-5f40bbcfd7cc",
- "name": "Nathan Wallis",
- "headline": "Neuroscience & Child Development Educator",
- "bio": "Nathan Wallis is a popular neuroscience educator and parenting commentator who has a special gift for translating complex neuroscience into easy-to-understand info for parents, teachers, and anyone else who works with children. A regular guest and host on New Zealand TV and radio, Nathan has also worked as an early childhood teacher, university lecturer and childhood trauma expert, and acts as an Advisor to the NZ government’s Ministry for Education and Expert Advisor to the Ministry for Vulnerable Children.",
- "_links": {
- "self": "string",
- "assets": "string",
- "groups": "string",
- "tags": "string",
- "topics": "string",
- "languages": "string"
}
}
], - "description": "We now understand that outcomes for children are not just determined by their genes, but also by the environment they interact with in the first thousand days of their life. The experiences of this period help their brains work out what capabilities it will need.",
- "excerpts": {
- "thumbnail": {
- "ref": "030f0ee3-64ec-4b8a-a441-d56be8ffc685",
- "type": "image",
- "_links": {
- "asset": "/assets/:licenseKey/030f0ee3-64ec-4b8a-a441-d56be8ffc685",
- "stream": "/stream/:licenseKey/030f0ee3-64ec-4b8a-a441-d56be8ffc685"
}
}, - "introduction": {
- "ref": "a3e3418b-cece-44d6-9f13-c4123e51a56e",
- "type": "video",
- "_links": {
- "asset": "/assets/:licenseKey/a3e3418b-cece-44d6-9f13-c4123e51a56e",
- "stream": "/stream/:licenseKey/a3e3418b-cece-44d6-9f13-c4123e51a56e"
}
}
}, - "groups": {
- "children": {
- "ref": "children",
- "description": "Content for Children",
- "_links": {
- "self": "/groups/:licenseKey/children",
- "assets": "/assets/:licenseKey?groups[]=children",
- "contributors": "/contributors/:licenseKey?groups[]=children",
- "languages": "/languages/:licenseKey?groups[]=children",
- "tags": "/tags/:licenseKey?groups[]=tags",
- "topics": "/topics/:licenseKey?groups[]=topics"
}
}, - "parents": {
- "ref": "parents",
- "description": "Content for Parents",
- "_links": {
- "self": "/groups/:licenseKey/parents",
- "assets": "/assets/:licenseKey?groups[]=parents",
- "contributors": "/contributors/:licenseKey?groups[]=parents",
- "languages": "/languages/:licenseKey?groups[]=parents",
- "tags": "/tags/:licenseKey?groups[]=parents",
- "topics": "/topics/:licenseKey?groups[]=parents"
}
}, - "3-5-year-old": {
- "ref": "3-5-year-old",
- "description": "3-5 Year Old",
- "_links": {
- "self": "/groups/:licenseKey/3-5-year-old",
- "assets": "/assets/:licenseKey?groups[]=2-5-year-old",
- "contributors": "/contributors/:licenseKey?groups[]=2-5-year-old",
- "languages": "/languages/:licenseKey?groups[]=2-5-year-old",
- "tags": "/tags/:licenseKey?groups[]=2-5-year-old",
- "topics": "/topics/:licenseKey?groups[]=2-5-year-old"
}
}
}, - "language": {
- "ref": "string",
- "description": "string",
- "_links": {
- "ref": "en",
- "description": "English",
- "_links": {
- "self": "/languages/:licenseKey/en",
- "assets": "/assets/:licenseKey?langs=en",
- "contributors": "/contributors/:licenseKey?langs=en",
- "groups": "/groups/:licenseKey?langs=en",
- "topics": "/topics/:licenseKey?groups=children",
- "tags": "/tags/:licenseKey?groups=children"
}
}
}, - "_meta": {
- "aspect_ratio": 969,
- "duration": 182.122667,
- "max_resolution": "HD"
}, - "name": "Why the first 1000 days of a child's life are so important",
- "ref": "d0fad5d6-e996-4437-8fb9-5f40bbcfd7cc",
- "tags": {
- "biting": {
- "ref": "biting",
- "description": "Biting",
- "_links": {
- "self": "/tags/:licenseKey/biting",
- "assets": "/assets/:licenseKey?tags[]=biting",
- "contributors": "/contributors/:licenseKey?tags[]=biting",
- "groups": "/groups/:licenseKey?tags[]=biting",
- "languages": "/languages/:licenseKey?tags[]=biting",
- "topics": "/topics/:licenseKey?tags[]=biting"
}
}
}, - "topics": {
- "biting": {
- "ref": "technology",
- "description": "technology",
- "_links": {
- "self": "/topics/:licenseKey/technology",
- "assets": "/assets/:licenseKey?topics[]=technology",
- "contributors": "/contributors/:licenseKey?topics[]=technology",
- "groups": "/groups/:licenseKey?topics[]=technology",
- "languages": "/languages/:licenseKey?topics[]=technology",
- "topics": "/tags/:licenseKey?topics[]=technology"
}
}
}, - "variants": {
- "es": {
- "ref": "a29a8b4a-472f-4ea3-9400-7766632a1114",
- "lang": "es",
- "_links": {
- "self": "/assets/:licenseKey/a29a8b4a-472f-4ea3-9400-7766632a1114",
- "stream": "/stream/:licenseKey/a29a8b4a-472f-4ea3-9400-7766632a1114"
}
}, - "zh-cn": {
- "ref": "a29a8b4a-472f-4ea3-9400-7766632a1113",
- "lang": "en",
- "_links": {
- "self": "/assets/:licenseKey/a29a8b4a-472f-4ea3-9400-7766632a1113",
- "stream": "/stream/:licenseKey/a29a8b4a-472f-4ea3-9400-7766632a1113"
}
}
}, - "embed": "<iframe src=\"https://player.parenttv.com/:licenseKey/19170bda-008e-11ec-a2e0-0242ac170002\" width=\"1920\" height=\"1080\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen title=\"`What exercises can I do?\"/>",
- "_links": {
- "self": "/assets/:licenseKey/19170bda-008e-11ec-a2e0-0242ac170002",
- "stream": "/stream/:licenseKey/19170bda-008e-11ec-a2e0-0242ac170002"
}
}
]
}
Asset data includes details about tags, groups and topics.
To access the file itself, see the stream link in _links.stream
. The stream links should be used the
same way you would use any file uri. So for images, for example, you would set the src
attribute of an img
tag to the value in _links.stream
.
licenseKey required | string |
ref required | string |
{- "asset_type": "video",
- "contributors": [
- {
- "ref": "d0fad5d6-e996-4437-8fb9-5f40bbcfd7cc",
- "name": "Nathan Wallis",
- "headline": "Neuroscience & Child Development Educator",
- "bio": "Nathan Wallis is a popular neuroscience educator and parenting commentator who has a special gift for translating complex neuroscience into easy-to-understand info for parents, teachers, and anyone else who works with children. A regular guest and host on New Zealand TV and radio, Nathan has also worked as an early childhood teacher, university lecturer and childhood trauma expert, and acts as an Advisor to the NZ government’s Ministry for Education and Expert Advisor to the Ministry for Vulnerable Children.",
- "_links": {
- "self": "string",
- "assets": "string",
- "groups": "string",
- "tags": "string",
- "topics": "string",
- "languages": "string"
}
}
], - "description": "We now understand that outcomes for children are not just determined by their genes, but also by the environment they interact with in the first thousand days of their life. The experiences of this period help their brains work out what capabilities it will need.",
- "excerpts": {
- "thumbnail": {
- "ref": "030f0ee3-64ec-4b8a-a441-d56be8ffc685",
- "type": "image",
- "_links": {
- "asset": "/assets/:licenseKey/030f0ee3-64ec-4b8a-a441-d56be8ffc685",
- "stream": "/stream/:licenseKey/030f0ee3-64ec-4b8a-a441-d56be8ffc685"
}
}, - "introduction": {
- "ref": "a3e3418b-cece-44d6-9f13-c4123e51a56e",
- "type": "video",
- "_links": {
- "asset": "/assets/:licenseKey/a3e3418b-cece-44d6-9f13-c4123e51a56e",
- "stream": "/stream/:licenseKey/a3e3418b-cece-44d6-9f13-c4123e51a56e"
}
}
}, - "groups": {
- "children": {
- "ref": "children",
- "description": "Content for Children",
- "_links": {
- "self": "/groups/:licenseKey/children",
- "assets": "/assets/:licenseKey?groups[]=children",
- "contributors": "/contributors/:licenseKey?groups[]=children",
- "languages": "/languages/:licenseKey?groups[]=children",
- "tags": "/tags/:licenseKey?groups[]=tags",
- "topics": "/topics/:licenseKey?groups[]=topics"
}
}, - "parents": {
- "ref": "parents",
- "description": "Content for Parents",
- "_links": {
- "self": "/groups/:licenseKey/parents",
- "assets": "/assets/:licenseKey?groups[]=parents",
- "contributors": "/contributors/:licenseKey?groups[]=parents",
- "languages": "/languages/:licenseKey?groups[]=parents",
- "tags": "/tags/:licenseKey?groups[]=parents",
- "topics": "/topics/:licenseKey?groups[]=parents"
}
}, - "3-5-year-old": {
- "ref": "3-5-year-old",
- "description": "3-5 Year Old",
- "_links": {
- "self": "/groups/:licenseKey/3-5-year-old",
- "assets": "/assets/:licenseKey?groups[]=2-5-year-old",
- "contributors": "/contributors/:licenseKey?groups[]=2-5-year-old",
- "languages": "/languages/:licenseKey?groups[]=2-5-year-old",
- "tags": "/tags/:licenseKey?groups[]=2-5-year-old",
- "topics": "/topics/:licenseKey?groups[]=2-5-year-old"
}
}
}, - "language": {
- "ref": "string",
- "description": "string",
- "_links": {
- "ref": "en",
- "description": "English",
- "_links": {
- "self": "/languages/:licenseKey/en",
- "assets": "/assets/:licenseKey?langs=en",
- "contributors": "/contributors/:licenseKey?langs=en",
- "groups": "/groups/:licenseKey?langs=en",
- "topics": "/topics/:licenseKey?groups=children",
- "tags": "/tags/:licenseKey?groups=children"
}
}
}, - "_meta": {
- "aspect_ratio": 969,
- "duration": 182.122667,
- "max_resolution": "HD"
}, - "name": "Why the first 1000 days of a child's life are so important",
- "ref": "d0fad5d6-e996-4437-8fb9-5f40bbcfd7cc",
- "tags": {
- "biting": {
- "ref": "biting",
- "description": "Biting",
- "_links": {
- "self": "/tags/:licenseKey/biting",
- "assets": "/assets/:licenseKey?tags[]=biting",
- "contributors": "/contributors/:licenseKey?tags[]=biting",
- "groups": "/groups/:licenseKey?tags[]=biting",
- "languages": "/languages/:licenseKey?tags[]=biting",
- "topics": "/topics/:licenseKey?tags[]=biting"
}
}
}, - "topics": {
- "biting": {
- "ref": "technology",
- "description": "technology",
- "_links": {
- "self": "/topics/:licenseKey/technology",
- "assets": "/assets/:licenseKey?topics[]=technology",
- "contributors": "/contributors/:licenseKey?topics[]=technology",
- "groups": "/groups/:licenseKey?topics[]=technology",
- "languages": "/languages/:licenseKey?topics[]=technology",
- "topics": "/tags/:licenseKey?topics[]=technology"
}
}
}, - "variants": {
- "es": {
- "ref": "a29a8b4a-472f-4ea3-9400-7766632a1114",
- "lang": "es",
- "_links": {
- "self": "/assets/:licenseKey/a29a8b4a-472f-4ea3-9400-7766632a1114",
- "stream": "/stream/:licenseKey/a29a8b4a-472f-4ea3-9400-7766632a1114"
}
}, - "zh-cn": {
- "ref": "a29a8b4a-472f-4ea3-9400-7766632a1113",
- "lang": "en",
- "_links": {
- "self": "/assets/:licenseKey/a29a8b4a-472f-4ea3-9400-7766632a1113",
- "stream": "/stream/:licenseKey/a29a8b4a-472f-4ea3-9400-7766632a1113"
}
}
}, - "embed": "<iframe src=\"https://player.parenttv.com/:licenseKey/19170bda-008e-11ec-a2e0-0242ac170002\" width=\"1920\" height=\"1080\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen title=\"`What exercises can I do?\"/>",
- "_links": {
- "self": "/assets/:licenseKey/19170bda-008e-11ec-a2e0-0242ac170002",
- "stream": "/stream/:licenseKey/19170bda-008e-11ec-a2e0-0242ac170002"
}
}
Groups are a categorisation of assets and include definitions of the packages available for licensing.
The standard group definition looks like this:
{
"ref": "childcare",
"description": "childcare",
"count": 678,
"_links": {
"assets": "https://dam.parenttv.com/assets/:licenseKey?groups=childcare",
"contributors": "https://dam.parenttv.com/contributors/:licenseKey?groups=childcare",
"languages": "https://dam.parenttv.com/languages/:licenseKey?groups=childcare",
"self": "https://dam.parenttv.com/groups/:licenseKey/childcare",
"tags": "https://dam.parenttv.com/tags/:licenseKey?groups=childcare",
"topics": "https://dam.parenttv.com/topics/:licenseKey?groups=childcare"
}
}
Where you'll be able to see the number of assets within that group, and a set of reference links for other items which include assets in it.
licenseKey required | string |
per_page | integer Default: 20 How many items to return |
page | integer Default: 1 Which page of items to return |
id | Array of strings Select only these groups. |
langs | Array of strings Include only groups which have assets with these language (ISO codes) |
not_langs | Array of strings Exclude groups which have assets with these languages (ISO codes) |
tags | Array of strings Include only groups with assets which have these tags. |
not_tags | Array of strings Exclude groups with assets which have these tags. |
topics | Array of strings Include only groups with assets which are in these topics. |
not_topics | Array of strings Exclude groups with assets which are in these topics. |
{- "_metadata": {
- "page": 1,
- "per_page": 100,
- "page_count": 10,
- "total_count": 10,
- "_links": {
- "self": "/groups/:licenseKey?per_page=100&page=1",
- "first": "/groups/:licenseKey?per_page=100&page=1",
- "last": "/groups/:licenseKey?per_page=100&page=1"
}
}, - "data": [
- {
- "ref": "parent",
- "description": "Content For Parents",
- "count": 1500,
- "_links": {
- "self": "/groups/:licenseKey/parent",
- "assets": "/assets/:licenseKey?groups[]=parent",
- "contributors": "/contributors/:licenseKey?groups[]=parent",
- "languages": "/languages/:licenseKey?groups[]=parent",
- "topics": "/topics/:licenseKey?groups[]=parent",
- "tags": "/tags/:licenseKey?groups[]=parent"
}
}, - {
- "ref": "children",
- "description": "Content For Children",
- "count": 1500,
- "_links": {
- "self": "/groups/:licenseKey/children",
- "assets": "/assets/:licenseKey?groups[]=children",
- "contributors": "/contributors/:licenseKey?groups[]=children",
- "languages": "/languages/:licenseKey?groups[]=children",
- "topics": "/topics/:licenseKey?groups[]=children",
- "tags": "/tags/:licenseKey?groups[]=children"
}
}, - {
- "ref": "courses",
- "description": "Course Modules",
- "count": 1500,
- "_links": {
- "self": "/groups/:licenseKey/courses",
- "assets": "/assets/:licenseKey?groups[]=courses",
- "contributors": "/contributors/:licenseKey?groups[]=courses",
- "languages": "/languages/:licenseKey?groups[]=courses",
- "topics": "/topics/:licenseKey?groups[]=courses",
- "tags": "/tags/:licenseKey?groups[]=courses"
}
}
]
}
{- "ref": "string",
- "description": "string",
- "count": 0,
- "_links": {
- "ref": "en",
- "description": "English",
- "count": 2500,
- "_links": {
- "self": "/languages/:licenseKey/en",
- "assets": "/assets/:licenseKey?langs=en",
- "contributors": "/contributors/:licenseKey?langs=en",
- "groups": "/groups/:licenseKey?langs=en",
- "topics": "/topics/:licenseKey?groups=children",
- "tags": "/tags/:licenseKey?groups=children"
}
}
}
Topics are a more specific categorisation of assets and describe the general idea behind an asset.
The standard topic definition looks like this:
{
"ref": "development",
"description": "Development",
"count": 20,
"_links": {
"assets": "https://dam.parenttv.com/assets/:licenseKey?topics=development",
"contributors": "https://dam.parenttv.com/contributors/:licenseKey?topics=development",
"languages": "https://dam.parenttv.com/languages/:licenseKey?topics=development",
"self": "https://dam.parenttv.com/topics/:licenseKey/development",
"tags": "https://dam.parenttv.com/tags/:licenseKey?topics=development",
"groups": "https://dam.parenttv.com/topics/:licenseKey?topics=development"
}
}
Where you'll be able to see the number of assets within that topic, and a set of reference links for other items which include assets in it.
licenseKey required | string |
per_page | integer Default: 20 How many items to return |
page | integer Default: 1 Which page of items to return |
id | Array of strings Select only these topics. |
groups | Array of strings Include only topics with assets which are in these groups. |
not_groups | Array of strings Exclude topics with assets which are in these groups. |
langs | Array of strings Include only topics which have assets with these language (ISO codes) |
not_langs | Array of strings Exclude topics which have assets with these languages (ISO codes) |
tags | Array of strings Include only topics with assets which have these tags. |
not_tags | Array of strings Exclude topics with assets which have these tags. |
{- "_metadata": {
- "page": 1,
- "per_page": 100,
- "page_count": 100,
- "total_count": 6000,
- "_links": {
- "self": "/tags/:licenseKey?per_page=100&page=1",
- "first": "/tags/:licenseKey?per_page=100&page=1",
- "next": "/tags/:licenseKey?per_page=100&page=2",
- "last": "/tags/:licenseKey?per_page=100&page=3"
}
}, - "data": [
- {
- "ref": "technology",
- "description": "Technology",
- "count": 1500,
- "_links": {
- "self": "/tags/:licenseKey/technology",
- "assets": "/assets/:licenseKey?tags[]=technology",
- "contributors": "/contributors/:licenseKey?tags[]=technology",
- "languages": "/languages/:licenseKey?tags[]=technology",
- "groups": "/groups/:licenseKey?tags[]=technology",
- "topics": "/topics/:licenseKey?tags[]=technology"
}
}, - {
- "ref": "biting",
- "description": "Biting",
- "count": 1500,
- "_links": {
- "self": "/tags/:licenseKey/biting",
- "assets": "/assets/:licenseKey?tags[]=biting",
- "contributors": "/contributors/:licenseKey?tags[]=biting",
- "languages": "/languages/:licenseKey?tags[]=biting",
- "groups": "/groups/:licenseKey?tags[]=biting",
- "topics": "/topics/:licenseKey?tags[]=biting"
}
}, - {
- "ref": "behaviour",
- "description": "Behaviour",
- "count": 1500,
- "_links": {
- "self": "/tags/:licenseKey/behaviour",
- "assets": "/assets/:licenseKey?tags[]=behaviour",
- "contributors": "/contributors/:licenseKey?tags[]=behaviour",
- "languages": "/languages/:licenseKey?tags[]=behaviour",
- "groups": "/groups/:licenseKey?tags[]=behaviour",
- "topics": "/topics/:licenseKey?tags[]=behaviour"
}
}
]
}
{- "ref": "string",
- "description": "string",
- "count": 0,
- "_links": {
- "ref": "en",
- "description": "English",
- "count": 2500,
- "_links": {
- "self": "/languages/:licenseKey/en",
- "assets": "/assets/:licenseKey?langs=en",
- "contributors": "/contributors/:licenseKey?langs=en",
- "groups": "/groups/:licenseKey?langs=en",
- "topics": "/topics/:licenseKey?groups=children",
- "tags": "/tags/:licenseKey?groups=children"
}
}
}