Get the Progress of a Site Related Job
/sites/management/api/v1/sites/_status/{id}
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 Name | Description |
jobStatus | Site 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
-
id: string
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.
-
excludeFields(optional): string
Comma-delimited string of field names that should not be included in the response.
-
excludeLinks(optional): string
Comma-separated list of link relation names to exclude from the response.
-
expand(optional): string
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 Name Description site
The site that was created by the completed site creation job. translationFile
The details of the translation file. translationJob
The details of the translation job. pages
List of all pages that are included in the site refresh job. translationImportFile
The file containing the site translations to import. theme
The copied theme for completed copy job. component
The copied component for completed copy job. -
expansionErrors(optional): string
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
-
-
fields(optional): string
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.
-
links(optional): string
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 Relationship Description parent
Describes 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.self
Describes 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. canonical
Describes 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. pages
Describes the pages child collection. describedBy
Describes 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. -
return(optional): string
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
andexpand
query parameters.The following representations are supported with the
return
query parameter:Representation Description representation
Full resource representation includes all properties and links and expands most relationships. default
Default resource representation includes most properties and links. basic
Basic resource representation includes some properties and some links. minimal
Minimal resource representation, includes essential properties and no links.
Response
- application/json
- application/vnd.oracle.resource+json;type=singular
200 Response
-
Cache-Control: string
Directives for caching mechanisms.
-
Content-Length: string
Size of the response body.
-
Content-Type: string
Content type of the response.
-
allOf
SiteJobStatus
Discriminator:
action
Background job details for site jobs.
action
Background job details for site jobs.
-
object
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.
-
object
SiteJobStatus-allOf[1]
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.
-
links(optional):
array links
HATEOS link to related resources and actions or actions on this resource. Must include at least a 'self' link that contains a link to the canonical representation of the resource.
object
-
action(optional):
string
Type of Site Job Status. Valid values are:
,
translate
,copy
,publish
,importTranslations
,hardDelete
,copyTheme
,copyComponent
,refresh
,publishTheme
. -
completed(optional):
boolean
Whether the asynchronous job is completed or not.
-
completedPercentage(optional):
integer(int32)
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.
-
context(optional):
string
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.
-
endTime(optional):
string(date-time)
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(optional):
object error
Error details for the asynchronous job response when the job fails. This is only available if the asynchronous job has run but failed.
-
intervalToPoll(optional):
integer(int64)
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.
-
message(optional):
string
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.
-
progress(optional):
string
The current progress of the asynchronous job. These values indicate that the asynchronous job has ended:
succeeded
,failed
,aborted
. The valueblocked
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
-
aborted
- Request was aborted
-
paused
- Request was running, but is now paused -
blocked
- Request is blocked
-
-
requestStatus(optional):
integer(int32)
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(optional):
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. -
startTime(optional):
string(date-time)
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.
array
HATEOS link to related resources and actions or actions on this resource. Must include at least a 'self' link that contains a link to the canonical representation of the resource.
object
REST HATEOAS link and related metadata. If responses provide links (for example, a self
link to the resource itself) the links provided will include one or more of the properties defined on this link structure.
-
href(optional):
string
The target resource URI. URI RFC3986 or URI Template RFC6570. If the value is set to URI Template, then the
templated
property must be set totrue
. -
mediaType(optional):
string
Media type, as defined by RFC 2046, describing the link target.
-
method(optional):
string
HTTP method for requesting the target of the link.
Valid values are:
-
OPTIONS
- HTTP OPTIONS -
HEAD
- HTTP HEAD -
GET
- HTTP GET -
POST
- HTTP POST -
PUT
- HTTP PUT -
PATCH
- HTTP PATCH -
DELETE
- HTTP DELETE
-
-
profile(optional):
string(uri)
Link to the metadata of the resource, such as JSON-schema, that describes the resource expected when dereferencing the target resource.
-
rel(optional):
string
Name of the link relation that, in addition to the type property, can be used to retrieve link details.
-
templated(optional):
boolean
Boolean flag that specifies the
href
property is a URI or URI Template. The property can be assumed to befalse
if the property is not present.
object
Error details for the asynchronous job response when the job fails. This is only available if the asynchronous job has run but failed.
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.
-
object
HttpResponse
Captures a HTTP response so that it can be returned as structured data, for example capturing a HTTP response for an asynchronous request.
object
Captures a HTTP response so that it can be returned as structured data, for example capturing a HTTP response for an asynchronous request.
-
headers(optional):
array headers
HTTP response headers.
-
status(optional):
object status
HTTP status code response value and reason.
object
HTTP status code response value and reason.
-
code:
integer(int32)
The corresponding HTTP status code for the exception. For exception that includes a resource does not exist would have a HTTP status of
404
. -
reason:
string
Short, human-readable summary of the status code.
object
-
name:
string
Header name.
-
value(optional):
string
Header value.
{
"context":"F49F1047E72E2FBBA7AD1754F7253CA453FCE1E1171C1541416472868",
"action":"copy",
"startTime":"2019-05-31T09:14:29.000Z",
"progress":"processing",
"completed":false,
"completedPercentage":38,
"intervalToPoll":5000
}
400 Response
401 Response
403 Response
404 Response
-
Cache-Control: string
Directives for caching mechanisms.
-
Content-Length: string
Size of the response body.
-
Content-Type: string
Content type of the response.
-
object
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.
-
object
SiteJobNotFoundExceptionDetail-allOf[1]
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.
-
detail(optional):
string
Description specific to this occurrence of the problem. The human-readable, potentially multi-line details describing the problem in more details.
-
instance(optional):
string(uri)
URI to the link that provides more detail about the error.
-
o:errorCode(optional):
string
Application error code, which is different from HTTP error code. This code should be used to check for specific errors, rather than comparing fields such as the
title
ordetail
. -
o:errorDetails(optional):
array o:errorDetails
Multiple errors can be organized in a hierarchical structure.
-
o:errorPath(optional):
string
XPath or JSON path to indicate where the error occurs.
-
status(optional):
integer(int32)
Corresponding HTTP status code for the error.
-
title(optional):
string
Short, human-readable summary of the problem. It is not advisable to use the title as a way of checking for specific errors, use the
o:errorCode
for this purpose. -
type(optional):
string(uri)
Absolute URI that identifies the problem type. When this URI dereferenced, it should provide a human-readable summary of the problem, for example, as a HTML page.
object
-
jobStatus(optional):
string
Site job status that does not exist or is not visible to the authenticated user.
array
Multiple errors can be organized in a hierarchical structure.
-
object
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.
{
"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"
}
}