Job API (1.0.0)

Download OpenAPI specification:

Asynchronous import and export jobs.

Jobs

List jobs

Get a paginated list of jobs with optional filters

Authorizations:
BearerAuth
query Parameters
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

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "pagination": {
    },
  • "success": true
}

Create a job

Create a new import/export job

Authorizations:
BearerAuth
Request Body schema: application/json
required

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

Responses

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Bulk delete jobs

Delete multiple jobs by IDs or all jobs (with optional exclusions)

Authorizations:
BearerAuth
Request Body schema: application/json
required

Bulk delete request

all
boolean
exclude_ids
Array of strings
ids
Array of strings

Responses

Request samples

Content type
application/json
{
  • "all": true,
  • "exclude_ids": [
    ],
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Generate a presigned download URL by storage key (POST)

Generate an S3 presigned URL using a storage key from the request body

Authorizations:
BearerAuth
Request Body schema: application/json
required

Download URL request

expiry_minutes
integer
storage_key
required
string

Responses

Request samples

Content type
application/json
{
  • "expiry_minutes": 0,
  • "storage_key": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Generate a presigned upload URL

Generate an S3 presigned URL for uploading a job input file

Authorizations:
BearerAuth
Request Body schema: application/json
required

Upload URL request

content_type
required
string
entity_type
string
file_name
required
string
file_size
integer

Responses

Request samples

Content type
application/json
{
  • "content_type": "string",
  • "entity_type": "string",
  • "file_name": "string",
  • "file_size": 0
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Get a job

Get job details by ID

Authorizations:
BearerAuth
path Parameters
id
required
string
Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d1

Job ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Delete a job

Soft-delete a job by ID

Authorizations:
BearerAuth
path Parameters
id
required
string
Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d1

Job ID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "success": true
}

Update a job

Partially update job fields (name, description, status)

Authorizations:
BearerAuth
path Parameters
id
required
string
Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d1

Job ID

Request Body schema: application/json
required

Job update request

description
string
name
string
status
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string",
  • "status": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Get a presigned file URL for a job

Generate a presigned S3 download URL for a job file. Type must be: original, result, or error

Authorizations:
BearerAuth
path Parameters
id
required
string
Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d1

Job ID

type
required
string
Enum: "original" "result" "error"

File type

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

List job items

Get paginated per-entity execution records for a specific job.

Authorizations:
BearerAuth
path Parameters
id
required
string

Job ID

query Parameters
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

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

List job steps

Get all processing steps for a specific job

Authorizations:
BearerAuth
path Parameters
id
required
string
Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d1

Job ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "success": true
}

Schedules

List schedules

Get a paginated list of schedules with optional filters

Authorizations:
BearerAuth
query Parameters
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

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "pagination": {
    },
  • "success": true
}

Create a schedule

Create a new export/import schedule with a cron expression

Authorizations:
BearerAuth
Request Body schema: application/json
required

Schedule creation request

cron_expression
required
string
execution_mode
string
name
required
string
profile_id
required
string
profile_type
required
string
timezone
string

Responses

Request samples

Content type
application/json
{
  • "cron_expression": "string",
  • "execution_mode": "string",
  • "name": "string",
  • "profile_id": "string",
  • "profile_type": "string",
  • "timezone": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Get a schedule

Get schedule details by ID

Authorizations:
BearerAuth
path Parameters
id
required
string
Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d2

Schedule ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Delete a schedule

Delete a schedule by ID

Authorizations:
BearerAuth
path Parameters
id
required
string
Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d2

Schedule ID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "success": true
}

Update a schedule

Partially update schedule fields such as name, cron expression, or timezone

Authorizations:
BearerAuth
path Parameters
id
required
string
Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d2

Schedule ID

Request Body schema: application/json
required

Schedule update request

cron_expression
string
execution_mode
string
name
string
timezone
string

Responses

Request samples

Content type
application/json
{
  • "cron_expression": "string",
  • "execution_mode": "string",
  • "name": "string",
  • "timezone": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

List schedule executions

Get recent execution history for a schedule

Authorizations:
BearerAuth
path Parameters
id
required
string
Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d2

Schedule ID

query Parameters
limit
integer
Default: 20

Maximum number of results

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "success": true
}

Update schedule status

Activate or pause a schedule

Authorizations:
BearerAuth
path Parameters
id
required
string
Example: 0193a5b6-e7c0-7df0-b4b1-c0a1f5e3a8d2

Schedule ID

Request Body schema: application/json
required

Status update request

status
required
string
Enum: "active" "paused"

Responses

Request samples

Content type
application/json
{
  • "status": "active"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}