Check the Progress of a Request

get

/sites/management/api/v1/requests/{id}/job

RELATION

Read the background job status for request-related processing. When a request is approved, any processing required by the request will be initiated, for example a request for a new site would start the site creation processing. The progress of this processing can be monitored by accessing this job status resource.

The job status is always available for a request, if the request has not been approved then the status will indicate that the request is blocked - blocked waiting for approval. A completed request will also have a job status that is succeeded and the completed field will be true.

Authorization

To access this relationship requires read access to the parent resource.

Approve or Reject a Blocked Request

If a request job status indicates that the request is blocked it means that the request is not approved or has been rejected. Requests are approved or rejected by adding a review.

For more information, see Reject or Approve a Request.

Retrying a Failed Request

If a request job status indicates that the request has failed the request processing can be retried. Depending on the type of failure a retry can complete the processing of the request.

For more information, see Retry a Failed Request.

Successful Response Examples

This operation responds with the following success (2xx) responses. For a full list of response HTTP status codes and example bodies, consult the Response section of this operation.

200OK - Request Requires Approval

The request job will be blocked when it is awaiting approval, or has been rejected.

Request

GET https://api.example.com/sites/management/api/v1/requests/{id}/job?links=none

Response Body

{
  "progress": "blocked",
  "completed": false
}

200OK - Request Job Running

Request has been approved and the job is running. The startTime is when the job starting running. The intervalToPoll value gives a hint as to how often to poll for progress (in milliseconds).

Request

GET https://api.example.com/sites/management/api/v1/requests/{id}/job?links=none

Response Body

{
  "context": "F49F1047E72E2FBBA7AD1754F7253CA453FCE1E1171C1541416472868",
  "startTime": "2019-05-31T09:14:29.000Z",
  "progress": "processing",
  "completed": false,
  "completedPercentage": 38,
  "intervalToPoll": 5000
}

200OK - Request Succeeded

The request has completed successfully.

Request

GET https://api.example.com/sites/management/api/v1/requests/{id}/job?links=none

Response Body

{
  "context": "F49F1047E72E2FBBA7AD1754F7253CA453FCE1E1171C1541416472868",
  "startTime": "2019-05-31T09:14:27.000Z",
  "endTime": "2019-05-31T09:14:34.000Z",
  "progress": "succeeded",
  "completed": true,
  "completedPercentage": 100
}

200OK - Request Failed

The request had been approved, but the job has failed. The error property will give the reason for the failure. The request can be retried if the reason for failure is addressed. For example, the clashing site might be renamed. Or the request itself may be changed if that resolves the issue, for example by providing a new name for the site being requested. If the request details are changed, the request will need to go through the approval process again.

Request

GET https://api.example.com/sites/management/api/v1/requests/{id}/job?links=none

Response Body

{
  "context": "F49F1047E72E2FBBA7AD1754F7253CA453FCE1E1171C1541416472868",
  "startTime": "2019-05-31T09:14:25.000Z",
  "progress": "failed",
  "completed": false,
  "error": {
    "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
    "title": "Site Already Exists",
    "status": 409,
    "detail": "Site with name 'AcmeProductLaunch' already exists.",
    "o:errorCode": "OCE-SITEMGMT-009004",
    "o:errorDetails": [
    ]
  }
}

Client Error Response Examples

This operation responds with following client error (4xx) responses with exception details in the response body. For a full list of response HTTP status codes and example bodies, consult the Response section of this operation.

404Not Found - Request Not Found

The request does not exist or has been deleted, or the authenticated user or client application does not have access to the request.

Error Code

OCE-SITEMGMT-009001

Resolution - Check Identifier

Check that the request identifier is valid.

Resolution - Check Authorization

Check that the authenticated user can review the request or that the authenticated user is the user that created the request.

Exception Detail Fields

This error type includes the following fields/values in the response:

Field NameDescription
requestRequest that does not exist or is not visible to the authenticated user.

For detailed information about this exception detail type, consult the RequestNotFoundExceptionDetail schema in the definitions section of the swagger document.

Example Response Body
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
  "title": "Request Not Found",
  "status": "404",
  "detail": "Request does not exist or has been deleted, or the authenticated user or client application does not have access to the request.",
  "o:errorCode": "OCE-SITEMGMT-009001",
  "request": {
    "id": "e77229e8-1f44-4c27-bacb-9a99b7c77af7"
  }
}

404Not Found - Relationship Not Found

An attempt to read a relationship has failed because the relationship does not exist. Reading a relationship can fail if the relationship no longer exists or the authenticated identity is not authorized to read the relationship details.

Error Code

PAAS-005027

Example Response Body
{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
  "title": "Relationship Not Found",
  "status": "404",
  "detail": "Relationship resource not found. There is a relationship to a resource, but the resource at the end of the relationship does not exist, or the authenticated identity cannot see the resource.",
  "o:errorCode": "PAAS-005027"
}

This resource represents the relationship between a Request and Request Job Status resource. If the Request Job Status has been deleted or the authenticated user is not authorized to read the resource then the response status code will be 404 Not Found and a Relationship Not Found error will be returned in the response body.

Request

Path Parameters
  • Globally unique immutable identifier for a request.

Query Parameters
  • Comma-delimited string of field names that should not be included in the response.

  • Comma-separated list of link relation names to exclude from the response.

  • Comma-delimited string of field names to include in the response. Nested fields can be identified using a dot to separate the field names. Field names are case-sensitive. Field names are ignored if the field does not exist.

  • Resources that have been marked for deletion can be read, modified, and support extended operations as long this query parameter is set to true. When the includeDeleted query parameter is not sent then the response to read, modification, and extended operations will be identical to that which would be returned if the resource was permanently deleted.

  • Comma-separated list of link relation names to include in the response. By default, all links are returned.

    The following links are provided by this resource:

    Link RelationshipDescription
    parentDescribes where the parent resource can be read. Equivalent to an up link, this link provides the link to the parent resource, such as the collection resource that contains a singular resource.
    selfDescribes the current returned representation of the resource. Used for links that represent the resource itself. For example, if a resource is returned as part of a collection, the self link will provide the URL path for the individual resource.
    canonicalDescribes the preferred representation of the requested resource. Used for links that represent the canonical form of the resource. For example, if a resource is returned as part of a collection, the canonical link will provide the URL path for the canonical form of the individual resource.
    describedByDescribes the schema resource providing metadata information about the resource. Used on collection, singular and relation resources to indicate where the schema resource is that describes the resource.
    requestRequest links are returned in responses to provide access to the related request. The main usage of a request link is to provide a way of discovering the request that is associated with an extended operation that has been accepted and directed towards a status resource. The status resource can provide a request link that represents the request for the operation.
  • Specify the resource representation that should be used to control the response fields and links. If no representation is specified, the client-defined representation is returned, based on the values of the fields, excludeFields, links, excludeLinks and expand query parameters.

    The following representations are supported with the return query parameter:

    RepresentationDescription
    representationFull resource representation includes all properties and links and expands most relationships.
    defaultDefault resource representation includes most properties and links.
    basicBasic resource representation includes some properties and some links.
    minimalMinimal resource representation, includes essential properties and no links.
Back to Top

Response

Supported Media Types

200 Response

OK
Headers
Body ()
Root Schema : schema
Type: object
Show Source
  • Whether the asynchronous job is completed or not.

  • A number between 0 and 100, capturing how much of the process has been completed. If the asynchronous job has not started the percentage complete will not be provided. Not all background asynchronous jobs support granular process, so the percentage complete may jump from zero to one hundred without any steps.

  • Job context identifier value that can be used to correlate the response to the original asynchronous job. Depending on how the asynchronous job was initiated will determine whether there is a context value and what the context value is.

  • Time when the asynchronous job finished running, or when the asynchronous job failed. If the asynchronous job has not finished or failed (or not started) this property will not be present. Certain background jobs may not record a stop time, so if if the job has completed there may not be a stop time. Date and time values are in ISO 8601 yyyy-MM-dd'T'HH:mm:ss.SSS'Z' format using a UTC timezone.

  • error

    Error details for the asynchronous job response when the job fails. This is only available if the asynchronous job has run but failed.

  • A number in milliseconds, as a hint to the client on how long the client should wait before checking the status again. Absence of this value means there is no suggested polling interval and the client can poll as required.

  • links
  • Human-readable message about the current processing status. This message can be used to communicate progress to the end user. Asynchronous requests or jobs may not provide a human-readable status message.

  • The current progress of the asynchronous job. These values indicate that the asynchronous job has ended: succeeded, failed, aborted. The value blocked means that the asynchronous job requires action, such as waiting for a human to approve something. The values that indicate the asynchronous job is in process are: pending, processing, paused.

    Valid values are:

    • pending - Request is waiting to run
    • processing - Request is running
    • succeeded - Request has completed successfully
    • failed - Request has failed
    A processing request failed before it was completed.
    • aborted - Request was aborted
    A processing request was aborted before it was completed.
    • paused - Request was running, but is now paused
    • blocked - Request is blocked
    Request requires action, such as waiting for a human to approve something.

  • HTTP status code of the asynchronous asynchronous job request. This status is not the status obtaining when querying the asynchronous job status, but the status response of the asynchronous job when it is completed. This value is only available after the asynchronous job has ended.

  • result

    It may be desirable to include the final result in the status resource so that the client can get the result when it polls the service for the status. The result is captured in this optional property. This property should only be used when the HTTP response can be efficiently returned inside the status resource. If this property is present, then the requestStatus property will be omitted to avoid duplication. The body of the response is a JSON object comprised of response-specific properties. Non-JSON response data may be supported either by Base64 encoding the non-JSON data as a byte string inside the body property or providing a link to the non-JSON resource in the 'links' property of the status resource.

  • Time when the asynchronous job started running. If the asynchronous job has not started this property will not be present. Certain background jobs may not record a start time, so if if the job has started there may not be a start time. Date and time values are in ISO 8601 yyyy-MM-dd'T'HH:mm:ss.SSS'Z' format using a UTC timezone.

Nested Schema : error
Type: object

Error details for the asynchronous job response when the job fails. This is only available if the asynchronous job has run but failed.

Nested Schema : result

It may be desirable to include the final result in the status resource so that the client can get the result when it polls the service for the status. The result is captured in this optional property. This property should only be used when the HTTP response can be efficiently returned inside the status resource. If this property is present, then the requestStatus property will be omitted to avoid duplication. The body of the response is a JSON object comprised of response-specific properties. Non-JSON response data may be supported either by Base64 encoding the non-JSON data as a byte string inside the body property or providing a link to the non-JSON resource in the 'links' property of the status resource.

Match All
Show Source
  • HttpResponse

    Captures a HTTP response so that it can be returned as structured data, for example capturing a HTTP response for an asynchronous request.

Nested Schema : HttpResponse
Type: object

Captures a HTTP response so that it can be returned as structured data, for example capturing a HTTP response for an asynchronous request.

Show Source
Nested Schema : headers
Type: array

HTTP response headers.

Show Source
Nested Schema : status
Type: object

HTTP status code response value and reason.

Show Source
  • The corresponding HTTP status code for the exception. For exception that includes a resource does not exist would have a HTTP status of 404.

  • Short, human-readable summary of the status code.

Nested Schema : items
Type: object
Show Source
Example Response (Request Requires Approval)
{
    "progress":"blocked",
    "completed":false
}

400 Response

Bad Request

401 Response

Unauthorized

403 Response

Forbidden

404 Response

Not Found
Headers
Body ()
Root Schema : schema
Match All
Show Source
Nested Schema : RequestNotFoundExceptionDetail
Match All
Show Source
Nested Schema : ExceptionDetail
Type: object

In addition to HTTP error code and error messages, it is often desirable to provide additional information to the client when a request fails. In such cases, the additional information will be included in the response body.

Show Source
Nested Schema : RequestNotFoundExceptionDetail-allOf[1]
Type: object
Show Source
Nested Schema : o:errorDetails
Type: array

Multiple errors can be organized in a hierarchical structure.

Show Source
Nested Schema : items
Match All
Show Source
  • ExceptionDetail

    In addition to HTTP error code and error messages, it is often desirable to provide additional information to the client when a request fails. In such cases, the additional information will be included in the response body.

Example Response (Request Not Found)
{
    "type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
    "title":"Request Not Found",
    "status":"404",
    "detail":"Request does not exist or has been deleted, or the authenticated user or client application does not have access to the request.",
    "o:errorCode":"OCE-SITEMGMT-009001",
    "request":{
        "id":"e77229e8-1f44-4c27-bacb-9a99b7c77af7"
    }
}
Example Response (Relationship Not Found)
{
    "type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
    "title":"Relationship Not Found",
    "status":"404",
    "detail":"Relationship resource not found. There is a relationship to a resource, but the resource at the end of the relationship does not exist, or the authenticated identity cannot see the resource.",
    "o:errorCode":"PAAS-005027"
}

406 Response

Not Acceptable

416 Response

Range Not Satisfiable

429 Response

Too Many Requests

500 Response

Internal Server Error

501 Response

Not Implemented

502 Response

Bad Gateway

503 Response

Service Unavailable

504 Response

Gateway Timeout
Back to Top