Overview
Returns a paginated list of jobs for your API key, with optional status filtering.
Query Parameters
Number of jobs to return (max 100)
Number of jobs to skip for pagination
Filter by status: pending, processing, completed, or failed
Response
Job status: Pending, Processing, Completed, or Failed
Error message (for failed jobs)
S3 key where file was uploaded (for completed jobs)
Total number of jobs matching the filter
Offset used for pagination
Examples
curl -X GET "https://tornado.velys.software/dashboard/jobs?limit=50&offset=0" \
-H "x-api-key: sk_your_api_key"
Error Responses
{
"error": "Invalid API Key"
}
let currentPage = 0;
const pageSize = 50;
async function loadJobs(page = 0) {
const response = await fetch(
`/dashboard/jobs?limit=${pageSize}&offset=${page * pageSize}`,
{ headers: { 'x-api-key': apiKey } }
);
const data = await response.json();
// Render jobs
renderJobsTable(data.jobs);
// Update pagination
const totalPages = Math.ceil(data.total / pageSize);
updatePagination(page, totalPages, data.total);
}
function nextPage() {
currentPage++;
loadJobs(currentPage);
}
function prevPage() {
if (currentPage > 0) {
currentPage--;
loadJobs(currentPage);
}
}
Error Sanitization
Error messages are automatically sanitized to remove internal tool names:
yt-dlp → downloader
YT-DLP → downloader
yt_dlp → downloader
This provides cleaner error messages for end users.