Configure Plugin
Configure a plugin instance on a slide.
curl --request POST \
--url https://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"pluginId": "<string>",
"localName": "<string>",
"config": {},
"overwrite": true
}
'import requests
url = "https://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins"
payload = {
"pluginId": "<string>",
"localName": "<string>",
"config": {},
"overwrite": True
}
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({pluginId: '<string>', localName: '<string>', config: {}, overwrite: true})
};
fetch('https://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins', 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://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins",
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([
'pluginId' => '<string>',
'localName' => '<string>',
'config' => [
],
'overwrite' => true
]),
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://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins"
payload := strings.NewReader("{\n \"pluginId\": \"<string>\",\n \"localName\": \"<string>\",\n \"config\": {},\n \"overwrite\": true\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://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"pluginId\": \"<string>\",\n \"localName\": \"<string>\",\n \"config\": {},\n \"overwrite\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins")
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 \"pluginId\": \"<string>\",\n \"localName\": \"<string>\",\n \"config\": {},\n \"overwrite\": true\n}"
response = http.request(request)
puts response.read_body{
"slideId": "<string>",
"versionId": "<string>",
"instanceId": "<string>",
"pluginId": "<string>",
"created": true,
"warning": "<string>"
}{
"error": "<string>",
"hint": "<string>"
}{
"error": "<string>",
"hint": "<string>"
}{
"error": "<string>",
"hint": "<string>"
}Authorizations
API key with "faces_" prefix. Create one at Settings > Developers.
Body
The plugin ID from listPlugins.
Identifier for this instance, referenced in code as useFormPlugin/usePresenterPlugin(localName). camelCase or snake_case, starting with a letter.
Config object matching the plugin's config schema (see getPluginDocs).
Show child attributes
Show child attributes
Set true to replace an existing instance with the same localName. Defaults to false.
Response
Plugin configured
The new project version ID.
The configured instance id, formatted as ${slideId}.${localName}.
True if a new instance was created, false if an existing one was overwritten.
Present when the config was saved but a post-save side effect (e.g. presenter avatar provisioning) failed. The instance is configured; address the warning and call setupPlugin again with overwrite: true to retry.
curl --request POST \
--url https://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"pluginId": "<string>",
"localName": "<string>",
"config": {},
"overwrite": true
}
'import requests
url = "https://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins"
payload = {
"pluginId": "<string>",
"localName": "<string>",
"config": {},
"overwrite": True
}
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({pluginId: '<string>', localName: '<string>', config: {}, overwrite: true})
};
fetch('https://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins', 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://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins",
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([
'pluginId' => '<string>',
'localName' => '<string>',
'config' => [
],
'overwrite' => true
]),
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://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins"
payload := strings.NewReader("{\n \"pluginId\": \"<string>\",\n \"localName\": \"<string>\",\n \"config\": {},\n \"overwrite\": true\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://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"pluginId\": \"<string>\",\n \"localName\": \"<string>\",\n \"config\": {},\n \"overwrite\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://faces.app/api/v1/projects/{slug}/slides/{slideId}/plugins")
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 \"pluginId\": \"<string>\",\n \"localName\": \"<string>\",\n \"config\": {},\n \"overwrite\": true\n}"
response = http.request(request)
puts response.read_body{
"slideId": "<string>",
"versionId": "<string>",
"instanceId": "<string>",
"pluginId": "<string>",
"created": true,
"warning": "<string>"
}{
"error": "<string>",
"hint": "<string>"
}{
"error": "<string>",
"hint": "<string>"
}{
"error": "<string>",
"hint": "<string>"
}