List Apps
curl --request GET \
--url https://app.uselamina.ai/v1/apps \
--header 'x-api-key: <api-key>'import requests
url = "https://app.uselamina.ai/v1/apps"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.uselamina.ai/v1/apps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.uselamina.ai/v1/apps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.uselamina.ai/v1/apps"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.uselamina.ai/v1/apps")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.uselamina.ai/v1/apps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"appId": "80d4d454-8844-489f-b903-2ad65a414482",
"name": "test sync",
"description": null,
"isPublic": false
},
{
"appId": "483754bf-24c9-48c1-a70e-71d2ff9682fa",
"name": "Instant Catalog Builder",
"description": "Generate catalog images and publish to Salesforce.",
"isPublic": true
},
{
"appId": "3f68debe-df0a-4fc9-bdd3-9d45a4160587",
"name": "Cartoonify!",
"description": "Just upload your photo and convert it into a Cartoon of your favorite style!",
"isPublic": true
}
]
}{
"error": "Invalid API key"
}"Too many requests from this IP, please try again in a minute"Discover
List Apps
Search and discover apps you can run.
Returns your own workspace apps and public apps from other workspaces.
Use search to find apps by name or description.
GET
/
v1
/
apps
List Apps
curl --request GET \
--url https://app.uselamina.ai/v1/apps \
--header 'x-api-key: <api-key>'import requests
url = "https://app.uselamina.ai/v1/apps"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.uselamina.ai/v1/apps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.uselamina.ai/v1/apps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.uselamina.ai/v1/apps"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.uselamina.ai/v1/apps")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.uselamina.ai/v1/apps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"appId": "80d4d454-8844-489f-b903-2ad65a414482",
"name": "test sync",
"description": null,
"isPublic": false
},
{
"appId": "483754bf-24c9-48c1-a70e-71d2ff9682fa",
"name": "Instant Catalog Builder",
"description": "Generate catalog images and publish to Salesforce.",
"isPublic": true
},
{
"appId": "3f68debe-df0a-4fc9-bdd3-9d45a4160587",
"name": "Cartoonify!",
"description": "Just upload your photo and convert it into a Cartoon of your favorite style!",
"isPublic": true
}
]
}{
"error": "Invalid API key"
}"Too many requests from this IP, please try again in a minute"Discover what the Creative Engine can do. Returns apps your workspace can run, plus public apps from other workspaces.
Use
search to find apps by capability — "catalog", "try on", "video". Each app has a stable input contract, so the same integration code works across all of them.
If you’re using POST /v1/content/create, app selection is automatic. Use this endpoint when you want to pick the app yourself.Authorizations
Workspace API key. Prefix: lma_. Example: lma_abc123...
Query Parameters
Filter apps by name or description (case-insensitive)
Maximum number of public apps to return (own workspace apps are always included)
Response
List of apps
Show child attributes
Show child attributes