# Return archive extraction progress

This function returns progress information for an archive extraction
that the ExtractInfo::start function began.

Note:
When no run is active, the state return value is none and the other
return values are 0 or null.

Endpoint: GET /ExtractInfo/progress
Version: 11.138.0.10
Security: BasicAuth

## Response 200 fields (application/json):

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

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

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

  - `result` (object)

  - `result.data` (object)

  - `result.data.currentBytes` (integer)
    Bytes the destination directory has grown by since
the baseline that the ExtractInfo::start
function recorded. Never negative.
    Example: 104857600

  - `result.data.elapsedSeconds` (integer)
    Seconds since the run started. 0 when not
running.
    Example: 42

  - `result.data.percent` (number)
    Completion percent, from 0 to 99.

Note:
The function derives this from currentBytes and
totalBytes and clamps it to 99 until the
ExtractInfo::finish function is called. The
value is approximate whenever
totalBytesEstimated is 1. Even when the total
is exact, the destination directory delta can
carry noise.
    Example: 33.3

  - `result.data.startedAtEpoch` (integer,null)
    Start epoch recorded by the ExtractInfo::start
function. Null when not running.
    Example: 1750636800

  - `result.data.state` (string)
    Current run state.

* inprogress - A run is active and within the
  timeout.
* timeout - A run has passed the timeout
  ceiling.
* none - Nothing is running. This includes the
  period after the ExtractInfo::finish function
  is called.
    Enum: "inprogress", "timeout", "none"

  - `result.data.totalBytes` (integer)
    The uncompressed archive size recorded at start.

Note:
That size is exact for archives under 4 GiB. It is
a best-effort estimate for archives of 4 GiB or
more, because the gzip trailer stores the
uncompressed size modulo 4,294,967,296 bytes. See
the totalBytesEstimated return value.
    Example: 314572800

  - `result.data.totalBytesEstimated` (integer)
    Whether the totalBytes return value is an
estimate rather than an exact size.

* 1 - The value is an estimate. The gzip trailer
  stores the uncompressed size modulo
  4,294,967,296 bytes, so it wrapped for an
  archive of 4 GiB or larger.
* 0 - The value is exact.

  - `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.


