cURL
curl --request POST \
--url https://api.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"clientId": "<string>",
"clientSecret": "<string>",
"customScopes": [
"<string>"
]
}
'import requests
url = "https://api.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom"
payload = {
"clientId": "<string>",
"clientSecret": "<string>",
"customScopes": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({clientId: '<string>', clientSecret: '<string>', customScopes: ['<string>']})
};
fetch('https://api.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom', 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.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'clientId' => '<string>',
'clientSecret' => '<string>',
'customScopes' => [
'<string>'
]
]),
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.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom"
payload := strings.NewReader("{\n \"clientId\": \"<string>\",\n \"clientSecret\": \"<string>\",\n \"customScopes\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"clientId\": \"<string>\",\n \"clientSecret\": \"<string>\",\n \"customScopes\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"clientId\": \"<string>\",\n \"clientSecret\": \"<string>\",\n \"customScopes\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"appDefinitionId": "<string>",
"appSlug": "<string>",
"orgId": "<string>",
"clientId": "<string>",
"customScopes": [
"<string>"
],
"isActive": true,
"createdAt": "2023-11-07T05:31:56Z"
}API Reference
Post vaultoauthapps custom
POST
/
vault
/
oauth
/
apps
/
{appSlug}
/
custom
cURL
curl --request POST \
--url https://api.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"clientId": "<string>",
"clientSecret": "<string>",
"customScopes": [
"<string>"
]
}
'import requests
url = "https://api.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom"
payload = {
"clientId": "<string>",
"clientSecret": "<string>",
"customScopes": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({clientId: '<string>', clientSecret: '<string>', customScopes: ['<string>']})
};
fetch('https://api.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom', 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.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'clientId' => '<string>',
'clientSecret' => '<string>',
'customScopes' => [
'<string>'
]
]),
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.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom"
payload := strings.NewReader("{\n \"clientId\": \"<string>\",\n \"clientSecret\": \"<string>\",\n \"customScopes\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"clientId\": \"<string>\",\n \"clientSecret\": \"<string>\",\n \"customScopes\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.useanima.sh/v1/vault/oauth/apps/{appSlug}/custom")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"clientId\": \"<string>\",\n \"clientSecret\": \"<string>\",\n \"customScopes\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"appDefinitionId": "<string>",
"appSlug": "<string>",
"orgId": "<string>",
"clientId": "<string>",
"customScopes": [
"<string>"
],
"isActive": true,
"createdAt": "2023-11-07T05:31:56Z"
}Authorizations
BearerAuthApiKeyAuth
JWT Bearer token obtained from authentication. Pass as: Authorization: Bearer
Path Parameters
App slug to create a custom app for
Body
application/json
Response
200 - application/json
OK
Custom OAuth app details (client secret is never returned)
Custom app identifier
Parent app definition ID
App slug
Organization that owns this custom app
OAuth client ID (visible)
Custom scopes
Whether the custom app is active
When the custom app was created
⌘I
