Get the Progress of a Site Related Job

get

/sites/management/api/v1/sites/_status/{id}

SINGULAR

Get the job status for a site-related job. The progress of long-running site-related background jobs, such as site creation (that is not handled as requests), site publishing, creating a translation job and importing translations, can be monitored using this resource.

Requests to perform an asynchronous operation on a site will respond with a Location header that points to a site job status resource.

Introduced in release 19.2.1.

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 - Get the Status of a Running Create or Copy Job

Job status for a processing site job, indicating the percentage progress. Links are not included in the response. Jobs for both creating and copying sites have the same action value of copy.

Request

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

Response Body

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

200OK - Get the Status of a Failed Create or Copy Job

Job status for a failed site job, indicating the error that occurred during processing. Links are not included in the response. Jobs for both creating and copying sites have the same action value of copy.

Request

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

Response Body

{
  "context": "F49F1047E72E2FBBA7AD1754F7253CA453FCE1E1171C1541416472868",
  "action": "copy",
  "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": [
    ]
  }
}

200OK - Get the Status of a Create Site Translation Job

Job status for creating a site translation job. Include the download link in the response. This will include the link to download the translation zip file if the job is completed.

Request

GET https://api.example.com/sites/management/api/v1/sites/_status/{id}?links=download

Response Body

{
  "action": "translate",
  "context": "671C087F29FD18701ABB0F48A252F2101578927448365",
  "startTime": "2020-01-13T14:57:28.000Z",
  "endTime": "2020-01-13T14:57:45.000Z",
  "progress": "succeeded",
  "completed": true,
  "completedPercentage": 100,
  "translationFile": {
    "links": [
        {
          "rel": "download",
          "href": "http://acmecorp.com/documents/api/1.2/files/D7954F8FE0DC1AFC8B68E594A9BCC17EC9210ED29015/data",
          "templated": false,
          "mediaType": "application/json",
          "method": "GET"
        }
    ],
    "id": "D7954F8FE0DC1AFC8B68E594A9BCC17EC9210ED29015",
    "name": "AcmeProductLaunch.zip",
    "type": "file",
    "version": "1",
    "size": "12646",
    "parentID": "TRANSLATIONJOBSF29E5445DC86366110B7BA737771948CD1C2E31858AE",
    "createdTime": "2020-01-13T14:57:44Z",
    "createdBy": {
      "id": "UC1279D4F6BCCD27849F348E5915CC72E971",
      "displayName": "cecsadmina",
      "loginName": "swebcli.cecsadmina",
      "type": "user"
    },
    "modifiedTime": "2020-01-13T14:57:44Z",
    "modifiedBy": {
      "id": "UC1279D4F6BCCD27849F348E5915CC72E971",
      "displayName": "cecsadmina",
      "loginName": "swebcli.cecsadmina",
      "type": "user"
    },
    "ownedBy": {
      "id": "docadmin",
      "displayName": "Oracle Documents Administrator",
      "loginName": "docadmin",
      "type": "user"
    }
  },
  "translationJob": {
    "id": "5F20EFDFCA31942378734091C014282C",
    "name": "AcmeProductLaunch",
    "type": "sites",
    "createdBy": "swebcli.cecsadmina",
    "createdDate": {
      "value": "2020-01-13T14:57:36.122Z",
      "timezone": "UTC"
    },
    "updatedBy": "swebcli.cecsadmina",
    "updatedDate": {
      "value": "2020-01-13T14:57:44.835Z",
      "timezone": "UTC"
    },
    "status": "READY",
    "fFolderGUID": "TRANSLATIONJOBSF29E5445DC86366110B7BA737771948CD1C2E31858AE",
    "fFileGUID": "D7954F8FE0DC1AFC8B68E594A9BCC17EC9210ED29015",
    "repositoryId": "F5D91F0689F54D6DBCD5B0F7814710A1",
    "assetPendingLanguages": [
        "fr",
        "de"
    ],
    "sitePendingLanguages": [
        "fr",
        "de"
    ],
    "siteGUID": "FBEF7E4A45AEE0E80BA511A3FFE257659D7CA3DF80FE",
    "siteId": "site-enterprise-auto-ownedby-admin",
    "roleName": "manager",
    "data": "jobName=AcmeProductLaunch|repositoryId=F5D91F0689F54D6DBCD5B0F7814710A1|sourceLanguage=en|targetLanguages=fr,de|siteGUID=FBEF7E4A45AEE0E80BA511A3FFE257659D7CA3DF80FE|exportType=siteAll|connectorId="
  }
}
Introduced in release 19.4.3.

200OK - Get the Status of an Import Site Translation Job

Job status for importing site translations. The response contains details about the assets and site content translations that were imported, along with a validation report. If the job was created with options of validate then only the validation report will be present, and no translations will have been imported. Links are not included in the response.

Request

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

Response Body

{
  "action": "importTranslations",
  "context": "428C8427D3B4DF8CC8913C43DA8C985D1578932712857",
  "startTime": "2020-01-13T16:25:12.000Z",
  "endTime": "2020-01-13T16:25:33.000Z",
  "progress": "succeeded",
  "completed": true,
  "completedPercentage": 100,
  "valid": true,
  "sourceLanguage": "en",
  "targetLanguages": [
      "fr",
      "de"
  ],
  "importedAssetTranslations": [
      {
        "id": "COREA4145ED68B284FAB9DDCB81AB11721F0",
        "name": "AcmeAssets"
      }
  ],
  "importedSiteTranslations": [
      {
        "fileName": "10.json",
        "page": {
          "id": 10,
          "name": "Home",
          "pageUrl": "index.html",
          "hideInNavigation": false,
          "linkUrl": "",
          "linkTarget": "",
          "children": [
              100,
              201,
              200
          ],
          "overrideUrl": false,
          "isDetailPage": false
        }
      },
      {
        "fileName": "100.json",
        "page": {
          "id": 100,
          "name": "Developing Templates",
          "parentId": 10,
          "pageUrl": "developing-templates.html",
          "hideInNavigation": false,
          "linkUrl": "",
          "linkTarget": "",
          "children": [
              110,
              120,
              130,
              140,
              150
          ],
          "overrideUrl": false,
          "isDetailPage": false
        }
      },
      {
        "fileName": "110.json",
        "page": {
          "id": 110,
          "name": "Themes",
          "parentId": 100,
          "pageUrl": "developing-templates/themes.html",
          "hideInNavigation": false,
          "linkUrl": "",
          "linkTarget": "",
          "children": [
          ],
          "overrideUrl": false,
          "isDetailPage": false
        }
      },
      {
        "fileName": "120.json",
        "page": {
          "id": 120,
          "name": "Pages",
          "parentId": 100,
          "pageUrl": "developing-templates/pages.html",
          "hideInNavigation": false,
          "linkUrl": "",
          "linkTarget": "",
          "children": [
          ],
          "overrideUrl": false,
          "isDetailPage": false
        }
      },
      {
        "fileName": "130.json",
        "page": {
          "id": 130,
          "name": "Navigation",
          "parentId": 100,
          "pageUrl": "developing-templates/navigation.html",
          "hideInNavigation": false,
          "linkUrl": "",
          "linkTarget": "",
          "children": [
          ],
          "overrideUrl": false,
          "isDetailPage": false
        }
      },
      {
        "fileName": "140.json",
        "page": {
          "id": 140,
          "name": "Page Content",
          "parentId": 100,
          "pageUrl": "developing-templates/page-content.html",
          "hideInNavigation": false,
          "linkUrl": "",
          "linkTarget": "",
          "children": [
          ],
          "overrideUrl": false,
          "isDetailPage": false
        }
      },
      {
        "fileName": "siteinfo.json"
      },
      {
        "fileName": "structure.json"
      }
  ],
  "assetValidation": {
    "valid": true,
    "languagesNotReturned": [
        "de"
    ],
    "languagesReturnedComplete": [
        "fr"
    ],
    "languagesReturnedIncomplete": [
    ],
    "translationsMissed": [
    ],
    "translationsCorrupted": [
    ],
    "translationsInvalidEncoding": [
    ],
    "itemsToBeImported": [
    ],
    "nonTranslatableItems": [
    ],
    "deletedMasterItems": [
    ]
  },
  "siteValidation": {
    "valid": true,
    "languagesNotReturned": [
        "de"
    ],
    "languagesReturnedComplete": [
        "fr"
    ],
    "languagesReturnedIncomplete": [
    ],
    "translationsMissed": [
    ],
    "translationsCorrupted": [
    ],
    "translationsInvalidEncoding": [
    ],
    "deletedPages": [
    ],
    "itemsToBeImported": [
    ]
  },
  "validationOnly": false
}
Introduced in release 20.1.1.

200OK - Get the Status of a Refresh Site Job

Job status for refreshing a site. Include all pages in the response by including the expand query parameter. Links are not included in the response.

Request

GET https://api.example.com/sites/management/api/v1/sites/_status/{id}?links=none&expand=pages

Response Body

{
  "action": "refresh",
  "context": "refresh:355988",
  "progress": "processing",
  "completed": false,
  "pageCount": 5,
  "pendingCount": 1,
  "processingCount": 3,
  "completedCount": 1,
  "failedCount": 0,
  "pages": {
    "limit": 50,
    "count": 5,
    "hasMore": false,
    "offset": 0,
    "items": [
        {
          "pageUrl": "http://oracle.cec.com/site/home.html",
          "status": "complete"
        },
        {
          "pageUrl": "http://oracle.cec.com/site/about.html",
          "status": "processing"
        },
        {
          "pageUrl": "http://oracle.cec.com/site/menu.html",
          "status": "processing"
        },
        {
          "pageUrl": "http://oracle.cec.com/site/menu/details.html",
          "status": "processing"
        },
        {
          "pageUrl": "http://oracle.cec.com/site/privacy-policy.html",
          "status": "pending"
        }
    ]
  }
}
Introduced in release 20.2.2.

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 - Site Job Not Found

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

Error Code

OCE-SITEMGMT-009024

Resolution - Check Identifier

Check that the site job identifier is valid.

Exception Detail Fields

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

Field NameDescription
jobStatusSite job status that does not exist or is not visible to the authenticated user.

For detailed information about this exception detail type, consult the SiteJobNotFoundExceptionDetail 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": "Site Job Not Found",
  "status": "404",
  "detail": "Job does not exist or has been deleted, or the authenticated user or client application does not have access to the job.",
  "o:errorCode": "OCE-SITEMGMT-009024",
  "jobStatus": {
    "context": "37D1070720325969AC6C47ACE8B9BFF91533560416423"
  }
}

Request

Path Parameters
  • 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.

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 that you want to expand. Use the value all to expand all relationships.

    The following field names can be specified in the expand query parameter:

    Field NameDescription
    siteThe site that was created by the completed site creation job.
    translationFileThe details of the translation file.
    translationJobThe details of the translation job.
    pagesList of all pages that are included in the site refresh job.
    translationImportFileThe file containing the site translations to import.
    themeThe copied theme for completed copy job.
    componentThe copied component for completed copy job.
  • Specify how errors in expansion are handled. If not specified, then the default is to include error details in the relationship field.

    Valid values are:

    • ignore - Ignore the error and do not expand the relationship. Relationship links are not included in the response
    • include - Include the error details instead of the expanded relationship. Relationship links are returned
    • fail - Fail the request with an expansion failure error 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.

  • 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.
    pagesDescribes the pages child collection.
    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.
  • 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
Match All
Show Source
Nested Schema : SiteJobStatus
Discriminator: action

Background job details for site jobs.

Match All
Show Source
  • SingularResource

    All singular resources include the properties of the singular resource definition. A singular resource includes a list of links that provide relationships to other resources, or in the case of the self link the resource itself.

  • SiteJobStatus-allOf[1]
Nested Schema : SingularResource
Type: object

All singular resources include the properties of the singular resource definition. A singular resource includes a list of links that provide relationships to other resources, or in the case of the self link the resource itself.

Show Source
  • links
Nested Schema : SiteJobStatus-allOf[1]
Type: object
Show Source
  • Type of Site Job Status. Valid values are: , translate, copy, publish, importTranslations, hardDelete, copyTheme, copyComponent, refresh, publishTheme.

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

  • 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 (Get the Status of a Running Create or Copy Job)
{
    "context":"F49F1047E72E2FBBA7AD1754F7253CA453FCE1E1171C1541416472868",
    "action":"copy",
    "startTime":"2019-05-31T09:14:29.000Z",
    "progress":"processing",
    "completed":false,
    "completedPercentage":38,
    "intervalToPoll":5000
}

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 : SiteJobNotFoundExceptionDetail
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 : SiteJobNotFoundExceptionDetail-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 (Site Job Not Found)
{
    "type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
    "title":"Site Job Not Found",
    "status":"404",
    "detail":"Job does not exist or has been deleted, or the authenticated user or client application does not have access to the job.",
    "o:errorCode":"OCE-SITEMGMT-009024",
    "jobStatus":{
        "context":"37D1070720325969AC6C47ACE8B9BFF91533560416423"
    }
}

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