List All Jobs
Retrieve a paginated list of all enrichment and extraction jobs for your client.
Endpoint: GET https://api.walkerstdata.com.au/v1/jobs
Query Parameters
- page (optional): Page number for pagination (1-indexed, must be >= 1, default: 1)
- count (optional): Number of jobs per page (must be >= 1, default: 20)
Request
- cURL
- JavaScript
- Python
# Get all jobs (first page, 20 results)
curl -X GET "https://api.walkerstdata.com.au/v1/jobs" \
-H "x-api-key: YOUR_API_KEY"
# Get second page with 10 results per page
curl -X GET "https://api.walkerstdata.com.au/v1/jobs?page=2&count=10" \
-H "x-api-key: YOUR_API_KEY"
// Get all jobs (default pagination)
const response = await fetch('https://api.walkerstdata.com.au/v1/jobs', {
method: 'GET',
headers: {
'x-api-key': 'YOUR_API_KEY',
},
});
// Custom pagination
const paginatedResponse = await fetch('https://api.walkerstdata.com.au/v1/jobs?page=2&count=10', {
method: 'GET',
headers: {
'x-api-key': 'YOUR_API_KEY',
},
});
const result = await response.json();
const jobs = result.data.jobs;
import requests
headers = {'x-api-key': 'YOUR_API_KEY'}
# Get all jobs (default pagination)
response = requests.get(
'https://api.walkerstdata.com.au/v1/jobs',
headers=headers
)
# Custom pagination
paginated_response = requests.get(
'https://api.walkerstdata.com.au/v1/jobs',
headers=headers,
params={'page': 2, 'count': 10}
)
result = response.json()
jobs = result['data']['jobs']
Response
{
"data": {
"jobs": [
{
"jobId": "550e8400-e29b-41d4-a716-446655440000",
"status": "Completed",
"message": "Job completed successfully. 10 transactions enriched.",
"type": "Enrichment",
"totalReceivedTransactions": 10,
"totalProcessedTransactions": 10
},
{
"jobId": "550e8400-e29b-41d4-a716-446655440001",
"status": "Processing",
"message": "",
"type": "Extraction",
"totalReceivedTransactions": 1,
"totalProcessedTransactions": 0
},
{
"jobId": "550e8400-e29b-41d4-a716-446655440002",
"status": "Failed",
"message": "Processing error: Invalid file format",
"type": "Enrichment",
"totalReceivedTransactions": 5,
"totalProcessedTransactions": 0
}
],
"totalCount": 3,
"currentPage": 1,
"pageSize": 20,
"totalPages": 1
},
"message": null
}
Job Fields
| Field | Description | When Present |
|---|---|---|
| jobId | Unique identifier for the job | Always |
| status | Current processing state: New, Processing, Completed, Failed | Always |
| message | Status message or error description (empty string on success) | Always |
| type | Job type: Enrichment or Extraction | Always |
| totalReceivedTransactions | Total number of transactions submitted in the batch | Always |
| totalProcessedTransactions | Number of transactions successfully processed | Always |
Pagination Fields
| Field | Description |
|---|---|
| totalCount | Total number of jobs across all pages |
| currentPage | Current page number |
| pageSize | Number of jobs per page |
| totalPages | Total number of pages |
Pagination Examples
- JavaScript
- Python
// Get all jobs across all pages
const getAllJobs = async () => {
let allJobs = [];
let currentPage = 1;
let totalPages = 1;
do {
const response = await fetch(
`https://api.walkerstdata.com.au/v1/jobs?page=${currentPage}`,
{ headers: { 'x-api-key': 'YOUR_API_KEY' } }
);
const result = await response.json();
allJobs.push(...result.data.jobs);
totalPages = result.data.totalPages;
currentPage++;
} while (currentPage <= totalPages);
return allJobs;
};
// Get jobs with custom page size
const getJobsWithCustomPageSize = async (pageSize = 50) => {
const response = await fetch(
`https://api.walkerstdata.com.au/v1/jobs?page=1&count=${pageSize}`,
{ headers: { 'x-api-key': 'YOUR_API_KEY' } }
);
const result = await response.json();
return result.data;
};
import requests
def get_all_jobs():
"""Get all jobs across all pages"""
all_jobs = []
current_page = 1
total_pages = 1
while current_page <= total_pages:
response = requests.get(
'https://api.walkerstdata.com.au/v1/jobs',
headers={'x-api-key': 'YOUR_API_KEY'},
params={'page': current_page}
)
result = response.json()
all_jobs.extend(result['data']['jobs'])
total_pages = result['data']['totalPages']
current_page += 1
return all_jobs
def get_jobs_with_custom_page_size(page_size=50):
"""Get jobs with custom page size"""
response = requests.get(
'https://api.walkerstdata.com.au/v1/jobs',
headers={'x-api-key': 'YOUR_API_KEY'},
params={'page': 1, 'count': page_size}
)
return response.json()['data']
Use Cases
- Job monitoring dashboard: Display all processing jobs with real-time status
- Progress tracking: Monitor job completion rates and processing times
- Audit trails: Review historical job processing activity
- Batch processing: Retrieve and process job results in batches
- Performance analysis: Analyze job processing patterns and success rates
Next Steps
From the jobs list, you can:
- Monitor individual jobs: Get Job Status for detailed monitoring
- Retrieve results: Get transaction data for completed jobs
- Debug issues: Investigate failed jobs and retry if appropriate