Jobs
Get job logs
Retrieve logs for a specific job, either from the transcoder or manager service
GET
/api/jobs/{jobId}/logs
Authorization
Authorization
header
string
required
Enter the project access token with the Bearer prefix, e.g. "Bearer project_access_token"
Query Parameters
Service type (transcoder or manager)
Available options:
transcodermanager
Transcoder ID (required if service is transcoder)
Path Parameters
Responses
application/jsonAdditional structured data attached to the log
Available options:
infoerrordebug
Examples:
Starting transcoder#1
Name of the service that generated the log
Available options:
transcodermanager
Examples:
transcodermanager
time
string
date-time
required
Timestamp when the log was created
Examples:
2025-01-01T12:00:00Z
Optional ID of the job this log is associated with
Examples:
job_2G6MJiNz71bHQGNzGwKx5cJwPFS
status
"success"
string
required
Status indicates the response status "success"
OK
application/jsonError response details
Code is the HTTP status code
Message is a human-readable error description
Examples:
Authentication error: invalid token or subscription inactive
type
"AuthenticationError"
string
required
Type indicates the error category
Available options:
AuthenticationError
status
"error"
string
required
Status indicates the response status "error"
Authentication error: invalid token or subscription inactive
application/jsonError response details
Code is the HTTP status code
Message is a human-readable error description
Examples:
Ressource not found
type
"NotFoundError"
string
required
Type indicates the error category
Available options:
NotFoundError
status
"error"
string
required
Status indicates the response status "error"
Resource not found
application/jsonError response details
Code is the HTTP status code
Message is a human-readable error description
Examples:
Rate limit exceeded
type
"TooManyRequestsError"
string
required
Type indicates the error category
Available options:
TooManyRequestsError
status
"error"
string
required
Status indicates the response status "error"
Rate limit exceeded
# Get job logs
> Retrieve logs for a specific job, either from the transcoder or manager service
```json
{
"path": "/api/jobs/{jobId}/logs",
"method": "get",
"schema": {
"description": "Retrieve logs for a specific job, either from the transcoder or manager service",
"operationId": "getJobLogs",
"parameters": [
{
"description": "Job ID",
"in": "path",
"name": "jobId",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Service type (transcoder or manager)",
"in": "query",
"name": "service",
"required": true,
"schema": {
"enum": [
"transcoder",
"manager"
],
"type": "string"
}
},
{
"description": "Transcoder ID (required if service is transcoder)",
"in": "query",
"name": "transcoder_id",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/JobLogsListResponse"
}
}
},
"description": "OK"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorAuthentication"
}
}
},
"description": "Authentication error: invalid token or subscription inactive"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorNotFound"
}
}
},
"description": "Resource not found"
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorTooManyRequests"
}
}
},
"description": "Rate limit exceeded"
}
},
"security": [
{
"ProjectAccessToken": []
}
],
"summary": "Get job logs",
"tags": [
"Jobs"
],
"x-codeSamples": [
{
"lang": "JavaScript",
"source": "import Chunkify from '@chunkify/chunkify';\n\nconst client = new Chunkify({\n projectAccessToken: 'My Project Access Token',\n});\n\nconst logs = await client.jobs.logs.list('jobId', { service: 'transcoder' });\n\nconsole.log(logs);"
},
{
"lang": "Python",
"source": "from chunkify import Chunkify\n\nclient = Chunkify(\n project_access_token=\"My Project Access Token\",\n)\nlogs = client.jobs.logs.list(\n job_id=\"jobId\",\n service=\"transcoder\",\n)\nprint(logs)"
},
{
"lang": "php",
"source": "\u003c?php\n\nuse Chunkify\\Client;\n\n$client = new Client(\n projectAccessToken: 'My Project Access Token',\n);\n\n$logs = $client-\u003ejobs-\u003elogs-\u003elist(\n 'jobId',\n service: 'transcoder',\n);\n\nvar_dump($logs);"
},
{
"lang": "Go",
"source": "package main\n\nimport (\n \"context\"\n \"fmt\"\n\n \"github.com/chunkifydev/chunkify-go\"\n \"github.com/chunkifydev/chunkify-go/option\"\n)\n\nfunc main() {\n client := chunkify.NewClient(\n option.WithProjectAccessToken(\"My Project Access Token\"),\n )\n logs, err := client.Jobs.Logs.List(\n context.TODO(),\n \"jobId\",\n chunkify.JobLogListParams{\n Service: chunkify.JobLogListParamsServiceTranscoder,\n },\n )\n if err != nil {\n panic(err.Error())\n }\n fmt.Printf(\"%+v\\n\", logs)\n}\n"
}
]
}
}
```
```json #/components/schemas/ResponseErrorNotFound
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 404,
"description": "Code is the HTTP status code",
"examples": [
404
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Ressource not found"
],
"type": "string"
},
"type": {
"const": "NotFoundError",
"description": "Type indicates the error category",
"enum": [
"NotFoundError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```
```json #/components/schemas/ResponseErrorTooManyRequests
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 429,
"description": "Code is the HTTP status code",
"examples": [
429
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Rate limit exceeded"
],
"type": "string"
},
"type": {
"const": "TooManyRequestsError",
"description": "Type indicates the error category",
"enum": [
"TooManyRequestsError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```
```json #/components/schemas/JobLogsListResponse
{
"description": "Response containing a list of logs for a job",
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/Log"
},
"type": "array"
},
"status": {
"const": "success",
"description": "Status indicates the response status \"success\"",
"examples": [
"success"
],
"type": "string"
}
},
"required": [
"status",
"data"
],
"type": "object"
}
```
```json #/components/schemas/Log
{
"properties": {
"attributes": {
"additionalProperties": true,
"description": "Additional structured data attached to the log",
"type": "object"
},
"job_id": {
"description": "Optional ID of the job this log is associated with",
"examples": [
"job_2G6MJiNz71bHQGNzGwKx5cJwPFS"
],
"type": "string"
},
"level": {
"description": "Log level",
"enum": [
"info",
"error",
"debug"
],
"examples": [
"info",
"error",
"debug"
],
"type": "string"
},
"msg": {
"description": "The log message content",
"examples": [
"Starting transcoder#1"
],
"type": "string"
},
"service": {
"description": "Name of the service that generated the log",
"enum": [
"transcoder",
"manager"
],
"examples": [
"transcoder",
"manager"
],
"type": "string"
},
"time": {
"description": "Timestamp when the log was created",
"examples": [
"2025-01-01T12:00:00Z"
],
"format": "date-time",
"type": "string"
}
},
"required": [
"time",
"level",
"msg",
"service",
"attributes"
],
"type": "object"
}
```
```json #/components/schemas/ResponseErrorAuthentication
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 401,
"description": "Code is the HTTP status code",
"examples": [
401
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Authentication error: invalid token or subscription inactive"
],
"type": "string"
},
"type": {
"const": "AuthenticationError",
"description": "Type indicates the error category",
"enum": [
"AuthenticationError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```