Jobs

Generated jobs operations.

POST/v1/jobsCapture a selection and enqueue a durable bulk jobplayback
Audience
Integrations · Native API
Authorization
API key or personal access token with the playback scope, or a signed-in session
OpenAPI operation ID
create_job
Max body
64 KiB

Request body application/json · required

Example
{
  "args": {
    "favorite": true,
    "rating": 0,
    "watched": true,
    "watchlist": true
  },
  "command": "personal-state",
  "expected": {
    "catalogRevision": "r12"
  },
  "operationId": "id_8h2k4q",
  "selector": {
    "container": {
      "id": "id_8h2k4q",
      "kind": "show"
    }
  }
}
Schema
  • argsobjectrequired
    • collectionIdstringlength 1–256
    • expectedRevisioninteger≥ 1
    • favoriteboolean
    • fieldsobject
      • lockedboolean
      • useAutomaticboolean
      • valuestring
      • valuesarray of string
    • genresobject
      • addarray of string
      • removearray of string
    • listsobject
      • addarray of string
      • removearray of string
    • lockEditedboolean
    • placementstring | object
      • afterstringrequiredlength 1–256
    • playlistIdstringlength 1–256
    • ratinginteger | any | null
    • watchedboolean
    • watchlistboolean
  • commandstringrequiredone of "personal-state", "playlist-add", "collection-add", "metadata-edit", "refresh"
  • expectedobject
    • catalogRevisionstring
  • operationIdstringrequiredpattern ^[A-Za-z0-9_-]{1,128}$
  • selectorobjectrequired
    • containerobject
      • idstringrequiredlength 1–256
      • kindstringrequiredone of "show", "season", "album", "artist", "book", "collection", "playlist", "library"
    • itemsobject
      • idsarray of stringrequired1–200 items
    • queryobject
      • filterobject
      • libraryIdstringrequiredlength 1–256
      • pivotstringrequiredlength 1–256
      • selectionBasisstringpattern ^[a-f0-9]{64}$
      • sortarray of object
        • directionstringrequiredone of "asc", "desc"
        • fieldstringrequiredlength 1–256

Responses

202Successapplication/json

Example
{
  "command": "string",
  "done": 0,
  "errorCode": "string",
  "failed": 0,
  "failuresCursor": "eyJvIjoyMH0",
  "jobId": "id_8h2k4q",
  "state": "string",
  "total": 0,
  "totalKnown": true
}
Schema
  • commandstringrequired
  • doneintegerrequired
  • errorCodestring
  • failedintegerrequired
  • failuresCursorstring
  • jobIdstringrequired
  • statestringrequired
  • totalintegerrequired
  • totalKnownbooleanrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_foundidempotency_key_reusedrevision_mismatchrate_limitedinternaltimeoutdatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/jobs" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "args": {
    "favorite": true,
    "rating": 0,
    "watched": true,
    "watchlist": true
  },
  "command": "personal-state",
  "expected": {
    "catalogRevision": "r12"
  },
  "operationId": "id_8h2k4q",
  "selector": {
    "container": {
      "id": "id_8h2k4q",
      "kind": "show"
    }
  }
}'
GET/v1/jobs/{id}Read this profile's job progressread
Audience
Integrations · Native API
Authorization
API key or personal access token with the read scope, or a signed-in session
OpenAPI operation ID
get_job

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "command": "string",
  "done": 0,
  "errorCode": "string",
  "failed": 0,
  "failuresCursor": "eyJvIjoyMH0",
  "jobId": "id_8h2k4q",
  "state": "string",
  "total": 0,
  "totalKnown": true
}
Schema
  • commandstringrequired
  • doneintegerrequired
  • errorCodestring
  • failedintegerrequired
  • failuresCursorstring
  • jobIdstringrequired
  • statestringrequired
  • totalintegerrequired
  • totalKnownbooleanrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_foundidempotency_key_reusedrevision_mismatchrate_limitedinternaltimeoutdatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/jobs/{id}" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
GET/v1/jobs/{id}/failuresRead visible failures from this profile's jobread
Audience
Integrations · Native API
Authorization
API key or personal access token with the read scope, or a signed-in session
OpenAPI operation ID
get_job_failures

Parameters

NameInTypeDescription
idrequiredpathstring
cursorquerystring

Responses

200Successapplication/json

Example
{
  "items": [
    {
      "code": "string",
      "itemId": "id_8h2k4q"
    }
  ],
  "nextCursor": "eyJvIjoyMH0"
}
Schema
  • itemsarray of objectrequired
    • codestringrequired
    • itemIdstringrequired
  • nextCursorstring

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_foundidempotency_key_reusedrevision_mismatchrate_limitedinternalinvalid_cursortimeoutdatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/jobs/{id}/failures" \
  -H "Authorization: Bearer $PORTICO_API_KEY"