Skip to content

List recent jobs

GET
/wp-json/wp2/site-duplicator/v1/jobs
curl --request GET \
--url 'https://example.com/wp-json/wp2/site-duplicator/v1/jobs?limit=20' \
--header 'X-WP-Nonce: <X-WP-Nonce>'

Recent Site Duplicator jobs (not the Site Manager job list).

status
string

Status (build, post, or license — depending on the operation).

type
string

Type (queue clear, track kind, etc.).

limit
integer
default: 20

Parameter “limit”.

Media typeapplication/json
object
items
Array<object>
object
job_id

Job UUID (PlatformJob::$job_id). Site Manager GET returns 404 job_not_found if the type does not start with site_manager. or the row is missing.

string format: uuid
type

Machine job type. Site Manager: site_manager.create_from_source, site_manager.bulk. Site Duplicator uses its own prefixes of the same PlatformJob.

string
status

Lifecycle status (pending / running / completed / failed; PHP may also return cancelled as terminal).

string
Allowed values: pending running completed failed
phase

Current worker phase (short progress label, e.g. bulk), not an HTTP status.

string
progress

Progress counters (percent / current / total) as the worker stored them in PlatformJob::$progress.

object
percent

Percent complete 0–100, if the worker writes it.

integer
current

How many units have been processed.

integer
total

How many units in total (e.g. number of blog_ids in bulk).

integer
message

Human-readable worker status (not a PIN and not a WP-CLI log).

string
user_id

Who enqueued the job. GET of another user’s job without manage_network — 403 forbidden. The jobs list returns only the current user’s jobs.

integer
network_id

Network where the job was created. Another network — 404 job_not_in_network (message “Job not found.”).

integer
payload

Worker input (for bulk — blog_ids/action/patch/drop_tables; for create_from_source — source_blog_id and new-site fields).

object
result

Result after completed (for bulk — succeeded/failed/total/processed). null until the job finishes successfully.

object
error

Error on failed. PHP stores {code, message} in PlatformJob::$error; null if it did not fail.

string
nullable
created_at

Job created time (GMT, gmdate('c')).

string format: date-time
updated_at

Last progress/status update time.

string format: date-time
completed_at

Time of transition to a terminal status; null while the job is running.

string format: date-time
nullable
jobs
Array<object>
object
job_id

Job UUID (PlatformJob::$job_id). Site Manager GET returns 404 job_not_found if the type does not start with site_manager. or the row is missing.

string format: uuid
type

Machine job type. Site Manager: site_manager.create_from_source, site_manager.bulk. Site Duplicator uses its own prefixes of the same PlatformJob.

string
status

Lifecycle status (pending / running / completed / failed; PHP may also return cancelled as terminal).

string
Allowed values: pending running completed failed
phase

Current worker phase (short progress label, e.g. bulk), not an HTTP status.

string
progress

Progress counters (percent / current / total) as the worker stored them in PlatformJob::$progress.

object
percent

Percent complete 0–100, if the worker writes it.

integer
current

How many units have been processed.

integer
total

How many units in total (e.g. number of blog_ids in bulk).

integer
message

Human-readable worker status (not a PIN and not a WP-CLI log).

string
user_id

Who enqueued the job. GET of another user’s job without manage_network — 403 forbidden. The jobs list returns only the current user’s jobs.

integer
network_id

Network where the job was created. Another network — 404 job_not_in_network (message “Job not found.”).

integer
payload

Worker input (for bulk — blog_ids/action/patch/drop_tables; for create_from_source — source_blog_id and new-site fields).

object
result

Result after completed (for bulk — succeeded/failed/total/processed). null until the job finishes successfully.

object
error

Error on failed. PHP stores {code, message} in PlatformJob::$error; null if it did not fail.

string
nullable
created_at

Job created time (GMT, gmdate('c')).

string format: date-time
updated_at

Last progress/status update time.

string format: date-time
completed_at

Time of transition to a terminal status; null while the job is running.

string format: date-time
nullable
key
additional properties
any
Example
{
"items": [
{
"status": "pending"
}
],
"jobs": [
{
"status": "pending"
}
]
}

Not authenticated. WordPress REST: rest_not_logged_in / rest_forbidden. Use cookie + X-WP-Nonce or Application Password.

Media typeapplication/json
object
code

Machine-readable error or event code.

string
message

Message text (log, PIN, or password reset).

string
data

Extra WP_Error or license payload.

object
Examplegenerated
{
"code": "example",
"message": "example",
"data": {}
}

Insufficient capability or invalid REST nonce. WordPress REST: rest_forbidden / rest_cookie_invalid_nonce.

Media typeapplication/json
object
code

Machine-readable error or event code.

string
message

Message text (log, PIN, or password reset).

string
data

Extra WP_Error or license payload.

object
Examplegenerated
{
"code": "example",
"message": "example",
"data": {}
}