curl --request PUT \
--url https://api.lumos.com/v1/apps/{app_uuid}/admins \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"admins": [
{
"id": "1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809",
"type": "user"
},
{
"id": "4d5e6f70-8192-0123-def0-234567890123",
"type": "group"
}
]
}
'import requests
url = "https://api.lumos.com/v1/apps/{app_uuid}/admins"
payload = { "admins": [
{
"id": "1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809",
"type": "user"
},
{
"id": "4d5e6f70-8192-0123-def0-234567890123",
"type": "group"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
admins: [
{id: '1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809', type: 'user'},
{id: '4d5e6f70-8192-0123-def0-234567890123', type: 'group'}
]
})
};
fetch('https://api.lumos.com/v1/apps/{app_uuid}/admins', 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.lumos.com/v1/apps/{app_uuid}/admins",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'admins' => [
[
'id' => '1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809',
'type' => 'user'
],
[
'id' => '4d5e6f70-8192-0123-def0-234567890123',
'type' => 'group'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.lumos.com/v1/apps/{app_uuid}/admins"
payload := strings.NewReader("{\n \"admins\": [\n {\n \"id\": \"1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809\",\n \"type\": \"user\"\n },\n {\n \"id\": \"4d5e6f70-8192-0123-def0-234567890123\",\n \"type\": \"group\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.lumos.com/v1/apps/{app_uuid}/admins")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"admins\": [\n {\n \"id\": \"1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809\",\n \"type\": \"user\"\n },\n {\n \"id\": \"4d5e6f70-8192-0123-def0-234567890123\",\n \"type\": \"group\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lumos.com/v1/apps/{app_uuid}/admins")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"admins\": [\n {\n \"id\": \"1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809\",\n \"type\": \"user\"\n },\n {\n \"id\": \"4d5e6f70-8192-0123-def0-234567890123\",\n \"type\": \"group\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"admins": [
{
"id": "<string>",
"type": "user"
}
]
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}Set App Admins
Replace the users and groups that administer an app. Send the complete set: anyone left out stops being an admin, and an empty list removes every admin.
An app needs at least one admin to be listed in the AppStore, so set its admins before setting in_app_store to true with PATCH /v1/apps/{app_uuid}/appstore-settings. Removing the last admin doesn’t take a listed app out of the AppStore.
curl --request PUT \
--url https://api.lumos.com/v1/apps/{app_uuid}/admins \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"admins": [
{
"id": "1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809",
"type": "user"
},
{
"id": "4d5e6f70-8192-0123-def0-234567890123",
"type": "group"
}
]
}
'import requests
url = "https://api.lumos.com/v1/apps/{app_uuid}/admins"
payload = { "admins": [
{
"id": "1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809",
"type": "user"
},
{
"id": "4d5e6f70-8192-0123-def0-234567890123",
"type": "group"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
admins: [
{id: '1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809', type: 'user'},
{id: '4d5e6f70-8192-0123-def0-234567890123', type: 'group'}
]
})
};
fetch('https://api.lumos.com/v1/apps/{app_uuid}/admins', 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.lumos.com/v1/apps/{app_uuid}/admins",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'admins' => [
[
'id' => '1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809',
'type' => 'user'
],
[
'id' => '4d5e6f70-8192-0123-def0-234567890123',
'type' => 'group'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.lumos.com/v1/apps/{app_uuid}/admins"
payload := strings.NewReader("{\n \"admins\": [\n {\n \"id\": \"1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809\",\n \"type\": \"user\"\n },\n {\n \"id\": \"4d5e6f70-8192-0123-def0-234567890123\",\n \"type\": \"group\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.lumos.com/v1/apps/{app_uuid}/admins")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"admins\": [\n {\n \"id\": \"1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809\",\n \"type\": \"user\"\n },\n {\n \"id\": \"4d5e6f70-8192-0123-def0-234567890123\",\n \"type\": \"group\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lumos.com/v1/apps/{app_uuid}/admins")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"admins\": [\n {\n \"id\": \"1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809\",\n \"type\": \"user\"\n },\n {\n \"id\": \"4d5e6f70-8192-0123-def0-234567890123\",\n \"type\": \"group\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"admins": [
{
"id": "<string>",
"type": "user"
}
]
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"detail": "<string>",
"type": "validation",
"code": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The app's ID, which GET /v1/apps returns as id.
Body
The complete set of users and groups that administer this app. It replaces the current admins; an empty list removes them all.
Show child attributes
Show child attributes
Response
Successful Response
Users and groups that administer this app: users first, each sorted by id.
Show child attributes
Show child attributes
Was this page helpful?