Invoke Instant Tasks

Invoke the task through URI patterns

You can invoke an Instant Task by sending an HTTP request directly to the Snaplex node on which the task is running. Instant Task requests are handled by the node that receives them.

  1. In Manager, navigate to the target Project and click the Tasks tab.
  2. Click the inverted arrow next to the target Task and click Details.
  3. In the Task Details page, click the copy icon for the URL from HTTP Endpoint.
Note: In the URI patterns below, project_space and project are generic placeholders. The cURL examples use projects as the project space, which is the default project space present in all SnapLogic organizations.

Using task name

snaplex_node_uri/api/1/rest/feed/direct/org/project_space/project/task_name

Using alias

snaplex_node_uri/api/1/rest/feed/direct/org/project_space/project/alias

For information on configuring an alias, refer to Create an Instant Task.

Send an HTTP request to the pipeline

To send HTTP requests to the pipeline, use the HTTP Authorization header and endpoint from the Task Details page.

The Authorization header must be included in requests sent to the endpoint if a Bearer token is configured for the task. Otherwise, an HTTP 401 Unauthorized error is returned.

Using task name

$ curl -k -H 'Authorization: Bearer jH6ofxtn3qe8jGoiSWbW3adW0N6KXziV' https://groundplex.local:8081/api/1/rest/feed/direct/org/projects/my-project/my-instant-task

Using alias

$ curl -k -H 'Authorization: Bearer jH6ofxtn3qe8jGoiSWbW3adW0N6KXziV' https://groundplex.local:8081/api/1/rest/feed/direct/org/projects/my-project/my-instant-task-alias

The Bearer Token is the primary authentication mechanism for service-to-service invocations. If the Bearer Token field is cleared when creating the task, no authentication is required to invoke the endpoint. Org members may optionally use basic authentication for development and testing purposes.

Load balancing

Instant Tasks process requests on the Snaplex node that receives them and delegate load distribution across nodes to external infrastructure.

If a node receives more requests than it can handle concurrently, it returns an HTTP 503 (Service Unavailable) response. To distribute requests across multiple Snaplex nodes running the same Instant Task, use an external load balancer such as:

  • A cloud load balancer (AWS ALB, Azure Load Balancer, GCP Load Balancer)
  • A reverse proxy (NGINX, HAProxy, Envoy)

Configure the load balancer to use the Snaplex node endpoints as its backend targets. Most load balancers can use the Snaplex /healthz endpoint to check node health and route traffic only to available nodes.

Important: Configure the load balancer to forward traffic to port 8081 on the Snaplex nodes.
Note: The number of concurrent requests a node can handle is controlled by the Max In-Flight setting on the task. Refer to Create an Instant Task for details.