curl --request GET \
--url https://api.assembly.com/v1/installs/{installId} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.assembly.com/v1/installs/{installId}"
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://api.assembly.com/v1/installs/{installId}', 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.assembly.com/v1/installs/{installId}",
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://api.assembly.com/v1/installs/{installId}"
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://api.assembly.com/v1/installs/{installId}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.assembly.com/v1/installs/{installId}")
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{
"appBuilderId": "<string>",
"appId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"autoSizeEmbed": true,
"content": "<string>",
"disabled": true,
"displayName": "Billing Portal",
"embedCode": "<string>",
"embedCount": 123,
"embedLink": "<string>",
"embedlyData": {
"author_name": "<string>",
"author_url": "<string>",
"cache_age": 123,
"description": "<string>",
"height": 123,
"html": "<string>",
"provider_name": "<string>",
"provider_url": "<string>",
"thumbnail_height": 123,
"thumbnail_url": "<string>",
"thumbnail_width": 123,
"title": "<string>",
"type": "<string>",
"url": "<string>",
"version": "<string>",
"width": 123
},
"icon": "<string>",
"id": "550e8400-e29b-41d4-a716-446655440000",
"isAuthenticated": true,
"isDraft": true,
"isInternalApp": true,
"isRoot": true,
"iuSidebarHidden": true,
"notificationConfig": {
"actionLabel": {
"pluralNoun": "<string>",
"singularNoun": "<string>",
"verb": "<string>"
},
"notifications": [
{
"default": {
"email": true,
"product": true
},
"id": "<string>",
"label": "<string>",
"surfaces": [
"<string>"
]
}
]
},
"object": "appInstall",
"path": "<string>",
"queryParams": [
{}
],
"sort": 123,
"status": "published",
"supportsExpiringTokens": true,
"type": "marketplace",
"visibilityConfig": [
{
"comparator": "includesAnyOf",
"customFieldId": "<string>",
"isCompanyCustomField": true,
"ruleType": "client",
"valueItems": [
{
"companyId": "<string>",
"userId": "<string>"
}
],
"values": [
"<string>"
]
}
]
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}Get an app install
Returns a single app install by its ID. Core modules may be addressed by their deterministic UUID; marketplace, custom, embed, and link installs are addressed by their install ID.
curl --request GET \
--url https://api.assembly.com/v1/installs/{installId} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.assembly.com/v1/installs/{installId}"
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://api.assembly.com/v1/installs/{installId}', 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.assembly.com/v1/installs/{installId}",
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://api.assembly.com/v1/installs/{installId}"
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://api.assembly.com/v1/installs/{installId}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.assembly.com/v1/installs/{installId}")
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{
"appBuilderId": "<string>",
"appId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"autoSizeEmbed": true,
"content": "<string>",
"disabled": true,
"displayName": "Billing Portal",
"embedCode": "<string>",
"embedCount": 123,
"embedLink": "<string>",
"embedlyData": {
"author_name": "<string>",
"author_url": "<string>",
"cache_age": 123,
"description": "<string>",
"height": 123,
"html": "<string>",
"provider_name": "<string>",
"provider_url": "<string>",
"thumbnail_height": 123,
"thumbnail_url": "<string>",
"thumbnail_width": 123,
"title": "<string>",
"type": "<string>",
"url": "<string>",
"version": "<string>",
"width": 123
},
"icon": "<string>",
"id": "550e8400-e29b-41d4-a716-446655440000",
"isAuthenticated": true,
"isDraft": true,
"isInternalApp": true,
"isRoot": true,
"iuSidebarHidden": true,
"notificationConfig": {
"actionLabel": {
"pluralNoun": "<string>",
"singularNoun": "<string>",
"verb": "<string>"
},
"notifications": [
{
"default": {
"email": true,
"product": true
},
"id": "<string>",
"label": "<string>",
"surfaces": [
"<string>"
]
}
]
},
"object": "appInstall",
"path": "<string>",
"queryParams": [
{}
],
"sort": 123,
"status": "published",
"supportsExpiringTokens": true,
"type": "marketplace",
"visibilityConfig": [
{
"comparator": "includesAnyOf",
"customFieldId": "<string>",
"isCompanyCustomField": true,
"ruleType": "client",
"valueItems": [
{
"companyId": "<string>",
"userId": "<string>"
}
],
"values": [
"<string>"
]
}
]
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}{
"code": "<string>",
"data": "<unknown>",
"message": "<string>"
}Authorizations
Path Parameters
Unique identifier of the app install
Response
OK
AppID is the identifier of the backing application, and the same value notifications carry in their appId so callers can join the two. Empty for embed, link, and manual installs, which have no backing app.
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
extension
internal-api only module
DisplayName is the human-readable label shown for the install in the sidebar.
"Billing Portal"
Show child attributes
Show child attributes
Icon is the design-system icon name shown for the install; exposed on the public API.
ID is the unique identifier of the app install. For core modules this is a deterministic UUID derived from the workspace and module name.
"550e8400-e29b-41d4-a716-446655440000"
app-builder drafts: when the install was created by the App Builder and has not yet been deployed, IsDraft is true and AppBuilderID points to the source builder so the sidebar can deep-link to its session.
NotificationConfig carries the backing app's declared notification settings so the IU notifications page can render a row per setting. Internal-only for now (omitexternal); exposing it on the public installs API is handled separately.
Show child attributes
Show child attributes
"appInstall"
Show child attributes
Show child attributes
Status is the publication state of the install's backing app. Only apps built with the App Builder can be "draft": they stay there until their first successful publish, and are not shown to clients until then. Every other install is "published".
draft, published "published"
Type is the kind of install.
core, custom, marketplace, embed, link, manual "marketplace"
Show child attributes
Show child attributes