# Return backup operation status

This function reads the per-operation log for the operationId
parameter and returns its rolled-up status.

Note:

* This is the poll endpoint for the asynchronous
  WebsiteBackup::create_backup, WebsiteBackup::restore_backup and
  WebsiteBackup::extract_backup functions, each of which returns the
  id to poll.
* A client should keep polling until the status return value is no
  longer inProgress. If it loses the id, the
  WebsiteBackup::list_operations function returns the running
  operations for a domain.
* The function reads the log without opening it for append, so polling a
  live operation never disturbs it.
* A job killed mid-write leaves a truncated final frame, and the
  function still reports every complete frame, including the terminal
  one.
* An unknown or malformed operationId fails the call.
* This function requires the account's backup feature.

Endpoint: GET /WebsiteBackup/operation_status
Version: 11.138.0.10
Security: BasicAuth

## Query parameters:

  - `operationId` (string, required)
    Identifier of the operation to read.

Note:
The WebsiteBackup::create_backup, WebsiteBackup::restore_backup,
WebsiteBackup::extract_backup and WebsiteBackup::list_operations
functions return this identifier.
    Example: "2026-08-18T12:53:12Z.1"

## Response 200 fields (application/json):

  - `apiversion` (integer)
    The version of the API.
    Example: 3

  - `func` (string)
    The name of the method called.
    Example: "operation_status"

  - `module` (string)
    The name of the module called.
    Example: "WebsiteBackup"

  - `result` (object)

  - `result.data` (object)
    The operation's rolled-up status.

  - `result.data.error` (string)
    Localized, user-facing description of why the
operation failed.

Note:
Present only when the status return value is
failed.
    Example: "The system could not read the backup archive."

  - `result.data.kind` (string)
    Which function started the operation.

* create - The WebsiteBackup::create_backup
  function.
* restore - The WebsiteBackup::restore_backup
  function.
* extract - The WebsiteBackup::extract_backup
  function.
    Enum: "create", "restore", "extract"

  - `result.data.progressPct` (number)
    Completion percentage, from 0 to 100.

Note:
Absent until the job reports progress, and exactly
100 once the operation is ready.
    Example: 42

  - `result.data.startedAtMs` (integer)
    Epoch milliseconds at which the operation started.

Note:
Absent when the log recorded no start time.
    Example: 1755520392000

  - `result.data.status` (string)
    Rolled-up state of the operation.

* inProgress - The background child has not yet
  written a terminal frame.
* ready - The operation finished successfully.
* failed - The operation ended in an error. See
  the error field.
    Enum: "inProgress", "ready", "failed"

  - `result.data.subStatus` (string)
    Localized description of the step the operation is
currently on.

Note:
Absent until the job logs its first step.
    Example: "Archiving website files…"

  - `result.data.title` (string)
    Localized, user-facing title of the operation, for
example Backing up “example.com”.

Note:
Empty string when the log recorded no title.
    Example: "Backing up “example.com”"

  - `result.data.warnings` (array)
    Localized descriptions of non-critical problems
noted while the operation ran.

Note:
Absent when there were none.
    Example: ["The system could not restore the database “user_store”."]

  - `result.errors` (array,null)
    List of errors if the API failed.

  - `result.messages` (array,null)
    List of messages generated by the API.

  - `result.metadata` (object)

  - `result.status` (integer)
    * 1 - Success.
* 0 - Failed. Check the errors field for more
  details.
    Enum: 0, 1

  - `result.warnings` (array,null)
    List of warnings generated by the API. Warnings
describe non-critical failures or other problematic
conditions noted while running an API.


