Passer au contenu principal
POST
/
projects
/
{slug}
/
slides
/
{slideId}
/
plugins
Configure a plugin 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>"
}

Autorisations

Authorization
string
header
requis

API key with "faces_" prefix. Create one at Settings > Developers.

Paramètres de chemin

slug
string
requis
slideId
string
requis

Corps

application/json
pluginId
string
requis

The plugin ID from listPlugins.

localName
string
requis

Identifier for this instance, referenced in code as useFormPlugin/usePresenterPlugin(localName). camelCase or snake_case, starting with a letter.

config
object
requis

Config object matching the plugin's config schema (see getPluginDocs).

overwrite
boolean

Set true to replace an existing instance with the same localName. Defaults to false.

Réponse

Plugin configured

slideId
string
requis
versionId
string
requis

The new project version ID.

instanceId
string
requis

The configured instance id, formatted as ${slideId}.${localName}.

pluginId
string
requis
created
boolean
requis

True if a new instance was created, false if an existing one was overwritten.

warning
string

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.