Run Lambda (Public)
Invokes a lambda publicly. No authentication is required. The endpoint accepts any HTTP method.
Use this route for webhooks and public API calls. The lambda ID comes from the lambda management endpoints.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
lambda_id |
string | Lambda identifier |
Request Body
Send any payload you want the lambda to receive as req.body.
HTTP Request
curl -X POST "https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789" \
-H "Content-Type: application/json" \
-d '{
"event": "payment_received",
"amount": 49.99,
"currency": "USD"
}'POST /run/f1a2b3c4-d5e6-7890-abcd-ef0123456789 HTTP/1.1
Host: api.hola.cloud
Content-Type: application/json
{
"event": "payment_received",
"amount": 49.99,
"currency": "USD"
}package main
import (
"fmt"
"io"
"net/http"
"encoding/json"
"strings"
)
func main() {
payload := map[string]any{"amount": 49.99, "currency": "USD", "event": "payment_received"}
bodyBytes, err := json.Marshal(payload)
if err != nil {
panic(err)
}
body := string(bodyBytes)
req, err := http.NewRequest("POST", "https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789", strings.NewReader(body))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
responseBody, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(responseBody))
}
<?php
$payload = ['amount' => 49.99, 'currency' => 'USD', 'event' => 'payment_received'];
$body = json_encode($payload);
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $body,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
],
]);
$response = curl_exec($ch);
if ($response === false) {
throw new Exception(curl_error($ch));
}
curl_close($ch);
echo $response;
import requests
import json
headers = {
"Content-Type": "application/json",
}
payload = {"amount": 49.99, "currency": "USD", "event": "payment_received"}
body = json.dumps(payload)
response = requests.request(
"POST",
"https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789",
headers=headers,
data=body
)
print(response.text)
const payload = {"amount": 49.99, "currency": "USD", "event": "payment_received"};
const response = await fetch("https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
});
console.log(await response.text());
const payload = {"amount": 49.99, "currency": "USD", "event": "payment_received"};
const response = await fetch("https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
});
const text = await response.text();
console.log(text);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;
import java.util.List;
public class Main {
public static void main(String[] args) throws Exception {
var payload = Map.of("amount", 49.99, "currency", "USD", "event", "payment_received");
var body = new ObjectMapper().writeValueAsString(payload);
var request = HttpRequest.newBuilder()
.uri(URI.create("https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789"))
.method("POST", HttpRequest.BodyPublishers.ofString(body))
.header("Content-Type", "application/json")
.build();
var response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}Example
curl -X POST "https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789" \
-H "Content-Type: application/json" \
-d '{
"event": "payment_received",
"amount": 49.99,
"currency": "USD"
}'POST /run/f1a2b3c4-d5e6-7890-abcd-ef0123456789 HTTP/1.1
Host: api.hola.cloud
Content-Type: application/json
{
"event": "payment_received",
"amount": 49.99,
"currency": "USD"
}package main
import (
"fmt"
"io"
"net/http"
"encoding/json"
"strings"
)
func main() {
payload := map[string]any{"amount": 49.99, "currency": "USD", "event": "payment_received"}
bodyBytes, err := json.Marshal(payload)
if err != nil {
panic(err)
}
body := string(bodyBytes)
req, err := http.NewRequest("POST", "https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789", strings.NewReader(body))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
responseBody, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(responseBody))
}
<?php
$payload = ['amount' => 49.99, 'currency' => 'USD', 'event' => 'payment_received'];
$body = json_encode($payload);
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $body,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
],
]);
$response = curl_exec($ch);
if ($response === false) {
throw new Exception(curl_error($ch));
}
curl_close($ch);
echo $response;
import requests
import json
headers = {
"Content-Type": "application/json",
}
payload = {"amount": 49.99, "currency": "USD", "event": "payment_received"}
body = json.dumps(payload)
response = requests.request(
"POST",
"https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789",
headers=headers,
data=body
)
print(response.text)
const payload = {"amount": 49.99, "currency": "USD", "event": "payment_received"};
const response = await fetch("https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
});
console.log(await response.text());
const payload = {"amount": 49.99, "currency": "USD", "event": "payment_received"};
const response = await fetch("https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
});
const text = await response.text();
console.log(text);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;
import java.util.List;
public class Main {
public static void main(String[] args) throws Exception {
var payload = Map.of("amount", 49.99, "currency", "USD", "event", "payment_received");
var body = new ObjectMapper().writeValueAsString(payload);
var request = HttpRequest.newBuilder()
.uri(URI.create("https://api.hola.cloud/run/f1a2b3c4-d5e6-7890-abcd-ef0123456789"))
.method("POST", HttpRequest.BodyPublishers.ofString(body))
.header("Content-Type", "application/json")
.build();
var response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}Response
The response is whatever the lambda handler returns.
1{
2 "body": {
3 "processed": true,
4 "event": "payment_received"
5 }
6}
Error Codes
| Code | Description |
|---|---|
| 400 | Invalid request body |
| 404 | Lambda not found |
| 500 | Lambda execution error |
Comments