Download OpenAPI specification:
Asynchronous import and export jobs.
Get a paginated list of jobs with optional filters
| page | integer >= 1 Default: 1 Page number |
| page_size | integer [ 1 .. 100 ] Default: 10 Items per page |
| type | string Enum: "product_import" "product_export" "category_import" "category_export" Filter by job type |
| status | string Enum: "pending" "processing" "completed" "failed" "cancelled" Filter by status |
| created_by | string Filter by creator user ID |
| search | string Search by name |
| profile_type | string Enum: "export" "import" Filter by profile type |
{- "data": {
- "items": [
- {
- "connection_id": "string",
- "created_at": "string",
- "created_by": {
- "id": "string",
- "name": "string"
}, - "error_storage_key": "string",
- "execution_mode": "string",
- "failure_count": 0,
- "handler_code": "string",
- "id": "string",
- "info": { },
- "input_storage_key": "string",
- "modified_at": "string",
- "modified_by": {
- "id": "string",
- "name": "string"
}, - "name": "string",
- "output_storage_key": "string",
- "priority": 0,
- "profile_id": "string",
- "profile_type": "string",
- "status": "string",
- "success_count": 0,
- "tenant_id": "string",
- "total_count": 0,
- "type": "string"
}
], - "pagination": {
- "has_next": true,
- "page": 0,
- "page_size": 0,
- "total_items": 0,
- "total_pages": 0
}
}, - "pagination": {
- "has_next": true,
- "page": 0,
- "page_size": 0,
- "total_items": 0,
- "total_pages": 0
}, - "success": true
}Create a new import/export job
Job creation request
| connection_id | string |
| description | string |
| execution_mode | string |
| handler_code | string |
| idempotency_key | string |
object | |
| name | string |
| priority | integer |
| profile_id | string |
| profile_type | string |
| storage_key | string |
| type required | string |
{- "connection_id": "string",
- "description": "string",
- "execution_mode": "string",
- "handler_code": "string",
- "idempotency_key": "string",
- "info": { },
- "name": "string",
- "priority": 0,
- "profile_id": "string",
- "profile_type": "string",
- "storage_key": "string",
- "type": "string"
}{- "data": {
- "completed_at": "string",
- "connection_id": "string",
- "created_at": "string",
- "created_by": {
- "id": "string",
- "name": "string"
}, - "description": "string",
- "error_storage_key": "string",
- "execution_mode": "string",
- "failure_count": 0,
- "handler_code": "string",
- "id": "string",
- "idempotency_key": "string",
- "info": { },
- "input_storage_key": "string",
- "modified_at": "string",
- "modified_by": {
- "id": "string",
- "name": "string"
}, - "name": "string",
- "output_storage_key": "string",
- "priority": 0,
- "profile_id": "string",
- "profile_type": "string",
- "started_at": "string",
- "status": "string",
- "success_count": 0,
- "tenant_id": "string",
- "total_count": 0,
- "type": "string"
}, - "success": true
}Delete multiple jobs by IDs or all jobs (with optional exclusions)
Bulk delete request
| all | boolean |
| exclude_ids | Array of strings |
| ids | Array of strings |
{- "all": true,
- "exclude_ids": [
- "string"
], - "ids": [
- "string"
]
}{- "data": {
- "deleted_count": 0,
- "deleted_ids": [
- "string"
], - "errors": {
- "property1": "string",
- "property2": "string"
}, - "failed_count": 0,
- "failed_ids": [
- "string"
]
}, - "success": true
}Generate an S3 presigned URL using a storage key from the request body
Download URL request
| expiry_minutes | integer |
| storage_key required | string |
{- "expiry_minutes": 0,
- "storage_key": "string"
}{- "data": {
- "download_url": "string",
- "expires_at": "string",
- "storage_bucket": "string",
- "storage_key": "string"
}, - "success": true
}Generate an S3 presigned URL for uploading a job input file
Upload URL request
| content_type required | string |
| entity_type | string |
| file_name required | string |
| file_size | integer |
{- "content_type": "string",
- "entity_type": "string",
- "file_name": "string",
- "file_size": 0
}{- "data": {
- "expires_at": "string",
- "storage_bucket": "string",
- "storage_key": "string",
- "upload_url": "string"
}, - "success": true
}Get job details by ID
| id required | string Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d1 Job ID |
{- "data": {
- "completed_at": "string",
- "connection_id": "string",
- "created_at": "string",
- "created_by": {
- "id": "string",
- "name": "string"
}, - "description": "string",
- "error_storage_key": "string",
- "execution_mode": "string",
- "failure_count": 0,
- "handler_code": "string",
- "id": "string",
- "idempotency_key": "string",
- "info": { },
- "input_storage_key": "string",
- "modified_at": "string",
- "modified_by": {
- "id": "string",
- "name": "string"
}, - "name": "string",
- "output_storage_key": "string",
- "priority": 0,
- "profile_id": "string",
- "profile_type": "string",
- "started_at": "string",
- "status": "string",
- "success_count": 0,
- "tenant_id": "string",
- "total_count": 0,
- "type": "string"
}, - "success": true
}Soft-delete a job by ID
| id required | string Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d1 Job ID |
{- "errors": [
- {
- "code": "string",
- "field": "string",
- "message": "string"
}
], - "message": "string",
- "success": true
}Partially update job fields (name, description, status)
| id required | string Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d1 Job ID |
Job update request
| description | string |
| name | string |
| status | string |
{- "description": "string",
- "name": "string",
- "status": "string"
}{- "data": {
- "completed_at": "string",
- "connection_id": "string",
- "created_at": "string",
- "created_by": {
- "id": "string",
- "name": "string"
}, - "description": "string",
- "error_storage_key": "string",
- "execution_mode": "string",
- "failure_count": 0,
- "handler_code": "string",
- "id": "string",
- "idempotency_key": "string",
- "info": { },
- "input_storage_key": "string",
- "modified_at": "string",
- "modified_by": {
- "id": "string",
- "name": "string"
}, - "name": "string",
- "output_storage_key": "string",
- "priority": 0,
- "profile_id": "string",
- "profile_type": "string",
- "started_at": "string",
- "status": "string",
- "success_count": 0,
- "tenant_id": "string",
- "total_count": 0,
- "type": "string"
}, - "success": true
}Generate a presigned S3 download URL for a job file. Type must be: original, result, or error
| id required | string Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d1 Job ID |
| type required | string Enum: "original" "result" "error" File type |
{- "data": {
- "download_url": "string",
- "expires_at": "string",
- "storage_bucket": "string",
- "storage_key": "string"
}, - "success": true
}Get paginated per-entity execution records for a specific job.
| id required | string Job ID |
| page | integer Page number (default 1) |
| page_size | integer Page size (default 20, max 100) |
| status | string Comma-separated statuses: pending,processing,success,failed,skipped |
| stage | string Stage filter: extracted,transformed,validated,pushed |
| item_type | string Item type filter: product,variant,category,asset |
{- "data": {
- "items": [
- {
- "created_at": "string",
- "entity_code": "string",
- "entity_id": "string",
- "errors": { },
- "external_id": "string",
- "id": "string",
- "item_type": "string",
- "job_id": "string",
- "modified_at": "string",
- "payload": { },
- "processed_at": "string",
- "response": { },
- "retry_count": 0,
- "stage": "string",
- "status": "string",
- "tenant_id": "string"
}
], - "pagination": {
- "has_next": true,
- "page": 0,
- "page_size": 0,
- "total_items": 0,
- "total_pages": 0
}
}, - "success": true
}Get all processing steps for a specific job
| id required | string Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d1 Job ID |
{- "data": [
- {
- "completed_at": "string",
- "created_at": "string",
- "error_count": 0,
- "error_storage_key": "string",
- "id": "string",
- "job_id": "string",
- "processed_count": 0,
- "retry_count": 0,
- "started_at": "string",
- "status": "string",
- "step_index": 0,
- "step_name": "string",
- "step_type": "string",
- "success_count": 0,
- "summary": { },
- "total_count": 0,
- "warning_count": 0
}
], - "success": true
}Get a paginated list of schedules with optional filters
| page | integer >= 1 Default: 1 Page number |
| page_size | integer [ 1 .. 100 ] Default: 10 Items per page |
| profile_type | string Enum: "export" "import" Filter by profile type |
| status | string Enum: "active" "paused" Filter by status |
{- "data": {
- "items": [
- {
- "created_at": "string",
- "created_by": {
- "id": "string",
- "name": "string"
}, - "cron_expression": "string",
- "execution_mode": "string",
- "id": "string",
- "last_run_at": "string",
- "modified_at": "string",
- "modified_by": {
- "id": "string",
- "name": "string"
}, - "name": "string",
- "next_run_at": "string",
- "profile_id": "string",
- "profile_type": "string",
- "status": "string",
- "tenant_id": "string",
- "timezone": "string"
}
], - "pagination": {
- "has_next": true,
- "page": 0,
- "page_size": 0,
- "total_items": 0,
- "total_pages": 0
}
}, - "pagination": {
- "has_next": true,
- "page": 0,
- "page_size": 0,
- "total_items": 0,
- "total_pages": 0
}, - "success": true
}Create a new export/import schedule with a cron expression
Schedule creation request
| cron_expression required | string |
| execution_mode | string |
| name required | string |
| profile_id required | string |
| profile_type required | string |
| timezone | string |
{- "cron_expression": "string",
- "execution_mode": "string",
- "name": "string",
- "profile_id": "string",
- "profile_type": "string",
- "timezone": "string"
}{- "data": {
- "created_at": "string",
- "created_by": {
- "id": "string",
- "name": "string"
}, - "cron_expression": "string",
- "execution_mode": "string",
- "id": "string",
- "last_run_at": "string",
- "modified_at": "string",
- "modified_by": {
- "id": "string",
- "name": "string"
}, - "name": "string",
- "next_run_at": "string",
- "profile_id": "string",
- "profile_type": "string",
- "status": "string",
- "tenant_id": "string",
- "timezone": "string"
}, - "success": true
}Get schedule details by ID
| id required | string Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d2 Schedule ID |
{- "data": {
- "created_at": "string",
- "created_by": {
- "id": "string",
- "name": "string"
}, - "cron_expression": "string",
- "execution_mode": "string",
- "id": "string",
- "last_run_at": "string",
- "modified_at": "string",
- "modified_by": {
- "id": "string",
- "name": "string"
}, - "name": "string",
- "next_run_at": "string",
- "profile_id": "string",
- "profile_type": "string",
- "status": "string",
- "tenant_id": "string",
- "timezone": "string"
}, - "success": true
}Delete a schedule by ID
| id required | string Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d2 Schedule ID |
{- "errors": [
- {
- "code": "string",
- "field": "string",
- "message": "string"
}
], - "message": "string",
- "success": true
}Partially update schedule fields such as name, cron expression, or timezone
| id required | string Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d2 Schedule ID |
Schedule update request
| cron_expression | string |
| execution_mode | string |
| name | string |
| timezone | string |
{- "cron_expression": "string",
- "execution_mode": "string",
- "name": "string",
- "timezone": "string"
}{- "data": {
- "created_at": "string",
- "created_by": {
- "id": "string",
- "name": "string"
}, - "cron_expression": "string",
- "execution_mode": "string",
- "id": "string",
- "last_run_at": "string",
- "modified_at": "string",
- "modified_by": {
- "id": "string",
- "name": "string"
}, - "name": "string",
- "next_run_at": "string",
- "profile_id": "string",
- "profile_type": "string",
- "status": "string",
- "tenant_id": "string",
- "timezone": "string"
}, - "success": true
}Get recent execution history for a schedule
| id required | string Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d2 Schedule ID |
| limit | integer Default: 20 Maximum number of results |
{- "data": [
- {
- "completed_at": "string",
- "error": "string",
- "id": "string",
- "job_id": "string",
- "schedule_id": "string",
- "status": "string",
- "triggered_at": "string"
}
], - "success": true
}Activate or pause a schedule
| id required | string Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d2 Schedule ID |
Status update request
| status required | string Enum: "active" "paused" |
{- "status": "active"
}{- "data": {
- "created_at": "string",
- "created_by": {
- "id": "string",
- "name": "string"
}, - "cron_expression": "string",
- "execution_mode": "string",
- "id": "string",
- "last_run_at": "string",
- "modified_at": "string",
- "modified_by": {
- "id": "string",
- "name": "string"
}, - "name": "string",
- "next_run_at": "string",
- "profile_id": "string",
- "profile_type": "string",
- "status": "string",
- "tenant_id": "string",
- "timezone": "string"
}, - "success": true
}