Preview an app installation approval
curl --request GET \
--url https://api.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId}', 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.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId}",
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.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId}"
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.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId}")
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{
"app": {
"appId": "<string>",
"description": "<string>",
"name": "<string>",
"requestedPermissions": [
"<string>"
],
"version": "<string>",
"websiteUrl": "<string>"
},
"developerOrganizationName": "<string>",
"installation": {
"appId": "<string>",
"approvedAppVersion": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"effectivePermissions": [
"<string>"
],
"installationId": "<string>",
"installedByAccountId": "<string>",
"operationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organizationId": "<string>",
"serviceIdentityId": "<string>",
"status": "installing",
"updatedAt": "2023-11-07T05:31:56Z",
"version": "<string>"
},
"organizationId": "<string>",
"redirectHost": "<string>",
"requestId": "<string>",
"setup": {
"state": "preparing",
"requestId": "<string>"
}
}{
"code": "APP_INSTALLATION_PERMISSIONS_INVALID",
"status": 400,
"title": "Installation Permissions Invalid",
"type": "https://photon.codes/docs/problems/app-installation-permissions-invalid"
}{
"code": "NOT_AUTHENTICATED",
"status": 401,
"title": "Not Authenticated",
"type": "https://photon.codes/docs/problems/not-authenticated"
}{
"code": "FORBIDDEN",
"status": 403,
"title": "Forbidden",
"type": "https://photon.codes/docs/problems/forbidden"
}{
"code": "APP_INSTALLATION_REQUEST_NOT_FOUND",
"status": 404,
"title": "App Installation Request Not Found",
"type": "https://photon.codes/docs/problems/app-installation-request-not-found"
}{
"code": "APP_INSTALLATION_REQUEST_ALREADY_BOUND",
"status": 409,
"title": "App Installation Request Already Bound",
"type": "https://photon.codes/docs/problems/app-installation-request-already-bound"
}{
"code": "VALIDATION_FAILED",
"issues": [
{
"code": "invalid_type",
"location": "json",
"message": "Expected a string.",
"path": "/name"
}
],
"status": 422,
"title": "Request Validation Failed",
"type": "https://photon.codes/docs/problems/validation-failed"
}{
"code": "INTERNAL_ERROR",
"status": 500,
"title": "Internal Server Error",
"type": "https://photon.codes/docs/problems/internal-error"
}{
"code": "UPSTREAM_FAILURE",
"status": 502,
"title": "Upstream Service Failure",
"type": "https://photon.codes/docs/problems/upstream-failure"
}{
"code": "UPSTREAM_UNAVAILABLE",
"status": 503,
"title": "Upstream Service Unavailable",
"type": "https://photon.codes/docs/problems/upstream-unavailable"
}{
"code": "UPSTREAM_TIMEOUT",
"status": 504,
"title": "Upstream Service Timeout",
"type": "https://photon.codes/docs/problems/upstream-timeout"
}App Installations
Preview an app installation approval
GET
/
v1
/
organizations
/
{organizationId}
/
installation-requests
/
{requestId}
Preview an app installation approval
curl --request GET \
--url https://api.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId}', 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.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId}",
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.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId}"
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.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.photon.codes/v1/organizations/{organizationId}/installation-requests/{requestId}")
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{
"app": {
"appId": "<string>",
"description": "<string>",
"name": "<string>",
"requestedPermissions": [
"<string>"
],
"version": "<string>",
"websiteUrl": "<string>"
},
"developerOrganizationName": "<string>",
"installation": {
"appId": "<string>",
"approvedAppVersion": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"effectivePermissions": [
"<string>"
],
"installationId": "<string>",
"installedByAccountId": "<string>",
"operationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organizationId": "<string>",
"serviceIdentityId": "<string>",
"status": "installing",
"updatedAt": "2023-11-07T05:31:56Z",
"version": "<string>"
},
"organizationId": "<string>",
"redirectHost": "<string>",
"requestId": "<string>",
"setup": {
"state": "preparing",
"requestId": "<string>"
}
}{
"code": "APP_INSTALLATION_PERMISSIONS_INVALID",
"status": 400,
"title": "Installation Permissions Invalid",
"type": "https://photon.codes/docs/problems/app-installation-permissions-invalid"
}{
"code": "NOT_AUTHENTICATED",
"status": 401,
"title": "Not Authenticated",
"type": "https://photon.codes/docs/problems/not-authenticated"
}{
"code": "FORBIDDEN",
"status": 403,
"title": "Forbidden",
"type": "https://photon.codes/docs/problems/forbidden"
}{
"code": "APP_INSTALLATION_REQUEST_NOT_FOUND",
"status": 404,
"title": "App Installation Request Not Found",
"type": "https://photon.codes/docs/problems/app-installation-request-not-found"
}{
"code": "APP_INSTALLATION_REQUEST_ALREADY_BOUND",
"status": 409,
"title": "App Installation Request Already Bound",
"type": "https://photon.codes/docs/problems/app-installation-request-already-bound"
}{
"code": "VALIDATION_FAILED",
"issues": [
{
"code": "invalid_type",
"location": "json",
"message": "Expected a string.",
"path": "/name"
}
],
"status": 422,
"title": "Request Validation Failed",
"type": "https://photon.codes/docs/problems/validation-failed"
}{
"code": "INTERNAL_ERROR",
"status": 500,
"title": "Internal Server Error",
"type": "https://photon.codes/docs/problems/internal-error"
}{
"code": "UPSTREAM_FAILURE",
"status": 502,
"title": "Upstream Service Failure",
"type": "https://photon.codes/docs/problems/upstream-failure"
}{
"code": "UPSTREAM_UNAVAILABLE",
"status": 503,
"title": "Upstream Service Unavailable",
"type": "https://photon.codes/docs/problems/upstream-unavailable"
}{
"code": "UPSTREAM_TIMEOUT",
"status": 504,
"title": "Upstream Service Timeout",
"type": "https://photon.codes/docs/problems/upstream-timeout"
}Authorizations
Account Service Key, prefixed with pho_ask_, sent as Authorization: Bearer <key>. Acts on behalf of its owning account, subject to the permissions and credential restrictions of each operation. Account access tokens and OAuth grants also use the Bearer header. In organizations that require SSO, Account Service Keys are not accepted for managing the organization's SSO settings, deleting the organization, or checking whether it can be deleted.
Response
App-declared permissions and the current installation, if present.
Show child attributes
Show child attributes
Required string length:
1 - 256Show child attributes
Show child attributes
Required string length:
1 - 255Show child attributes
Show child attributes
Was this page helpful?
⌘I