curl --request GET \
--url https://app.trelica.com/api/apps/v1 \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.trelica.com/api/apps/v1"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.trelica.com/api/apps/v1', 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.trelica.com/api/apps/v1",
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://app.trelica.com/api/apps/v1"
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://app.trelica.com/api/apps/v1")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trelica.com/api/apps/v1")
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{
"next": "https://app.trelica.com/api/apps/v1?after=EAAAABg2M2NmOTQyMjg1NzJlYjUxMWY3MTY1YTI%3d&limit=100",
"results": [
{
"id": "9425963fcd38ed972d209b49",
"name": "Asana",
"status": "New",
"riskLevel": "High",
"vendor": {
"id": "f7f213984a1a225358c21c71",
"name": "Asana, Inc."
},
"licenses": [
{
"name": "Premium",
"licensePlanId": "PREMIUM",
"startDate": "2024-07-22T00:00:00Z",
"renewalDate": "2025-07-22T00:00:00Z",
"terminatedDate": "2025-10-22T00:00:00Z",
"lastModifiedDtm": "2024-11-27T16:00:20.895Z"
},
{
"name": "Business",
"licensePlanId": "BUSINESS",
"startDate": "2021-06-22T00:00:00Z",
"renewalDate": "2022-06-22T00:00:00Z",
"lastModifiedDtm": "2023-05-15T12:28:57.137Z"
}
],
"customFields": {
"user_area": "support",
"user_vcc": "corp_support"
},
"deleted": false,
"roles": [
{
"name": "IT admin",
"members": [
{
"userId": "20fcf665630fc6562182578cb7f19f1e",
"name": "Eduardo Wilson",
"email": "eduardo.wilson@example.com"
}
]
},
{
"name": "App owner",
"members": [
{
"userId": "0372c6f6fc51bc128389337de1146143",
"name": "Eduardo Jung",
"email": "eduardo.jung@example.com"
}
]
}
],
"isGlobal": false,
"mainCategory": {
"id": "03823a9d2e817efcce22f52e",
"name": "Project Management"
},
"otherCategories": [
{
"id": "cab66910ac7cc93acdcc0338",
"name": "Project Management & Tracking"
},
{
"id": "22d0532b27e33b61e53a6fc5",
"name": "Team Coordination & Comms"
},
{
"id": "74e38311e5ad68ef2ab9dbb2",
"name": "Task Management"
}
],
"logoUrl": "https://app-files.trelica.com/public/4ad42e9e68cf46e3bc59cb8eab35886c",
"links": {
"application": "https://app.asana.com/"
}
}
]
}{
"type": "about:blank",
"title": "One or more validation errors occurred.",
"status": 400,
"detail": "The request body failed validation. See errors for the offending fields.",
"errors": {
"email": [
"The email field is required."
]
},
"traceId": "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
}List applications
Returns a paginated list of the applications in your organization. Use filter and
q to narrow the results, and follow the next link (also provided in the
link response header) to page through large result sets.
Required scope: Apps.Read (Read-only access to applications)
curl --request GET \
--url https://app.trelica.com/api/apps/v1 \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.trelica.com/api/apps/v1"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.trelica.com/api/apps/v1', 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.trelica.com/api/apps/v1",
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://app.trelica.com/api/apps/v1"
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://app.trelica.com/api/apps/v1")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trelica.com/api/apps/v1")
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{
"next": "https://app.trelica.com/api/apps/v1?after=EAAAABg2M2NmOTQyMjg1NzJlYjUxMWY3MTY1YTI%3d&limit=100",
"results": [
{
"id": "9425963fcd38ed972d209b49",
"name": "Asana",
"status": "New",
"riskLevel": "High",
"vendor": {
"id": "f7f213984a1a225358c21c71",
"name": "Asana, Inc."
},
"licenses": [
{
"name": "Premium",
"licensePlanId": "PREMIUM",
"startDate": "2024-07-22T00:00:00Z",
"renewalDate": "2025-07-22T00:00:00Z",
"terminatedDate": "2025-10-22T00:00:00Z",
"lastModifiedDtm": "2024-11-27T16:00:20.895Z"
},
{
"name": "Business",
"licensePlanId": "BUSINESS",
"startDate": "2021-06-22T00:00:00Z",
"renewalDate": "2022-06-22T00:00:00Z",
"lastModifiedDtm": "2023-05-15T12:28:57.137Z"
}
],
"customFields": {
"user_area": "support",
"user_vcc": "corp_support"
},
"deleted": false,
"roles": [
{
"name": "IT admin",
"members": [
{
"userId": "20fcf665630fc6562182578cb7f19f1e",
"name": "Eduardo Wilson",
"email": "eduardo.wilson@example.com"
}
]
},
{
"name": "App owner",
"members": [
{
"userId": "0372c6f6fc51bc128389337de1146143",
"name": "Eduardo Jung",
"email": "eduardo.jung@example.com"
}
]
}
],
"isGlobal": false,
"mainCategory": {
"id": "03823a9d2e817efcce22f52e",
"name": "Project Management"
},
"otherCategories": [
{
"id": "cab66910ac7cc93acdcc0338",
"name": "Project Management & Tracking"
},
{
"id": "22d0532b27e33b61e53a6fc5",
"name": "Team Coordination & Comms"
},
{
"id": "74e38311e5ad68ef2ab9dbb2",
"name": "Task Management"
}
],
"logoUrl": "https://app-files.trelica.com/public/4ad42e9e68cf46e3bc59cb8eab35886c",
"links": {
"application": "https://app.asana.com/"
}
}
]
}{
"type": "about:blank",
"title": "One or more validation errors occurred.",
"status": 400,
"detail": "The request body failed validation. See errors for the offending fields.",
"errors": {
"email": [
"The email field is required."
]
},
"traceId": "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
}Authorizations
OAuth 2.0. Obtain an access token via the Client Credentials or Authorization Code flow, then send it as Authorization: Bearer <token>.
Query Parameters
A SCIM-style filter expression restricting the items returned. See the Filtering section of the introduction for the operators and syntax; the filterable fields are listed per resource.
Filterable fields
- string:
createdBy.email,createdBy.name,createdBy.userId,description,id,instanceName,licenses[name],logoUrl,mainCategory.id,mainCategory.name,name,otherCategories[id],otherCategories[name],riskLevel,signOnUrl,status,vendor.id,vendor.name - date:
createdDtm,lastModifiedDtm,licenses[lastModifiedDtm],licenses[renewalDate],licenses[startDate],licenses[terminatedDate] - boolean:
deleted - custom fields:
customFields.<name>
Filter examples
name eq "Zoom"— The application named Zoomname sw "Bam"— Applications whose name starts with "Bam", e.g. BambooHRvendor.name eq "Microsoft"— Applications whose vendor is Microsoftlicenses[renewalDate ge "2022-01-01"]— Applications with a license that renews on or after 1 Jan 2022not (licenses[name] pr)— Applications with no license planslastModifiedDtm ge "2021-06-01"— Applications modified on or after 1 Jun 2021deleted eq true— Show deleted applications (excluded by default)
Free-text search across the resource's displayable fields.
Only return items modified at or after this ISO-8601 timestamp.
Only return items modified at or before this ISO-8601 timestamp.
Opaque pagination cursor supplied by SaaS Manager via the link response header and the next field.
Maximum number of items to return per page (default 100, maximum 1000).
1 <= x <= 1000Was this page helpful?