list_etl_jobs

EtlJobsApi.list_etl_jobs(role_id, limit=None, offset=None, sortorder=None, sortby=None, projection_expression=None, filter_expression=None, _request_timeout=None, _request_auth=None, _content_type=None, _headers=None, _host_index=0)

List ETL jobs accessible to the user

Returns a paginated list of Glue ETL jobs the caller can access (owner, editor, or read-only). Use this to browse jobs before opening details, running an execution, or updating metadata.

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

  • limit (str) – Number of jobs to return in this page. Defaults to 1000. Maximum is 1000; values above that return GE-1028.

  • offset (str) – 1-based page number. offset=1 is the first page. When omitted, the first page is returned. Internally converted with int(offset)-1.

  • sortorder (str) – Sort direction applied to sortby. Use asc for ascending or desc for descending. When omitted, the list is sorted descending.

  • sortby (str) – Job attribute name used for sorting, compared case-insensitively (for example LastModified or JobName). Defaults to LastModified. The value must exist on the job object.

  • projection_expression (str) – Comma-separated job attribute names to include on each item. When omitted, all returned job fields are included. Example: Id,JobName,ETLJobType,LastModified.

  • filter_expression (str) – Comma-separated key:value pairs combined with AND (first colon splits each pair). JobName supports * wildcards. Example: JobName:sales*,ETLJobType:spark. Invalid format is rejected.

  • _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:

ETLJobsResponse

Returns:

Returns the result object.

Request and Response Examples

HTTP: GET /jobs

Success (HTTP 200)

Paginated jobs list with count (this page), total_count (matching filters), and next_available yes/no.

Request / response example

{
  "jobs": [
    {
      "CreatedBy": "jdoe",
      "CreationTime": "2026-07-02 11:00:41",
      "DatasetAccess": {
        "ReadOnly": [],
        "Owner": [],
        "ReadOnlyFileLevel": []
      },
      "DefaultArguments": {
        "--extra-py-files": "s3://example-etl-bucket/common-libs/utils/etlLogger.py"
      },
      "DomainAccess": {
        "ReadOnly": [],
        "Owner": []
      },
      "ETLJobType": "spark",
      "GlueVersion": "5.0",
      "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "IsActive": "yes",
      "IsDataLineageEnabled": "no",
      "JobName": "sales_etl_daily",
      "Keywords": [
        "Owner: jdoe"
      ],
      "LastModified": "2026-07-02 11:00:44",
      "LastModifiedBy": "jdoe",
      "NetworkConfiguration": "general-public-network",
      "NumberOfWorkers": 2,
      "PythonVersion": "3",
      "RegistrationStatus": "completed",
      "RoleUsed": "example-custom-3fa85f64-5717-4562-b3fc-2c963f66afa6-Role",
      "ScriptLocation": "s3://example-etl-bucket/3fa85f64-5717-4562-b3fc-2c963f66afa6/script/sales_etl_daily",
      "SecurityConfiguration": "GlueSecurityConfiguration",
      "WorkerType": "G.1X",
      "ParameterAccess": [],
      "SharedLibraries": [],
      "AccessType": "owner",
      "JobBookmarkOption": "disable",
      "IsAutoScalingEnabled": false,
      "LastExecutionStatus": "NEVER_EXECUTED",
      "LastExecutionTime": null
    }
  ],
  "next_available": "no",
  "count": 1,
  "total_count": 1
}

Errors

Documented error codes: GE-1028, AUTH-1001, IPV-1004, GE-1008.

HTTP 400

Validation or authorization failure.

Page size exceeds 1000

{
  "Message": "GE-1028 - Out of range for items per page, Limit is 1000"
}

Missing role_id header

{
  "Message": "AUTH-1001 - Missing role information in event header"
}

filterExpression is not key:value pairs

{
  "Message": "IPV-1004 - filterExpression must be in the format 'key:value,key:value'"
}

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."
}