get_etl_job_details

EtlJobsApi.get_etl_job_details(id, role_id, projection_expression=None, action=None, _request_timeout=None, _request_auth=None, _content_type=None, _headers=None, _host_index=0)

Get job details or code generation status

Returns ETL job details for a job the caller can access. Use action=generate-code to retrieve AI code-generation status (requires AI services and Jobs AI enabled).

Parameters:
  • id (str) – UUID v4 of the ETL job. Invalid UUID format is rejected. (required)

  • role_id (str) – Amorphic role ID sent for authorization. Missing this header returns AUTH-1001. (required)

  • projection_expression (str) – Comma-separated attribute names to include. When omitted, the full formatted job object is returned. Example: Id,JobName,ScriptLocation.

  • action (str) – Set to generate-code to return AI code-generation status (and a presigned URL when a result file exists) instead of job details. Omit this parameter to return the job object.

  • _request_timeout (int, tuple(int, int), optional) – timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts.

  • _request_auth (dict, optional) – set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request.

  • _content_type (str, Optional) – force content-type for the request.

  • _headers (dict, optional) – set to override the headers for a single request; this effectively ignores the headers in the spec for a single request.

  • _host_index (int, optional) – set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request.

Return type:

GetEtlJobDetails200Response

Returns:

Returns the result object.

Request and Response Examples

HTTP: GET /jobs/{id}

Success (HTTP 200)

Job details (ETLJobByIdResponse), or code-generation status / in-progress Message when action=generate-code.

Job details

{
  "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "JobName": "sales_etl_daily",
  "ETLJobType": "spark",
  "Description": "Daily sales transform",
  "AccessType": "owner",
  "RegistrationStatus": "completed",
  "GlueVersion": "4.0",
  "WorkerType": "G.1X",
  "NumberOfWorkers": 2,
  "Timeout": 60,
  "JobBookmarkOption": "disable",
  "IsAutoScalingEnabled": false,
  "IsDataLineageEnabled": "no",
  "NetworkConfiguration": "general-public-network",
  "ScriptLocation": "s3://example-etl-bucket/3fa85f64-5717-4562-b3fc-2c963f66afa6/script.py",
  "LastModified": "2026-08-15 10:00:00"
}

action=generate-code while generation is running

{
  "Message": "Code generation is in progress for this job"
}

Errors

Documented error codes: IPV-1002, AUTH-1010, GE-1008.

HTTP 400

Invalid JobId, missing permission, or Jobs AI not enabled for generate-code. Body is {“Message”: “<CODE> - <text>”}.

Job does not exist

{
  "Message": "IPV-1002 - Invalid JobId - 3fa85f64-5717-4562-b3fc-2c963f66afa6, resource not found."
}

Caller cannot access the job

{
  "Message": "AUTH-1010 - User jdoe is not authorized to perform this operation"
}

HTTP 500

Uncaught backend failure. Typical Message is “GE-1008 - Could not complete the request. Please try again.”

Request / response example

{
  "Message": "GE-1008 - Could not complete the request. Please try again."
}