from engini import Engini
client = Engini() # reads ENGINI_API_KEY
apps = client.applications.list(search="crm", limit=10)
for app in apps:
print(app.slug, app.application_name)import { Engini } from "@engini/sdk";
const client = new Engini(); // reads ENGINI_API_KEY
const apps = await client.applications.list({ search: "crm", limit: 10 });
for (const app of apps) console.log(app.slug, app.applicationName);engini applications list --search crm --jsonconst options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.engini.io/v1/applications', 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://api.engini.io/v1/applications",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://api.engini.io/v1/applications"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.engini.io/v1/applications")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engini.io/v1/applications")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"slug": "example-app",
"applicationName": "Example App",
"description": "An example application.",
"applicationLogo": "https://example.com/logo.png",
"connectionRequirement": "Required",
"categories": [
"Communication"
],
"toolsCount": 5,
"triggersCount": 1
}
],
"totalCount": 1,
"offset": 0,
"top": 100
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}List applications
Returns the applications the caller’s account can browse, honoring the optional filters and pagination. Set available=true to restrict results to applications the caller can currently use - i.e. their connection requirement is already satisfied - otherwise the full catalog is returned regardless of connection state. Account context is resolved from the caller’s authenticated account / API key.
from engini import Engini
client = Engini() # reads ENGINI_API_KEY
apps = client.applications.list(search="crm", limit=10)
for app in apps:
print(app.slug, app.application_name)import { Engini } from "@engini/sdk";
const client = new Engini(); // reads ENGINI_API_KEY
const apps = await client.applications.list({ search: "crm", limit: 10 });
for (const app of apps) console.log(app.slug, app.applicationName);engini applications list --search crm --jsonconst options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.engini.io/v1/applications', 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://api.engini.io/v1/applications",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://api.engini.io/v1/applications"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.engini.io/v1/applications")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engini.io/v1/applications")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"slug": "example-app",
"applicationName": "Example App",
"description": "An example application.",
"applicationLogo": "https://example.com/logo.png",
"connectionRequirement": "Required",
"categories": [
"Communication"
],
"toolsCount": 5,
"triggersCount": 1
}
],
"totalCount": 1,
"offset": 0,
"top": 100
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}Authorizations
Enter your JWT token
Query Parameters
Optional free-text search applied across application fields.
Optional exact-name filter.
Optional filter on the application's connection requirement.
Optional list of categories to filter by.
Optional filter on the application's connection kind: Regular, Key or MCPClient. Case-insensitive. Use Key to find the applications an API key can be created against. On-premise agents are served by /v1/on-prem-agents.
When true, returns only applications the caller can currently use. Defaults to false.
Zero-based index of the first item to return. Defaults to 0.
Maximum number of items to return. Defaults to 100.
Response
A paginated list of applications.
Offset-based paginated wrapper for a list of items.
The items in the current page.
Show child attributes
Show child attributes
Total number of items available across all pages.
Number of items skipped before this page (the requested offset).
Maximum number of items requested for this page.