Get Widgets Batch
curl --request POST \
--url https://api.widgetic.com/v1/widgets/batch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"widgetIds": [
"<string>"
]
}
'import requests
url = "https://api.widgetic.com/v1/widgets/batch"
payload = { "widgetIds": ["<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({widgetIds: ['<string>']})
};
fetch('https://api.widgetic.com/v1/widgets/batch', 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.widgetic.com/v1/widgets/batch",
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([
'widgetIds' => [
'<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.widgetic.com/v1/widgets/batch"
payload := strings.NewReader("{\n \"widgetIds\": [\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.widgetic.com/v1/widgets/batch")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"widgetIds\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.widgetic.com/v1/widgets/batch")
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 \"widgetIds\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"widgets": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"creatorId": "a4d8b6e9-3c2d-4a1f-8b9c-5e2d3f4a1b6c",
"name": "Chart Widget",
"description": "Interactive chart widget for data visualization",
"type": "chart",
"content": {
"chartType": "bar",
"dataSource": "api"
},
"isPublic": false,
"isDraft": true,
"shareId": "shwgt_7f1d34acf2",
"createdAt": "2025-09-15T10:23:00.000Z",
"updatedAt": "2025-09-16T08:12:45.000Z",
"jsPath": "/widgets/chart/main.js",
"canvasId": "9f0c6b54-3e8f-4a2a-8b7d-1c5c6d9e0a1b",
"repoId": "user/chart-widget",
"databaseId": "widget_3fa85f64_5717_4562_b3fc_2c963f66afa6",
"version": 1,
"lastCommitSha": "a1b2c3d4e5f6g7h8i9j0",
"organizationId": "5e2d3f4a-1b6c-4a1f-8b9c-3c2d4e5f6a7b",
"projectFolder": "marketing/q4-launch",
"workspaceType": "personal",
"managedUserId": "b7c8d9e0-1f2a-4b3c-8d4e-5f6a7b8c9d0e"
}
],
"errors": [
{
"id": "<string>",
"error": "<string>"
}
]
},
"meta": {
"page": 1,
"size": 20,
"total": 135,
"limit": 20,
"offset": 0,
"hasNextPage": true,
"hasPreviousPage": false,
"nextCursor": "<string>",
"warnings": [
"<string>"
]
}
}{
"success": false,
"message": "<string>",
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Composition not found",
"timestamp": "2026-10-15T10:00:00.000Z",
"param": "name",
"docUrl": "<string>",
"suggestedAction": "<string>",
"retryAfter": 60,
"details": {},
"correlationId": "req_123e4567-e89b-12d3-a456-426614174000"
}
}{
"success": false,
"message": "<string>",
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Composition not found",
"timestamp": "2026-10-15T10:00:00.000Z",
"param": "name",
"docUrl": "<string>",
"suggestedAction": "<string>",
"retryAfter": 60,
"details": {},
"correlationId": "req_123e4567-e89b-12d3-a456-426614174000"
}
}Widgets
Get Widgets Batch
Retrieves multiple widgets by their IDs in a single request. An id that is not found, or that is not yours, is reported in errors exactly like one that does not exist. Called with an editor session, only the widgets made for the session’s managed user are returned.
POST
/
widgets
/
batch
Get Widgets Batch
curl --request POST \
--url https://api.widgetic.com/v1/widgets/batch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"widgetIds": [
"<string>"
]
}
'import requests
url = "https://api.widgetic.com/v1/widgets/batch"
payload = { "widgetIds": ["<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({widgetIds: ['<string>']})
};
fetch('https://api.widgetic.com/v1/widgets/batch', 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.widgetic.com/v1/widgets/batch",
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([
'widgetIds' => [
'<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.widgetic.com/v1/widgets/batch"
payload := strings.NewReader("{\n \"widgetIds\": [\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.widgetic.com/v1/widgets/batch")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"widgetIds\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.widgetic.com/v1/widgets/batch")
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 \"widgetIds\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"widgets": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"creatorId": "a4d8b6e9-3c2d-4a1f-8b9c-5e2d3f4a1b6c",
"name": "Chart Widget",
"description": "Interactive chart widget for data visualization",
"type": "chart",
"content": {
"chartType": "bar",
"dataSource": "api"
},
"isPublic": false,
"isDraft": true,
"shareId": "shwgt_7f1d34acf2",
"createdAt": "2025-09-15T10:23:00.000Z",
"updatedAt": "2025-09-16T08:12:45.000Z",
"jsPath": "/widgets/chart/main.js",
"canvasId": "9f0c6b54-3e8f-4a2a-8b7d-1c5c6d9e0a1b",
"repoId": "user/chart-widget",
"databaseId": "widget_3fa85f64_5717_4562_b3fc_2c963f66afa6",
"version": 1,
"lastCommitSha": "a1b2c3d4e5f6g7h8i9j0",
"organizationId": "5e2d3f4a-1b6c-4a1f-8b9c-3c2d4e5f6a7b",
"projectFolder": "marketing/q4-launch",
"workspaceType": "personal",
"managedUserId": "b7c8d9e0-1f2a-4b3c-8d4e-5f6a7b8c9d0e"
}
],
"errors": [
{
"id": "<string>",
"error": "<string>"
}
]
},
"meta": {
"page": 1,
"size": 20,
"total": 135,
"limit": 20,
"offset": 0,
"hasNextPage": true,
"hasPreviousPage": false,
"nextCursor": "<string>",
"warnings": [
"<string>"
]
}
}{
"success": false,
"message": "<string>",
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Composition not found",
"timestamp": "2026-10-15T10:00:00.000Z",
"param": "name",
"docUrl": "<string>",
"suggestedAction": "<string>",
"retryAfter": 60,
"details": {},
"correlationId": "req_123e4567-e89b-12d3-a456-426614174000"
}
}{
"success": false,
"message": "<string>",
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Composition not found",
"timestamp": "2026-10-15T10:00:00.000Z",
"param": "name",
"docUrl": "<string>",
"suggestedAction": "<string>",
"retryAfter": 60,
"details": {},
"correlationId": "req_123e4567-e89b-12d3-a456-426614174000"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Response
Widgets batch result