get_data_pipeline_details¶
- DataPipelinesApi.get_data_pipeline_details(id, role_id, action=None, node=None, projection_expression=None, _request_timeout=None, _request_auth=None, _content_type=None, _headers=None, _host_index=0)¶
Get data pipeline details or Lambda node presigned URLs
Default (no action) returns the stored pipeline plus AccessType and DataPipelineType (glue if omitted). Requires read-only access. Unknown action values are ignored and details are returned. action=upload-script or retrieve-script is AI Flow only and requires query node (LambdaFunction NodeName). Both return LambdaNodePresignedUrl with presignedUrl (PUT vs GET) and s3Location. Missing node, non-ai type, unknown node, or non-Lambda node is DP-1010 (HTTP 403). Code reads projection_expression (underscore, comma-separated). Spec projectionExpression is not applied on this handler.
- Parameters:
id (str) – DataPipelineId. (required)
role_id (str) – Amorphic role ID the request is authorized against. Must be a role the user belongs to. Lambda returns AUTH-1001 (HTTP 403 on v2-dataPipelines, HTTP 400 on v2-downloadLogs) if missing after gateway validation. (required)
action (str) – AI Flow Lambda node shortcut. upload-script returns a PUT URL; retrieve-script returns a GET URL. Requires node.
node (str) – LambdaFunction NodeName. Required when action is upload-script or retrieve-script.
projection_expression (str) – Comma-separated keys to keep on the details document. Read by the handler. Ignored for script actions.
_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 /data-pipelines/{id}
Success (HTTP 200)¶
GetDataPipelineDetailsResponse, or GetDataPipelineLambdaPresignedResponse when action is a script action.
Glue pipeline details
{
"DataPipelineId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"DataPipelineName": "orders_enrichment_flow",
"Description": "Enrich orders with customer attributes",
"DataPipelineType": "glue",
"AccessType": "owner",
"PipelineStatus": "create_complete",
"CreatedBy": "user1",
"CreationTime": "2026-01-15 10:30:00",
"LastModifiedBy": "user1",
"LastModifiedTime": "2026-08-01 14:22:00",
"Keywords": [
"orders"
],
"MaxConcurrentRuns": 1,
"Nodes": [
{
"ModuleType": "start_node",
"NodeName": "start"
},
{
"ModuleType": "etl_job",
"NodeName": "enrich_orders",
"Resource": {
"Id": "job-11111111-1111-1111-1111-111111111111",
"Name": "enrich_orders_job"
},
"Arguments": {}
},
{
"ModuleType": "end_node",
"NodeName": "end"
}
],
"Graph": {
"start": {
"success": [
"enrich_orders"
],
"failure": []
},
"enrich_orders": {
"success": [
"end"
],
"failure": []
},
"end": {
"success": [],
"failure": []
}
}
}
AI Lambda node upload URL
{
"LambdaNodePresignedUrl": {
"presignedUrl": "https://s3.amazonaws.com/bucket/lambda.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256",
"s3Location": "s3://bucket/ai-flows/kb_qa_flow/custom_fn.zip"
}
}
AI Lambda node download URL
{
"LambdaNodePresignedUrl": {
"presignedUrl": "https://s3.amazonaws.com/bucket/lambda.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256",
"s3Location": "s3://bucket/ai-flows/kb_qa_flow/custom_fn.zip"
}
}
Errors¶
Documented error codes: DP-1010, AUTH-1001, GE-1046, GE-1044.
HTTP 400
API Gateway request validation (missing required parameters such as role_id). Lambda InvalidInputException from this function is HTTP 403.
Gateway rejected missing required header
{
"Message": "Invalid request"
}
HTTP 403
Invalid input or unauthorized. dataPipelines maps InvalidInputException and UnauthorizedUserException to HTTP 403.
Script action without node
{
"Message": "DP-1010 - Query param 'node' is required when action is upload-script/retrieve-script.."
}
Script action on a Glue pipeline
{
"Message": "DP-1010 - Presigned URL for Lambda node code upload/retrieve is only supported for AI Flow data pipelines.."
}
Node name missing from the pipeline
{
"Message": "DP-1010 - Node 'custom_fn' not found in this data pipeline.."
}
Node is not LambdaFunction
{
"Message": "DP-1010 - Presigned URL for code upload/retrieve is only available for Lambda nodes. Node 'input' has type 'Input'.."
}
Missing role_id
{
"Message": "AUTH-1001 - Missing role information in event header"
}
Unknown pipeline id
{
"Message": "GE-1046 - Invalid DataPipelineId id received - 00000000-0000-0000-0000-000000000000"
}
HTTP 500
Backend failure (GenericFailureException, InconsistentMetadataException, or unexpected GE-1044).
Unhandled exception
{
"Message": "GE-1044 - Unexpected error - An unexpected error occurred."
}