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