Integrations
Generated integrations operations.
GET/v1/integrations/app-passwordsList named integration app passwordssession
- Audience
- Integrations · Native API
- Authorization
- Session only; API keys and personal access tokens are refused
- OpenAPI operation ID
list_integration_app_passwords
Parameters
| Name | In | Type | Description |
|---|---|---|---|
cursor | query | string |
Responses
200Successapplication/json
{
"items": [
{
"accountId": "id_8h2k4q",
"id": "id_8h2k4q",
"name": "Fargo",
"profileId": "id_8h2k4q",
"scopes": [
"string"
],
"state": "string",
"username": "Fargo"
}
],
"nextCursor": "eyJvIjoyMH0"
}itemsarray of objectrequired
- accountIdstringrequired
- idstringrequired
- namestringrequired
- profileIdstringrequired
- scopesarray of stringrequired
- statestringrequired
- usernamestringrequired
- nextCursorstring
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestnot_foundcredential_limitinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/integrations/app-passwords" \
-H "Authorization: Bearer $PORTICO_ACCESS_TOKEN"POST/v1/integrations/app-passwordsCreate an integration app password for one account and profilesession
- Audience
- Integrations · Native API
- Authorization
- Session only; API keys and personal access tokens are refused
- OpenAPI operation ID
create_integration_app_password- Max body
- 4 KiB
Request body application/json · required
{
"accountId": "id_8h2k4q",
"expiresAt": "2026-10-18T19:30:00Z",
"name": "Fargo",
"operationId": "id_8h2k4q",
"profileId": "id_8h2k4q",
"scopes": [
"string"
]
}- accountIdstringrequired
- expiresAtstring
- namestringrequired
- operationIdstringrequired
- profileIdstringrequired
- scopesarray of stringrequired
Responses
201Successapplication/json
{
"appPassword": {
"accountId": "id_8h2k4q",
"id": "id_8h2k4q",
"name": "Fargo",
"profileId": "id_8h2k4q",
"scopes": [
"string"
],
"state": "string",
"username": "Fargo"
},
"secret": "string"
}appPasswordobjectrequired
- accountIdstringrequired
- idstringrequired
- namestringrequired
- profileIdstringrequired
- scopesarray of stringrequired
- statestringrequired
- usernamestringrequired
- secretstring
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestnot_foundcredential_limitinternaldatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/integrations/app-passwords" \
-H "Authorization: Bearer $PORTICO_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"accountId":"id_8h2k4q","expiresAt":"2026-10-18T19:30:00Z","name":"Fargo","operationId":"id_8h2k4q","profileId":"id_8h2k4q","scopes":["string"]}'DELETE/v1/integrations/app-passwords/{id}Revoke an app password and every token issued from itsession
- Audience
- Integrations · Native API
- Authorization
- Session only; API keys and personal access tokens are refused
- OpenAPI operation ID
revoke_integration_app_password
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"accountId": "id_8h2k4q",
"id": "id_8h2k4q",
"name": "Fargo",
"profileId": "id_8h2k4q",
"scopes": [
"string"
],
"state": "string",
"username": "Fargo"
}- accountIdstringrequired
- idstringrequired
- namestringrequired
- profileIdstringrequired
- scopesarray of stringrequired
- statestringrequired
- usernamestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestnot_foundcredential_limitinternaldatabase_busywriter_capacity
Example request
curl -X DELETE "http://127.0.0.1:32500/v1/integrations/app-passwords/{id}" \
-H "Authorization: Bearer $PORTICO_ACCESS_TOKEN"GET/v1/integrations/app-passwords/{id}/secretReveal this credential to the signed-in ownersession
- Audience
- Integrations · Native API
- Authorization
- Session only; API keys and personal access tokens are refused
- OpenAPI operation ID
reveal_integration_app_password
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"id": "id_8h2k4q",
"secret": "string"
}- idstringrequired
- secretstringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestnot_foundcredential_limitinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/integrations/app-passwords/{id}/secret" \
-H "Authorization: Bearer $PORTICO_ACCESS_TOKEN"POST/v1/integrations/authenticateExchange a dedicated app password for a scoped integration tokensession
- Audience
- Integrations · Native API
- Authorization
- No credential needed
- OpenAPI operation ID
exchange_integration_app_password- Max body
- 4 KiB
Request body application/json · required
{
"name": "Fargo",
"password": "string",
"username": "Fargo"
}- namestringrequired
- passwordstringrequired
- usernamestringrequired
Responses
201Successapplication/json
{
"accountId": "id_8h2k4q",
"token": "string",
"userId": "id_8h2k4q",
"username": "Fargo"
}- accountIdstringrequired
- tokenstringrequired
- userIdstringrequired
- usernamestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestnot_foundcredential_limitinternaldatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/integrations/authenticate" \
-H "Content-Type: application/json" \
-d '{"name":"Fargo","password":"string","username":"Fargo"}'GET/v1/integrations/compatibilityRead integration compatibility capabilitiesadmin
- Audience
- Integrations · Native API
- Authorization
- API key or personal access token with the admin scope, or a signed-in session
- OpenAPI operation ID
get_integration_compatibility
Responses
200Successapplication/json
{
"enabled": true,
"players": true,
"profiles": [
"string"
]
}- enabledbooleanrequired
- playersbooleanrequired
- profilesarray of stringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestnot_foundcredential_limitinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/integrations/compatibility" \
-H "Authorization: Bearer $PORTICO_API_KEY"GET/v1/integrations/itemsRead bounded native catalog facts with exact visible totalsread
- Audience
- Integrations · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
integration_items
Parameters
| Name | In | Type | Description |
|---|---|---|---|
ids | query | string | |
libraryId | query | string | |
libraryKind | query | string | |
kind | query | string | |
parentId | query | string | |
provider | query | string | |
providerId | query | string | |
year | query | string | |
search | query | string | |
sort | query | string | |
order | query | string | |
addedAfter | query | string | |
addedBefore | query | string | |
includeFiles | query | string | |
hasPaths | query | string | |
cursor | query | string | |
limit | query | integer | ""1–100 |
Responses
200Successapplication/json
{
"items": [
{
"addedAt": "2026-10-18T19:30:00Z",
"available": true,
"durationSeconds": 0,
"episode": {
"airDate": "string",
"localIdentityStatus": "string",
"number": 0,
"numbering": "string",
"orderingBasis": "string",
"providerMatchStatus": "string",
"seasonId": "id_8h2k4q",
"seasonNumber": 0,
"showId": "id_8h2k4q",
"showTitle": "Fargo",
"sourceBoundary": "string"
},
"height": 0,
"id": "id_8h2k4q",
"kind": "string",
"libraryId": "id_8h2k4q",
"mediaSources": [
{
"audioCodec": "string",
"available": true,
"bitRate": 0,
"container": "string",
"durationSeconds": 0,
"edition": "string",
"id": "id_8h2k4q",
"partIndex": 0,
"path": "string",
"size": 0,
"video": {}
}
],
"mediaSourcesNextCursor": "eyJvIjoyMH0",
"paths": [
"string"
],
"providerIds": {
"key": "string"
},
"season": {
"number": 0,
"showId": "id_8h2k4q"
},
"title": "Fargo",
"width": 0,
"year": 0
}
],
"nextCursor": "eyJvIjoyMH0",
"total": 0
}itemsarray of objectrequired
- addedAtstring
- availablebooleanrequired
- durationSecondsnumber
episodeobject
- airDatestring
- localIdentityStatusstringrequired
- numberintegerrequired
- numberingstringrequired
- orderingBasisstringrequired
- providerMatchStatusstringrequired
- seasonIdstring
- seasonNumberinteger
- showIdstringrequired
- showTitlestringrequired
- sourceBoundarystringrequired
- heightinteger
- idstringrequired
- kindstringrequired
- libraryIdstringrequired
mediaSourcesarray of objectrequired
- audioCodecstring
- availablebooleanrequired
- bitRateinteger
- containerstringrequired
- durationSecondsnumberrequired
- editionstring
- idstringrequired
- partIndexintegerrequired
- pathstring
- sizeintegerrequired
videoobject
- bitDepthinteger
- bitRateinteger
- codecstringrequired
- dynamicRangestring
- frameRatenumber
- hdr10Plusboolean
- heightintegerrequired
- widthintegerrequired
- mediaSourcesNextCursorstring
- pathsarray of stringrequired
- providerIdsobjectrequired
seasonobject
- numberintegerrequired
- showIdstringrequired
- titlestringrequired
- widthinteger
- yearinteger
- nextCursorstring
- totalintegerrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestinvalid_cursorcursor_expiredstale_continuationnot_foundinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/integrations/items" \
-H "Authorization: Bearer $PORTICO_API_KEY"GET/v1/integrations/items/{id}/media-infoRead paged stored media facts without delivery negotiationread
- Audience
- Integrations · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
integration_media_info
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | |
cursor | query | string | |
limit | query | integer | ""1–100 |
Responses
200Successapplication/json
{
"mediaSources": [
{
"audioCodec": "string",
"available": true,
"bitRate": 0,
"container": "string",
"durationSeconds": 0,
"edition": "string",
"id": "id_8h2k4q",
"partIndex": 0,
"path": "string",
"size": 0,
"video": {
"bitDepth": 0,
"bitRate": 0,
"codec": "string",
"dynamicRange": "string",
"frameRate": 0,
"hdr10Plus": true,
"height": 0,
"width": 0
}
}
],
"nextCursor": "eyJvIjoyMH0",
"total": 0
}mediaSourcesarray of objectrequired
- audioCodecstring
- availablebooleanrequired
- bitRateinteger
- containerstringrequired
- durationSecondsnumberrequired
- editionstring
- idstringrequired
- partIndexintegerrequired
- pathstring
- sizeintegerrequired
videoobject
- bitDepthinteger
- bitRateinteger
- codecstringrequired
- dynamicRangestring
- frameRatenumber
- hdr10Plusboolean
- heightintegerrequired
- widthintegerrequired
- nextCursorstring
- totalintegerrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestinvalid_cursorcursor_expiredstale_continuationnot_foundinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/integrations/items/{id}/media-info" \
-H "Authorization: Bearer $PORTICO_API_KEY"POST/v1/integrations/items/{id}/subtitles/refreshReread exact subtitle sidecars using stored media evidencelibrary
- Audience
- Integrations · Native API
- Authorization
- API key or personal access token with the library scope, or a signed-in session
- OpenAPI operation ID
validate_integration_subtitles- Max body
- 4 KiB
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{}object
Responses
200Successapplication/json
{
"sources": 0
}- sourcesintegerrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittednot_foundinvalid_requestinternalsubtitle_unavailablesubtitle_not_foundsubtitle_renderer_platform_unsupportedsubtitle_renderer_configurationsubtitle_conflictsubtitle_operation_conflictsubtitle_capacitysubtitle_unsupportedsubtitle_invalid_inputsubtitle_provider_not_configuredsubtitle_provider_key_rejectedsubtitle_provider_sign_in_failedsubtitle_provider_sign_in_requiredsubtitle_provider_quotasubtitle_provider_busydatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/integrations/items/{id}/subtitles/refresh" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'GET/v1/integrations/keysRead keys within the caller's integration grantread
- Audience
- Integrations · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
list_integration_keys
Responses
200Successapplication/json
{
"items": [
{
"id": "id_8h2k4q",
"name": "Fargo",
"secret": "string"
}
]
}itemsarray of objectrequired
- idstringrequired
- namestringrequired
- secretstringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestnot_foundcredential_limitinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/integrations/keys" \
-H "Authorization: Bearer $PORTICO_API_KEY"POST/v1/integrations/keysCreate a key within this app password grantread
- Audience
- Integrations · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
mint_integration_key- Max body
- 4 KiB
Request body application/json · required
{
"name": "Fargo"
}- namestringrequired
Responses
201Successapplication/json
{
"credential": {
"createdAt": "2026-10-18T19:30:00Z",
"endedReason": "string",
"expiresAt": "2026-10-18T19:30:00Z",
"hint": "string",
"id": "id_8h2k4q",
"kind": "string",
"lastUsedAt": "2026-10-18T19:30:00Z",
"member": {
"accountId": "id_8h2k4q",
"profile": "string",
"profileId": "id_8h2k4q",
"username": "Fargo"
},
"name": "Fargo",
"scopes": [
"string"
],
"state": "string"
},
"secret": "string"
}credentialobjectrequired
- createdAtstringrequired
- endedReasonstring
- expiresAtstring
- hintstringrequired
- idstringrequired
- kindstringrequired
- lastUsedAtstring
memberobjectrequired
- accountIdstringrequired
- profilestringrequired
- profileIdstringrequired
- usernamestringrequired
- namestringrequired
- scopesarray of stringrequired
- statestringrequired
- secretstring
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestnot_foundcredential_limitinternaldatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/integrations/keys" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Fargo"}'GET/v1/integrations/librariesRead authorized native libraries and owner-authorized source pathsread
- Audience
- Integrations · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
integration_libraries
Parameters
| Name | In | Type | Description |
|---|---|---|---|
cursor | query | string | |
limit | query | integer | ""1–100 |
Responses
200Successapplication/json
{
"items": [
{
"id": "id_8h2k4q",
"kind": "string",
"name": "Fargo",
"paths": [
"string"
]
}
],
"nextCursor": "eyJvIjoyMH0"
}itemsarray of objectrequired
- idstringrequired
- kindstringrequired
- namestringrequired
- pathsarray of stringrequired
- nextCursorstring
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestinvalid_cursorcursor_expiredstale_continuationnot_foundinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/integrations/libraries" \
-H "Authorization: Bearer $PORTICO_API_KEY"POST/v1/integrations/refreshQueue a refresh of one library, or of every enabled librarylibrary
- Audience
- Integrations · Native API
- Authorization
- API key or personal access token with the library scope, or a signed-in session
- OpenAPI operation ID
refresh_integrations- Max body
- 1 MiB
Request body application/json
{
"libraryId": "id_8h2k4q"
}- libraryIdstring
Responses
202Successapplication/json
{
"deferred": true,
"jobs": [
{
"analyzed": 0,
"error": "string",
"id": "id_8h2k4q",
"jobs": [
"string"
],
"phase": "string",
"processed": 0,
"scanMode": "string",
"sourceId": "id_8h2k4q",
"status": "string",
"warnings": 0
}
],
"paths": [
{
"folder": "string",
"libraryId": "id_8h2k4q",
"path": "string",
"scanScope": "string",
"sourceId": "id_8h2k4q",
"status": "string"
}
]
}- deferredboolean
jobsarray of objectrequired
- analyzedintegerrequired
- errorstring
- idstringrequired
- jobsarray of string
- phasestring
- processedintegerrequired
- scanModestring
- sourceIdstring
- statusstringrequired
- warningsintegerrequired
pathsarray of objectrequired
- folderstring
- libraryIdstring
- pathstringrequired
- scanScopestring
- sourceIdstring
- statusstringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestbody_too_largenot_foundadministration_unavailableinternaldatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/integrations/refresh" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"libraryId":"id_8h2k4q"}'GET/v1/integrations/sessionsRead native dashboard sessions or own-account controlsread
- Audience
- Integrations · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
integration_sessions
Parameters
| Name | In | Type | Description |
|---|---|---|---|
cursor | query | string | |
limit | query | integer | ""1–100 |
Responses
200Successapplication/json
{
"items": [
{
"actions": [
"string"
],
"app": "string",
"device": {
"id": "id_8h2k4q",
"name": "Fargo"
},
"durationMs": 1800000,
"id": "id_8h2k4q",
"item": {
"episode": {
"airDate": "string",
"localIdentityStatus": "string",
"number": 0,
"numbering": "string",
"orderingBasis": "string",
"providerMatchStatus": "string",
"seasonId": "id_8h2k4q",
"seasonNumber": 0,
"showId": "id_8h2k4q",
"showTitle": "Fargo",
"sourceBoundary": "string"
},
"id": "id_8h2k4q",
"kind": "string",
"title": "Fargo"
},
"kind": "string",
"location": "string",
"platform": "string",
"positionMs": 1800000,
"profile": {
"id": "id_8h2k4q",
"name": "Fargo"
},
"revision": "r12",
"startedAt": "2026-10-18T19:30:00Z",
"state": "string",
"user": {
"id": "id_8h2k4q",
"name": "Fargo"
}
}
],
"nextCursor": "eyJvIjoyMH0"
}itemsarray of objectrequired
- actionsarray of stringrequired
- appstring
deviceobjectrequired
- idstringrequired
- namestringrequired
- durationMsinteger
- idstringrequired
itemobject
episodeobject
- airDatestring
- localIdentityStatusstringrequired
- numberintegerrequired
- numberingstringrequired
- orderingBasisstringrequired
- providerMatchStatusstringrequired
- seasonIdstring
- seasonNumberinteger
- showIdstringrequired
- showTitlestringrequired
- sourceBoundarystringrequired
- idstringrequired
- kindstring
- titlestringrequired
- kindstringrequired
- locationstring
- platformstring
- positionMsintegerrequired
profileobject
- idstringrequired
- namestringrequired
- revisionstring
- startedAtstring
- statestringrequired
userobject
- idstringrequired
- namestringrequired
- nextCursorstring
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestinvalid_cursorcursor_expiredstale_continuationnot_foundinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/integrations/sessions" \
-H "Authorization: Bearer $PORTICO_API_KEY"GET/v1/integrations/shows/{id}/episodesRead bounded native episodes across all seasons, or resolve one real seasonread
- Audience
- Integrations · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
integration_show_episodes
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | |
season | query | string | |
seasonId | query | string | |
year | query | string | |
search | query | string | |
provider | query | string | |
providerId | query | string | |
includeFiles | query | string | |
sort | query | string | |
order | query | string | |
addedAfter | query | string | |
addedBefore | query | string | |
cursor | query | string | |
limit | query | integer | ""1–100 |
Responses
200Successapplication/json
{
"items": [
{
"addedAt": "2026-10-18T19:30:00Z",
"available": true,
"durationSeconds": 0,
"episode": {
"airDate": "string",
"localIdentityStatus": "string",
"number": 0,
"numbering": "string",
"orderingBasis": "string",
"providerMatchStatus": "string",
"seasonId": "id_8h2k4q",
"seasonNumber": 0,
"showId": "id_8h2k4q",
"showTitle": "Fargo",
"sourceBoundary": "string"
},
"height": 0,
"id": "id_8h2k4q",
"kind": "string",
"libraryId": "id_8h2k4q",
"mediaSources": [
{
"audioCodec": "string",
"available": true,
"bitRate": 0,
"container": "string",
"durationSeconds": 0,
"edition": "string",
"id": "id_8h2k4q",
"partIndex": 0,
"path": "string",
"size": 0,
"video": {}
}
],
"mediaSourcesNextCursor": "eyJvIjoyMH0",
"paths": [
"string"
],
"providerIds": {
"key": "string"
},
"season": {
"number": 0,
"showId": "id_8h2k4q"
},
"title": "Fargo",
"width": 0,
"year": 0
}
],
"nextCursor": "eyJvIjoyMH0",
"total": 0
}itemsarray of objectrequired
- addedAtstring
- availablebooleanrequired
- durationSecondsnumber
episodeobject
- airDatestring
- localIdentityStatusstringrequired
- numberintegerrequired
- numberingstringrequired
- orderingBasisstringrequired
- providerMatchStatusstringrequired
- seasonIdstring
- seasonNumberinteger
- showIdstringrequired
- showTitlestringrequired
- sourceBoundarystringrequired
- heightinteger
- idstringrequired
- kindstringrequired
- libraryIdstringrequired
mediaSourcesarray of objectrequired
- audioCodecstring
- availablebooleanrequired
- bitRateinteger
- containerstringrequired
- durationSecondsnumberrequired
- editionstring
- idstringrequired
- partIndexintegerrequired
- pathstring
- sizeintegerrequired
videoobject
- bitDepthinteger
- bitRateinteger
- codecstringrequired
- dynamicRangestring
- frameRatenumber
- hdr10Plusboolean
- heightintegerrequired
- widthintegerrequired
- mediaSourcesNextCursorstring
- pathsarray of stringrequired
- providerIdsobjectrequired
seasonobject
- numberintegerrequired
- showIdstringrequired
- titlestringrequired
- widthinteger
- yearinteger
- nextCursorstring
- totalintegerrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestinvalid_cursorcursor_expiredstale_continuationnot_foundinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/integrations/shows/{id}/episodes" \
-H "Authorization: Bearer $PORTICO_API_KEY"GET/v1/integrations/shows/{id}/seasonsRead a bounded native season hierarchyread
- Audience
- Integrations · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
integration_show_seasons
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | |
includeFiles | query | string | |
hasPaths | query | string | |
cursor | query | string | |
limit | query | integer | ""1–100 |
Responses
200Successapplication/json
{
"items": [
{
"addedAt": "2026-10-18T19:30:00Z",
"available": true,
"durationSeconds": 0,
"episode": {
"airDate": "string",
"localIdentityStatus": "string",
"number": 0,
"numbering": "string",
"orderingBasis": "string",
"providerMatchStatus": "string",
"seasonId": "id_8h2k4q",
"seasonNumber": 0,
"showId": "id_8h2k4q",
"showTitle": "Fargo",
"sourceBoundary": "string"
},
"height": 0,
"id": "id_8h2k4q",
"kind": "string",
"libraryId": "id_8h2k4q",
"mediaSources": [
{
"audioCodec": "string",
"available": true,
"bitRate": 0,
"container": "string",
"durationSeconds": 0,
"edition": "string",
"id": "id_8h2k4q",
"partIndex": 0,
"path": "string",
"size": 0,
"video": {}
}
],
"mediaSourcesNextCursor": "eyJvIjoyMH0",
"paths": [
"string"
],
"providerIds": {
"key": "string"
},
"season": {
"number": 0,
"showId": "id_8h2k4q"
},
"title": "Fargo",
"width": 0,
"year": 0
}
],
"nextCursor": "eyJvIjoyMH0",
"total": 0
}itemsarray of objectrequired
- addedAtstring
- availablebooleanrequired
- durationSecondsnumber
episodeobject
- airDatestring
- localIdentityStatusstringrequired
- numberintegerrequired
- numberingstringrequired
- orderingBasisstringrequired
- providerMatchStatusstringrequired
- seasonIdstring
- seasonNumberinteger
- showIdstringrequired
- showTitlestringrequired
- sourceBoundarystringrequired
- heightinteger
- idstringrequired
- kindstringrequired
- libraryIdstringrequired
mediaSourcesarray of objectrequired
- audioCodecstring
- availablebooleanrequired
- bitRateinteger
- containerstringrequired
- durationSecondsnumberrequired
- editionstring
- idstringrequired
- partIndexintegerrequired
- pathstring
- sizeintegerrequired
videoobject
- bitDepthinteger
- bitRateinteger
- codecstringrequired
- dynamicRangestring
- frameRatenumber
- hdr10Plusboolean
- heightintegerrequired
- widthintegerrequired
- mediaSourcesNextCursorstring
- pathsarray of stringrequired
- providerIdsobjectrequired
seasonobject
- numberintegerrequired
- showIdstringrequired
- titlestringrequired
- widthinteger
- yearinteger
- nextCursorstring
- totalintegerrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestinvalid_cursorcursor_expiredstale_continuationnot_foundinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/integrations/shows/{id}/seasons" \
-H "Authorization: Bearer $PORTICO_API_KEY"GET/v1/integrations/usersRead permitted native user and profile identitiesread
- Audience
- Integrations · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
integration_users
Parameters
| Name | In | Type | Description |
|---|---|---|---|
cursor | query | string | |
limit | query | integer | ""1–100 |
Responses
200Successapplication/json
{
"items": [
{
"accountId": "id_8h2k4q",
"disabled": true,
"profileId": "id_8h2k4q",
"profileName": "Fargo",
"role": "string",
"username": "Fargo"
}
],
"nextCursor": "eyJvIjoyMH0"
}itemsarray of objectrequired
- accountIdstringrequired
- disabledbooleanrequired
- profileIdstringrequired
- profileNamestringrequired
- rolestringrequired
- usernamestringrequired
- nextCursorstring
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinsufficient_scopesession_requiredinvalid_requestinvalid_cursorcursor_expiredstale_continuationnot_foundinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/integrations/users" \
-H "Authorization: Bearer $PORTICO_API_KEY"No operations match that filter.