Get title metadata and scope-dependent user state
curl --request GET \
--url https://punchplay.tv/api/platform/v1/title/{type}/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://punchplay.tv/api/platform/v1/title/{type}/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://punchplay.tv/api/platform/v1/title/{type}/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://punchplay.tv/api/platform/v1/title/{type}/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://punchplay.tv/api/platform/v1/title/{type}/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://punchplay.tv/api/platform/v1/title/{type}/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://punchplay.tv/api/platform/v1/title/{type}/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"title": {
"tmdbId": 2,
"isAnime": true,
"name": "<string>",
"year": 123,
"overview": "<string>",
"posterUrl": "<string>",
"backdropUrl": "<string>",
"communityRating": 123,
"genres": [
"<string>"
],
"tagline": "<string>",
"releaseDate": "<string>",
"originalLanguage": "<string>",
"status": "<string>",
"ageRating": "<string>",
"runtimeMinutes": 123,
"episodeRunTimeMinutes": 123,
"seasonsCount": 123,
"episodesCount": 123,
"seasonStats": [
{}
],
"recommendations": [
{}
]
},
"interaction": {
"watchedAt": "2023-11-07T05:31:56Z",
"rating": 123,
"isFavourite": true,
"showStatus": "<string>"
},
"watchHistory": [
{}
],
"userLists": [
{
"id": 2,
"name": "<string>",
"description": "<string>",
"isPublic": true,
"isWatchlist": true,
"isDynamicList": true,
"lastSyncedAt": "2023-11-07T05:31:56Z",
"isCollaborative": true,
"isFeatured": true,
"ownerUsername": "<string>",
"itemCount": 1,
"itemBreakdown": {
"movies": 1,
"shows": 1,
"anime": 1
},
"createdAt": "2023-11-07T05:31:56Z",
"previewPosters": [
{
"posterPath": "<string>",
"tmdbId": 2
}
],
"containsItemId": 2
}
],
"collectionStatus": {
"owned": true,
"formats": [
"<string>"
],
"items": [
{
"id": 123,
"format": "<string>",
"season": 123
}
]
},
"featuredLists": [
{}
],
"communityRating": {
"average": 123,
"count": 1
},
"externalRatings": {
"ratings": [
{}
]
}
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"required_scope": "<string>"
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"required_scope": "<string>"
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"required_scope": "<string>"
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"required_scope": "<string>"
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"required_scope": "<string>"
}Titles
Get title metadata and scope-dependent user state
Private fields are returned only when the token also has ratings:read, history:read, lists:read, or collection:read.
GET
/
api
/
platform
/
v1
/
title
/
{type}
/
{id}
Get title metadata and scope-dependent user state
curl --request GET \
--url https://punchplay.tv/api/platform/v1/title/{type}/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://punchplay.tv/api/platform/v1/title/{type}/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://punchplay.tv/api/platform/v1/title/{type}/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://punchplay.tv/api/platform/v1/title/{type}/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://punchplay.tv/api/platform/v1/title/{type}/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://punchplay.tv/api/platform/v1/title/{type}/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://punchplay.tv/api/platform/v1/title/{type}/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"title": {
"tmdbId": 2,
"isAnime": true,
"name": "<string>",
"year": 123,
"overview": "<string>",
"posterUrl": "<string>",
"backdropUrl": "<string>",
"communityRating": 123,
"genres": [
"<string>"
],
"tagline": "<string>",
"releaseDate": "<string>",
"originalLanguage": "<string>",
"status": "<string>",
"ageRating": "<string>",
"runtimeMinutes": 123,
"episodeRunTimeMinutes": 123,
"seasonsCount": 123,
"episodesCount": 123,
"seasonStats": [
{}
],
"recommendations": [
{}
]
},
"interaction": {
"watchedAt": "2023-11-07T05:31:56Z",
"rating": 123,
"isFavourite": true,
"showStatus": "<string>"
},
"watchHistory": [
{}
],
"userLists": [
{
"id": 2,
"name": "<string>",
"description": "<string>",
"isPublic": true,
"isWatchlist": true,
"isDynamicList": true,
"lastSyncedAt": "2023-11-07T05:31:56Z",
"isCollaborative": true,
"isFeatured": true,
"ownerUsername": "<string>",
"itemCount": 1,
"itemBreakdown": {
"movies": 1,
"shows": 1,
"anime": 1
},
"createdAt": "2023-11-07T05:31:56Z",
"previewPosters": [
{
"posterPath": "<string>",
"tmdbId": 2
}
],
"containsItemId": 2
}
],
"collectionStatus": {
"owned": true,
"formats": [
"<string>"
],
"items": [
{
"id": 123,
"format": "<string>",
"season": 123
}
]
},
"featuredLists": [
{}
],
"communityRating": {
"average": 123,
"count": 1
},
"externalRatings": {
"ratings": [
{}
]
}
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"required_scope": "<string>"
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"required_scope": "<string>"
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"required_scope": "<string>"
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"required_scope": "<string>"
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"required_scope": "<string>"
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
Available options:
movie, show Required range:
x >= 1Query Parameters
Required string length:
2Available options:
title, series, season, episode Response
Title detail
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I