Job Execution

Loading...
The Job Execution API is used to execute and manage asynchronous jobs across environments.

Jobs

Contains the operations for the Jobs resource.
post
Submit a job request
Internal-Use OnlySubmits a job request.
/jobs
get
Get a list of jobs
Internal-Use OnlyReturns a collection of job resources. Standard paging, filtering, and sorting options are specified in the Parameters section.
/jobs
post
Get all jobs
Internal-Use OnlyReturns all jobs by using a filter in the body of the request. This is intended for large filters that are too long to be used as a query parameter. Standard paging, filtering, and sorting options are specified in the Parameters section.
/jobs
put
Update the state of multiple jobs
Internal-Use OnlyUpdates the state of multiple jobs. The new state must be set as the value-query parameter. The request body identifies the jobs to update. The selection type must be URI and the resources are an array of URIs that identify the jobs. The items in the response MUST match 1-to-1 with the items in the request. If the update is successful, the item in the response is an application/vnd.sas.summary object. If the update failed for a particular job, the corresponding item in the response is an application/vnd.sas.error object.
/jobs/@selection/state
get
Get a job
Internal-Use OnlyReturns information about one job based on its unique ID. After the job execution has completed, various execution artifacts can be obtained from the results member of the returned job (application/vnd.sas.job.execution.job). The items returned in the results map are provider specific. A log, if available, can be obtained from the logLocation member of the job.
/jobs/{jobId}
head
Check job availability
Internal-Use OnlyReturns the headers for the job that the corresponding GET returns. Clients can use this operation to determine whether the job exists.
/jobs/{jobId}
put
Update or replace an existing job
Internal-Use OnlyUpdates or replaces the specified job. Note: Only execution providers can use this operation.
/jobs/{jobId}
delete
Delete a job
Internal-Use OnlyDeletes the job, if the job is no longer required. If the Job Request (application/vnd.sas.job.execution.job.request) is submitted without an "expiresAfter" setting, it is the client's responsibility to delete the job from the system when it is no longer needed. If the job's logLocation is present, a delete request is issued to the log as well. The only exception is if the log is stored in files service and its parentUri points to a resource other than this job.
/jobs/{jobId}
get
Get the state of the job
Internal-Use OnlyReturns the following states: pending, running, canceled, completed, or failed.
/jobs/{jobId}/state
head
Check whether the job state exists
Internal-Use OnlyReturns the header information for the job state that the corresponding GET returns.
/jobs/{jobId}/state
put
Update the state of the job
Internal-Use OnlyUpdates the state of the current job. The new state must be set as either the value-query parameter or in the body of the request. The value-query parameter takes precedence if both are specified. If neither is specified, a 400 bad request error response is returned (error code 31505).
/jobs/{jobId}/state
get
Get the heartbeat timestamp
Internal-Use OnlyReturns a timestamp that represents the last received heartbeat update of the job. It uses the format yyyy-MM-ddTHH:mm:ss.SSSZ.
/jobs/{jobId}/heartbeatTimeStamp
head
Check whether the heartbeat timestamp exists
Internal-Use OnlyReturns the header information for the heartbeat timestamp job.
/jobs/{jobId}/heartbeatTimeStamp
post
Set the heartbeat timestamp
Internal-Use OnlyUpdates the job's heartbeat timestamp. The heartbeat timestamp value is updated when the API receives this request. The body of this request should be empty, and it is ignored if provided.
/jobs/{jobId}/heartbeatTimeStamp
get
Get the expiration timestamp
Internal-Use OnlyRetrieves the expiration timestamp as a data string the format yyyy-MM-ddTHH:mm:ss.SSSZ. The timestamp indicates when this job expired and was deleted.
/jobs/{jobId}/expirationTimeStamp
head
Get the headers for the job-expiration timestamp
Internal-Use OnlyReturns the header information for the job-expiration timestamp.
/jobs/{jobId}/expirationTimeStamp
put
Set the expiration timestamp
Internal-Use OnlyUpdates the job's expiration timestamp with a data string in the format yyyy-MM-ddTHH:mm:ss.SSSZ. To clear the expiration timestamp, provide an empty value for the value-query parameter. The body of this request must be empty. Until the job has completed, this operation returns a 409 conflict with an error code of 31503.
/jobs/{jobId}/expirationTimeStamp

JobRequests

Contains the operations for the Job Requests resource.
get
Get a list of job requests
Internal-Use OnlyReturns a collection of application/vnd.sas.job.execution.job.request resources. Standard paging, filtering, and sorting options are specified in the Parameters section.
/jobRequests
post
Create a job request
Internal-Use OnlyCreates a new job request.
/jobRequests
get
Get a job request summary
Internal-Use OnlyReturns the summary representation about a single job request based on its unique ID.
/jobRequests/{jobRequestId}
head
Check whether the job-request summary exists
Internal-Use OnlyReturns the header information for the job-request summary.
/jobRequests/{jobRequestId}
get
Get a job request
Internal-Use OnlyReturns information about a single job request based on its unique ID.
/jobRequests/{jobRequestId}
head
Check whether the job request exists
Internal-Use OnlyReturns the header information for the job request.
/jobRequests/{jobRequestId}
put
Update a job request
Internal-Use OnlyUpdates an existing job request via a full replacement of the resource. The ID field might not be modified by this operation.
/jobRequests/{jobRequestId}
delete
Delete a job request
Internal-Use OnlyDeletes the specified job request.
/jobRequests/{jobRequestId}
post
Submit multiple jobs using the specified job requests
Internal-Use OnlySubmits jobs using the job-request URIs specified in the body resource selection. The request body identifies the job requests to submit. The selection type must be URI and the resources must be an array of URIs that identify the job requests. The items in the response MUST match 1-to-1 with the items in the request. If the job is submitted successfully, the corresponding item in the response is an application/vnd.sas.job.execution.job object. If the job submission failed, the corresponding item in the response is an application/vnd.sas.error object.
/jobRequests/@selection/jobs
get
Get list of jobs associated with a job request
Internal-Use OnlyReturns a collection of application/vnd.sas.job.execution.job resources that were submitted using the specified job request. Standard paging, filtering, and sorting options are specified in the Parameters section.
/jobRequests/{jobRequestId}/jobs
post
Submit a job using the specified job request
Internal-Use OnlySubmits a job using the job request specified in the path parameter jobRequestId. The body for this request must be empty. The returned job stores the following members from the specified job request in its jobRequest member to allow for future retrieval: ID, createdBy, creationTimeStamp, modifiedBy, and modifiedTimeStamp.
/jobRequests/{jobRequestId}/jobs
post
Get a filtered list of jobs associated with the job request
Internal-Use OnlyReturns a collection of application/vnd.sas.job.execution.job resources that were submitted using the specified job request. This particular call takes the filter in the body of the request to allow large filters that exceed standard URL length limits. Standard paging, filtering, and sorting options are specified in the Parameters section.
/jobRequests/{jobRequestId}/jobs