Saltar al contenido 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>"
}

Autorizaciones

Authorization
string
header
requerido

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

Parámetros de ruta

slug
string
requerido
slideId
string
requerido

Cuerpo

application/json
pluginId
string
requerido

The plugin ID from listPlugins.

localName
string
requerido

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

config
object
requerido

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.

Respuesta

Plugin configured

slideId
string
requerido
versionId
string
requerido

The new project version ID.

instanceId
string
requerido

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

pluginId
string
requerido
created
boolean
requerido

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.