The site's settings: its name and contact details, the menu, the home page, publishing and app settings, payments, delivery and taxes.
Endpoints that need a token: the site owner creates it in their admin (Developers > API reference). AI assistants: how to ask the user for one.
64 endpoints in 11 parts: Companion App Settings, Consent, Gdpr, Home Page Settings, Mycontact, Pwa Settings, Rating Settings, Site Menu, Social Mode Settings, Social Moderation Settings, AI builder.
Returns the site's companion app settings, newest first unless a sort is given.
Needs a site admin token.
curl -X GET 'http://pendarium.max-media.io/companion-app-settings?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
Create new companion_app_settings.
Needs a site admin token.
curl -X POST 'http://pendarium.max-media.io/companion-app-settings?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
Returns one companion app setting, found by its ID.
Needs a site admin token.
The ID of the companion app setting.
curl -X GET 'http://pendarium.max-media.io/companion-app-settings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Update CompanionAppSettings by id.
Needs a site admin token.
The ID of the companion app setting.
curl -X PATCH 'http://pendarium.max-media.io/companion-app-settings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Delete CompanionAppSettings record by id.
Needs a site admin token.
The ID of the companion app setting.
Returns an empty answer on success.
curl -X DELETE 'http://pendarium.max-media.io/companion-app-settings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Log agreement.
Public - no token needed.
The accept consent's type.
curl -X POST 'http://pendarium.max-media.io/accept-consent?ionic=true' \
-H 'Content-Type: application/json' \
-d '{ "type": "..." }'{
"url": "example-item",
"ip": "example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Returns the consent.
Public - no token needed.
Returns the Consent object.
curl -X GET 'http://pendarium.max-media.io/consent?ionic=true'
{
"title": "Example",
"text": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}Create new terms of use.
Needs a site admin token.
Returns the Consent object.
curl -X POST 'http://pendarium.max-media.io/consent?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"title": "Example",
"text": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}Get the terms of use text.
Public - no token needed.
curl -X GET 'http://pendarium.max-media.io/consent-text?ionic=true'
{
"title": "Example",
"text": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}Returns one consent, found by its ID.
Public - no token needed.
The ID of the consent.
Returns the Consent object.
curl -X GET 'http://pendarium.max-media.io/consent/{id}?ionic=true'{
"title": "Example",
"text": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}Update terms of use by id.
Needs a site admin token.
The ID of the consent.
Returns the Consent object.
curl -X PATCH 'http://pendarium.max-media.io/consent/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"title": "Example",
"text": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}Get the terms of use text.
Public - no token needed.
curl -X GET 'http://pendarium.max-media.io/gdpr-text?ionic=true'
{
"text": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}Returns the site's gdprs, newest first unless a sort is given.
Needs a site admin token.
Returns a list of Gdpr objects.
curl -X GET 'http://pendarium.max-media.io/gdprs?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
[
{
"text": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}
]Create new terms of use.
Needs a site admin token.
Returns the Gdpr object.
curl -X POST 'http://pendarium.max-media.io/gdprs?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"text": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}Returns one gdpr, found by its ID.
Public - no token needed.
The ID of the gdpr.
Returns the Gdpr object.
curl -X GET 'http://pendarium.max-media.io/gdprs/{id}?ionic=true'{
"text": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}Update terms of use by id.
Needs a site admin token.
The ID of the gdpr.
Returns the Gdpr object.
curl -X PATCH 'http://pendarium.max-media.io/gdprs/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"text": "Text shown on the site.",
"_id": "6543210fedcba98765432100"
}Returns the site's home page settings, newest first unless a sort is given.
Needs a site admin token.
Returns a list of HomePageSettings objects.
curl -X GET 'http://pendarium.max-media.io/home-page-settings?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
[
{
"useDifferentLayoutForApp": false,
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}
]Changes the fields sent; the others stay as they are.
Needs a site admin token.
The ID of the home page setting.
Whether the home page setting is use different layout for app.
Returns the HomePageSettings object.
curl -X PATCH 'http://pendarium.max-media.io/home-page-settings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "useDifferentLayoutForApp": "..." }'{
"useDifferentLayoutForApp": false,
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Returns the site's site contacts, newest first unless a sort is given.
Public - no token needed.
curl -X GET 'http://pendarium.max-media.io/mycontacts?ionic=true'
{
"zip_code": "example",
"city": "example",
"address": "example",
"contact": "example",
"email": "jane@example.com",
"google_app": "example",
"workhours": "example",
"logo": "6543210fedcba98765432100",
"site_name": "Example",
"domain": "example",
"stock_domain": "example",
"isMarket": false,
"forbidden_collections": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isInit": false,
"template": "0000",
"lang": "en",
"favicon": "6543210fedcba98765432100",
"cacheEnabled": false,
"has_completed_startup_prompt": true,
"gmb_location": "example",
"ga_property": "example",
"site_generated_at": "2026-11-04T12:00:00.000Z",
"admin_first_opened_at": "2026-11-04T12:00:00.000Z",
"admin_last_opened_at": "2026-11-04T12:00:00.000Z",
"allowedComponents": {
"services": false,
"products": false,
"blogposts": false,
"programs": false
}
}Create new mycontacts.
Needs a site admin token.
curl -X POST 'http://pendarium.max-media.io/mycontacts?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"zip_code": "example",
"city": "example",
"address": "example",
"contact": "example",
"email": "jane@example.com",
"google_app": "example",
"workhours": "example",
"logo": "6543210fedcba98765432100",
"site_name": "Example",
"domain": "example",
"stock_domain": "example",
"isMarket": false,
"forbidden_collections": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isInit": false,
"template": "0000",
"lang": "en",
"favicon": "6543210fedcba98765432100",
"cacheEnabled": false,
"has_completed_startup_prompt": true,
"gmb_location": "example",
"ga_property": "example",
"site_generated_at": "2026-11-04T12:00:00.000Z",
"admin_first_opened_at": "2026-11-04T12:00:00.000Z",
"admin_last_opened_at": "2026-11-04T12:00:00.000Z",
"allowedComponents": {
"services": false,
"products": false,
"blogposts": false,
"programs": false
}
}Returns one site contact, found by its ID.
Public - no token needed.
The ID of the site contact.
curl -X GET 'http://pendarium.max-media.io/mycontacts/{id}?ionic=true'{
"zip_code": "example",
"city": "example",
"address": "example",
"contact": "example",
"email": "jane@example.com",
"google_app": "example",
"workhours": "example",
"logo": "6543210fedcba98765432100",
"site_name": "Example",
"domain": "example",
"stock_domain": "example",
"isMarket": false,
"forbidden_collections": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isInit": false,
"template": "0000",
"lang": "en",
"favicon": "6543210fedcba98765432100",
"cacheEnabled": false,
"has_completed_startup_prompt": true,
"gmb_location": "example",
"ga_property": "example",
"site_generated_at": "2026-11-04T12:00:00.000Z",
"admin_first_opened_at": "2026-11-04T12:00:00.000Z",
"admin_last_opened_at": "2026-11-04T12:00:00.000Z",
"allowedComponents": {
"services": false,
"products": false,
"blogposts": false,
"programs": false
}
}Update MyContact by id.
Needs a site admin token.
The ID of the site contact.
The site contact's Google Business Profile location.
The site contact's Google Analytics property.
The site contact's google app.
curl -X PATCH 'http://pendarium.max-media.io/mycontacts/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "gmb_location": "...", "ga_property": "...", "google_app": "..." }'{
"zip_code": "example",
"city": "example",
"address": "example",
"contact": "example",
"email": "jane@example.com",
"google_app": "example",
"workhours": "example",
"logo": "6543210fedcba98765432100",
"site_name": "Example",
"domain": "example",
"stock_domain": "example",
"isMarket": false,
"forbidden_collections": [
{
"collection_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"isInit": false,
"template": "0000",
"lang": "en",
"favicon": "6543210fedcba98765432100",
"cacheEnabled": false,
"has_completed_startup_prompt": true,
"gmb_location": "example",
"ga_property": "example",
"site_generated_at": "2026-11-04T12:00:00.000Z",
"admin_first_opened_at": "2026-11-04T12:00:00.000Z",
"admin_last_opened_at": "2026-11-04T12:00:00.000Z",
"allowedComponents": {
"services": false,
"products": false,
"blogposts": false,
"programs": false
}
}Delete MyContact record by id.
Needs a site admin token.
The ID of the site contact.
Returns an empty answer on success.
curl -X DELETE 'http://pendarium.max-media.io/mycontacts/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Returns the site's app settings, newest first unless a sort is given.
Needs a site admin token.
curl -X GET 'http://pendarium.max-media.io/pwa-settings?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"name": "Example",
"short_name": "Example",
"logo": "6543210fedcba98765432100",
"background_color": "#3557c4",
"description": "Text shown on the site.",
"screenshots": [
{
"media": "6543210fedcba98765432100",
"is_mobile_preview": false,
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Create new pwaSettings.
Needs a site admin token.
curl -X POST 'http://pendarium.max-media.io/pwa-settings?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"name": "Example",
"short_name": "Example",
"logo": "6543210fedcba98765432100",
"background_color": "#3557c4",
"description": "Text shown on the site.",
"screenshots": [
{
"media": "6543210fedcba98765432100",
"is_mobile_preview": false,
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Returns one app setting, found by its ID.
Needs a site admin token.
The ID of the app setting.
curl -X GET 'http://pendarium.max-media.io/pwa-settings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"name": "Example",
"short_name": "Example",
"logo": "6543210fedcba98765432100",
"background_color": "#3557c4",
"description": "Text shown on the site.",
"screenshots": [
{
"media": "6543210fedcba98765432100",
"is_mobile_preview": false,
"_id": "6543210fedcba98765432100"
}
],
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Returns the site's rating settings, newest first unless a sort is given.
Public - no token needed.
Returns a list of RatingSettings objects.
curl -X GET 'http://pendarium.max-media.io/rating-settings?ionic=true'
[
{
"type": "example",
"send": false,
"days": 1,
"title": "Example",
"text1": "Text shown on the site.",
"text2": "Text shown on the site.",
"useCustomLink": false,
"customLinkUrl": "example-item",
"linkText": "example-item",
"startDate": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}
]Creates a rating setting from the fields sent.
Needs the token of a signed-in user.
Returns the RatingSettings object.
curl -X POST 'http://pendarium.max-media.io/rating-settings/?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"type": "example",
"send": false,
"days": 1,
"title": "Example",
"text1": "Text shown on the site.",
"text2": "Text shown on the site.",
"useCustomLink": false,
"customLinkUrl": "example-item",
"linkText": "example-item",
"startDate": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Changes the fields sent; the others stay as they are.
Needs the token of a signed-in user.
The ID of the rating setting.
Whether the rating setting is send.
Returns the RatingSettings object.
curl -X PATCH 'http://pendarium.max-media.io/rating-settings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "send": "..." }'{
"type": "example",
"send": false,
"days": 1,
"title": "Example",
"text1": "Text shown on the site.",
"text2": "Text shown on the site.",
"useCustomLink": false,
"customLinkUrl": "example-item",
"linkText": "example-item",
"startDate": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Returns the site's rating settings, newest first unless a sort is given.
Needs the token of a signed-in user.
The rating setting's type.
Returns a list of RatingSettings objects.
curl -X GET 'http://pendarium.max-media.io/rating-settings/{type}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'[
{
"type": "example",
"send": false,
"days": 1,
"title": "Example",
"text1": "Text shown on the site.",
"text2": "Text shown on the site.",
"useCustomLink": false,
"customLinkUrl": "example-item",
"linkText": "example-item",
"startDate": "2026-11-04T12:00:00.000Z",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}
]Returns the site's social mode settings, newest first unless a sort is given.
Public - no token needed.
Returns a list of SocialModeSettings objects.
curl -X GET 'http://pendarium.max-media.io/social-mode-settings?ionic=true'
[
{
"social_mode": false,
"allow_products": false,
"allow_services": false,
"allow_services_stp": false,
"allow_blogposts": false,
"allow_programs": false,
"allow_programs_stp": false,
"allow_posts": false,
"allow_ai": false,
"allow_bites": false,
"allow_long_videos": false,
"allow_explore": false,
"allow_online_payments": false,
"allow_price_plans": false,
"allow_boosting_posts": false,
"allow_single_ai": false,
"merchant_agreement": "6543210fedcba98765432100",
"verification_popup": "6543210fedcba98765432100",
"commission": 1,
"home_page": "home",
"allow_google_login": true,
"use_cdn_for_medias": false,
"cdn_for_medias": "example",
"use_cdn_for_microservices": false,
"navigation_pages": {
"bites": false,
"long_videos": false,
"vouchers": false,
"store": false,
"programs": false,
"services": false,
"blogposts": false,
"subscription": false,
"playlists": false,
"partners": false,
"contacts": false,
"tracker": false
}
}
]Create new SocialModeSettings.
Needs a site admin token.
Returns the SocialModeSettings object.
curl -X POST 'http://pendarium.max-media.io/social-mode-settings?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"social_mode": false,
"allow_products": false,
"allow_services": false,
"allow_services_stp": false,
"allow_blogposts": false,
"allow_programs": false,
"allow_programs_stp": false,
"allow_posts": false,
"allow_ai": false,
"allow_bites": false,
"allow_long_videos": false,
"allow_explore": false,
"allow_online_payments": false,
"allow_price_plans": false,
"allow_boosting_posts": false,
"allow_single_ai": false,
"merchant_agreement": "6543210fedcba98765432100",
"verification_popup": "6543210fedcba98765432100",
"commission": 1,
"home_page": "home",
"allow_google_login": true,
"use_cdn_for_medias": false,
"cdn_for_medias": "example",
"use_cdn_for_microservices": false,
"navigation_pages": {
"bites": false,
"long_videos": false,
"vouchers": false,
"store": false,
"programs": false,
"services": false,
"blogposts": false,
"subscription": false,
"playlists": false,
"partners": false,
"contacts": false,
"tracker": false
}
}Update SocialModeSettings by id.
Needs a site admin token.
The ID of the social mode setting.
Returns the SocialModeSettings object.
curl -X PATCH 'http://pendarium.max-media.io/social-mode-settings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"social_mode": false,
"allow_products": false,
"allow_services": false,
"allow_services_stp": false,
"allow_blogposts": false,
"allow_programs": false,
"allow_programs_stp": false,
"allow_posts": false,
"allow_ai": false,
"allow_bites": false,
"allow_long_videos": false,
"allow_explore": false,
"allow_online_payments": false,
"allow_price_plans": false,
"allow_boosting_posts": false,
"allow_single_ai": false,
"merchant_agreement": "6543210fedcba98765432100",
"verification_popup": "6543210fedcba98765432100",
"commission": 1,
"home_page": "home",
"allow_google_login": true,
"use_cdn_for_medias": false,
"cdn_for_medias": "example",
"use_cdn_for_microservices": false,
"navigation_pages": {
"bites": false,
"long_videos": false,
"vouchers": false,
"store": false,
"programs": false,
"services": false,
"blogposts": false,
"subscription": false,
"playlists": false,
"partners": false,
"contacts": false,
"tracker": false
}
}Delete SocialModeSettings record by id.
Needs a site admin token.
The ID of the social mode setting.
Returns an empty answer on success.
curl -X DELETE 'http://pendarium.max-media.io/social-mode-settings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Returns the unlocked content.
Works without a token; with a user token the answer is personal.
curl -X GET 'http://pendarium.max-media.io/unlocked-content?ionic=true'
{
"social_mode": false,
"allow_products": false,
"allow_services": false,
"allow_services_stp": false,
"allow_blogposts": false,
"allow_programs": false,
"allow_programs_stp": false,
"allow_posts": false,
"allow_ai": false,
"allow_bites": false,
"allow_long_videos": false,
"allow_explore": false,
"allow_online_payments": false,
"allow_price_plans": false,
"allow_boosting_posts": false,
"allow_single_ai": false,
"merchant_agreement": "6543210fedcba98765432100",
"verification_popup": "6543210fedcba98765432100",
"commission": 1,
"home_page": "home",
"allow_google_login": true,
"use_cdn_for_medias": false,
"cdn_for_medias": "example",
"use_cdn_for_microservices": false,
"navigation_pages": {
"bites": false,
"long_videos": false,
"vouchers": false,
"store": false,
"programs": false,
"services": false,
"blogposts": false,
"subscription": false,
"playlists": false,
"partners": false,
"contacts": false,
"tracker": false
}
}Connect the social.
Needs the token of a signed-in user.
The social's page id.
The social's granted scopes.
The social's delete comments.
curl -X POST 'http://pendarium.max-media.io/social/connect?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "pageId": "...", "grantedScopes": "...", "deleteComments": "..." }'{
"platform": "facebook",
"page_id": "example",
"page_name": "Example",
"connected_by": "6543210fedcba98765432100",
"last_polled_at": "2026-11-04T12:00:00.000Z",
"replies_disabled_at": "2026-11-04T12:00:00.000Z",
"enabled": false,
"auto_threshold": 0.9,
"custom_instructions": "example",
"auto_action": false,
"allow_auto_delete": false,
"auto_reply": false,
"auto_post_replies": false,
"reply_instructions": "example",
"notify_new_comments": false,
"start_date": "2026-11-04T12:00:00.000Z",
"message_instructions": "example",
"granted_scopes": [
"example"
],
"instagram_user_id": "example",
"instagram_username": "Example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"sources": {
"facebook_posts": false,
"facebook_reviews": false,
"instagram_comments": false,
"facebook_messages": false,
"instagram_messages": false
}
}Disconnect the social.
Needs the token of a signed-in user.
The social's delete comments.
curl -X POST 'http://pendarium.max-media.io/social/disconnect?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "deleteComments": "..." }'{
"platform": "facebook",
"page_id": "example",
"page_name": "Example",
"connected_by": "6543210fedcba98765432100",
"last_polled_at": "2026-11-04T12:00:00.000Z",
"replies_disabled_at": "2026-11-04T12:00:00.000Z",
"enabled": false,
"auto_threshold": 0.9,
"custom_instructions": "example",
"auto_action": false,
"allow_auto_delete": false,
"auto_reply": false,
"auto_post_replies": false,
"reply_instructions": "example",
"notify_new_comments": false,
"start_date": "2026-11-04T12:00:00.000Z",
"message_instructions": "example",
"granted_scopes": [
"example"
],
"instagram_user_id": "example",
"instagram_username": "Example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"sources": {
"facebook_posts": false,
"facebook_reviews": false,
"instagram_comments": false,
"facebook_messages": false,
"instagram_messages": false
}
}Returns the social. TEMPORARY. Delete once Instagram messages are settled. Asks Graph the conversations question directly, with the stored Page token and none of our own filtering, across both platforms and both folders. The sync reports zero Instagram conversations while Messenger returns thirteen from the same call and the same token; this shows what Meta actually answers, including the raw error when it refuses rather than returning empty.
Needs the token of a signed-in user.
curl -X GET 'http://pendarium.max-media.io/social/messages-probe?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"platform": "facebook",
"page_id": "example",
"page_name": "Example",
"connected_by": "6543210fedcba98765432100",
"last_polled_at": "2026-11-04T12:00:00.000Z",
"replies_disabled_at": "2026-11-04T12:00:00.000Z",
"enabled": false,
"auto_threshold": 0.9,
"custom_instructions": "example",
"auto_action": false,
"allow_auto_delete": false,
"auto_reply": false,
"auto_post_replies": false,
"reply_instructions": "example",
"notify_new_comments": false,
"start_date": "2026-11-04T12:00:00.000Z",
"message_instructions": "example",
"granted_scopes": [
"example"
],
"instagram_user_id": "example",
"instagram_username": "Example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"sources": {
"facebook_posts": false,
"facebook_reviews": false,
"instagram_comments": false,
"facebook_messages": false,
"instagram_messages": false
}
}Returns the social.
Needs the token of a signed-in user.
How many results to return.
curl -X GET 'http://pendarium.max-media.io/social/queue?ionic=true&limit=...' \ -H 'Authorization: Bearer <TOKEN>'
{
"platform": "facebook",
"page_id": "example",
"page_name": "Example",
"connected_by": "6543210fedcba98765432100",
"last_polled_at": "2026-11-04T12:00:00.000Z",
"replies_disabled_at": "2026-11-04T12:00:00.000Z",
"enabled": false,
"auto_threshold": 0.9,
"custom_instructions": "example",
"auto_action": false,
"allow_auto_delete": false,
"auto_reply": false,
"auto_post_replies": false,
"reply_instructions": "example",
"notify_new_comments": false,
"start_date": "2026-11-04T12:00:00.000Z",
"message_instructions": "example",
"granted_scopes": [
"example"
],
"instagram_user_id": "example",
"instagram_username": "Example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"sources": {
"facebook_posts": false,
"facebook_reviews": false,
"instagram_comments": false,
"facebook_messages": false,
"instagram_messages": false
}
}Approve the social.
Needs the token of a signed-in user.
The ID of the social.
The social's reply message.
The social's action.
curl -X POST 'http://pendarium.max-media.io/social/queue/{id}/approve?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "reply_message": "...", "action": "..." }'{
"platform": "facebook",
"page_id": "example",
"page_name": "Example",
"connected_by": "6543210fedcba98765432100",
"last_polled_at": "2026-11-04T12:00:00.000Z",
"replies_disabled_at": "2026-11-04T12:00:00.000Z",
"enabled": false,
"auto_threshold": 0.9,
"custom_instructions": "example",
"auto_action": false,
"allow_auto_delete": false,
"auto_reply": false,
"auto_post_replies": false,
"reply_instructions": "example",
"notify_new_comments": false,
"start_date": "2026-11-04T12:00:00.000Z",
"message_instructions": "example",
"granted_scopes": [
"example"
],
"instagram_user_id": "example",
"instagram_username": "Example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"sources": {
"facebook_posts": false,
"facebook_reviews": false,
"instagram_comments": false,
"facebook_messages": false,
"instagram_messages": false
}
}Creates a social from the fields sent.
Needs the token of a signed-in user.
The ID of the social.
curl -X POST 'http://pendarium.max-media.io/social/queue/{id}/regenerate-reply?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"platform": "facebook",
"page_id": "example",
"page_name": "Example",
"connected_by": "6543210fedcba98765432100",
"last_polled_at": "2026-11-04T12:00:00.000Z",
"replies_disabled_at": "2026-11-04T12:00:00.000Z",
"enabled": false,
"auto_threshold": 0.9,
"custom_instructions": "example",
"auto_action": false,
"allow_auto_delete": false,
"auto_reply": false,
"auto_post_replies": false,
"reply_instructions": "example",
"notify_new_comments": false,
"start_date": "2026-11-04T12:00:00.000Z",
"message_instructions": "example",
"granted_scopes": [
"example"
],
"instagram_user_id": "example",
"instagram_username": "Example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"sources": {
"facebook_posts": false,
"facebook_reviews": false,
"instagram_comments": false,
"facebook_messages": false,
"instagram_messages": false
}
}Reject the social.
Needs the token of a signed-in user.
The ID of the social.
curl -X POST 'http://pendarium.max-media.io/social/queue/{id}/reject?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"platform": "facebook",
"kind": "comment",
"conversation_id": "example",
"window_expires_at": "2026-11-04T12:00:00.000Z",
"page_id": "example",
"comment_id": "example",
"post_id": "example",
"post_url": "example-item",
"post_message": "example",
"post_links": [
{
"url": "example-item",
"title": "Example"
}
],
"parent_id": "example",
"page_replied": false,
"post_type": "organic",
"message": "example",
"author_id": "example",
"author_name": "Example",
"comment_created_at": "2026-11-04T12:00:00.000Z",
"suggested_action": "example",
"reply_message": "example",
"status": "new",
"action_taken": "example",
"actioned_by": "example",
"actioned_at": "2026-11-04T12:00:00.000Z",
"reply_comment_id": "example",
"classification": {
"category": "example",
"score": 0,
"should_reply": false,
"answer_available": false,
"reasoning": "example",
"language": "en"
},
"credits": {
"classify": 0,
"reply": 0
}
}Undo the social.
Needs the token of a signed-in user.
The ID of the social.
curl -X POST 'http://pendarium.max-media.io/social/queue/{id}/undo?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"platform": "facebook",
"page_id": "example",
"page_name": "Example",
"connected_by": "6543210fedcba98765432100",
"last_polled_at": "2026-11-04T12:00:00.000Z",
"replies_disabled_at": "2026-11-04T12:00:00.000Z",
"enabled": false,
"auto_threshold": 0.9,
"custom_instructions": "example",
"auto_action": false,
"allow_auto_delete": false,
"auto_reply": false,
"auto_post_replies": false,
"reply_instructions": "example",
"notify_new_comments": false,
"start_date": "2026-11-04T12:00:00.000Z",
"message_instructions": "example",
"granted_scopes": [
"example"
],
"instagram_user_id": "example",
"instagram_username": "Example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"sources": {
"facebook_posts": false,
"facebook_reviews": false,
"instagram_comments": false,
"facebook_messages": false,
"instagram_messages": false
}
}Returns the site's socials, newest first unless a sort is given.
Needs the token of a signed-in user.
curl -X GET 'http://pendarium.max-media.io/social/settings?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"platform": "facebook",
"page_id": "example",
"page_name": "Example",
"connected_by": "6543210fedcba98765432100",
"last_polled_at": "2026-11-04T12:00:00.000Z",
"replies_disabled_at": "2026-11-04T12:00:00.000Z",
"enabled": false,
"auto_threshold": 0.9,
"custom_instructions": "example",
"auto_action": false,
"allow_auto_delete": false,
"auto_reply": false,
"auto_post_replies": false,
"reply_instructions": "example",
"notify_new_comments": false,
"start_date": "2026-11-04T12:00:00.000Z",
"message_instructions": "example",
"granted_scopes": [
"example"
],
"instagram_user_id": "example",
"instagram_username": "Example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"sources": {
"facebook_posts": false,
"facebook_reviews": false,
"instagram_comments": false,
"facebook_messages": false,
"instagram_messages": false
}
}Changes the fields sent; the others stay as they are.
Needs the token of a signed-in user.
The social's clear replies disabled.
curl -X PATCH 'http://pendarium.max-media.io/social/settings?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "clear_replies_disabled": "..." }'{
"platform": "facebook",
"page_id": "example",
"page_name": "Example",
"connected_by": "6543210fedcba98765432100",
"last_polled_at": "2026-11-04T12:00:00.000Z",
"replies_disabled_at": "2026-11-04T12:00:00.000Z",
"enabled": false,
"auto_threshold": 0.9,
"custom_instructions": "example",
"auto_action": false,
"allow_auto_delete": false,
"auto_reply": false,
"auto_post_replies": false,
"reply_instructions": "example",
"notify_new_comments": false,
"start_date": "2026-11-04T12:00:00.000Z",
"message_instructions": "example",
"granted_scopes": [
"example"
],
"instagram_user_id": "example",
"instagram_username": "Example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"sources": {
"facebook_posts": false,
"facebook_reviews": false,
"instagram_comments": false,
"facebook_messages": false,
"instagram_messages": false
}
}Change the status of a social.
Needs the token of a signed-in user.
curl -X GET 'http://pendarium.max-media.io/social/status?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"platform": "facebook",
"page_id": "example",
"page_name": "Example",
"connected_by": "6543210fedcba98765432100",
"last_polled_at": "2026-11-04T12:00:00.000Z",
"replies_disabled_at": "2026-11-04T12:00:00.000Z",
"enabled": false,
"auto_threshold": 0.9,
"custom_instructions": "example",
"auto_action": false,
"allow_auto_delete": false,
"auto_reply": false,
"auto_post_replies": false,
"reply_instructions": "example",
"notify_new_comments": false,
"start_date": "2026-11-04T12:00:00.000Z",
"message_instructions": "example",
"granted_scopes": [
"example"
],
"instagram_user_id": "example",
"instagram_username": "Example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"sources": {
"facebook_posts": false,
"facebook_reviews": false,
"instagram_comments": false,
"facebook_messages": false,
"instagram_messages": false
}
}Pull the page's recent comments now, instead of waiting for the. scheduled run. Same function the cron calls, so a manual sync and an automatic one cannot drift apart.
Needs the token of a signed-in user.
curl -X POST 'http://pendarium.max-media.io/social/sync?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
{
"platform": "facebook",
"page_id": "example",
"page_name": "Example",
"connected_by": "6543210fedcba98765432100",
"last_polled_at": "2026-11-04T12:00:00.000Z",
"replies_disabled_at": "2026-11-04T12:00:00.000Z",
"enabled": false,
"auto_threshold": 0.9,
"custom_instructions": "example",
"auto_action": false,
"allow_auto_delete": false,
"auto_reply": false,
"auto_post_replies": false,
"reply_instructions": "example",
"notify_new_comments": false,
"start_date": "2026-11-04T12:00:00.000Z",
"message_instructions": "example",
"granted_scopes": [
"example"
],
"instagram_user_id": "example",
"instagram_username": "Example",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"sources": {
"facebook_posts": false,
"facebook_reviews": false,
"instagram_comments": false,
"facebook_messages": false,
"instagram_messages": false
}
}Create a location from a prompt, written by the AI builder.
Needs the token of a signed-in user.
What the AI should do with the location, in plain words - any language.
The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.
Which version of the AI builder to use; leave it out for the current one.
The ID of the location to change.
curl -X POST 'http://pendarium.max-media.io/create-new-location?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "..." }'{
"chat_id": "6543210fedcba98765432100",
"role": "user",
"text": "Text shown on the site.",
"target_url": "example-item",
"action": "RESPONSE",
"options": [
"example"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gemini_uri": "example",
"gemini_interaction_id": "example",
"_id": "6543210fedcba98765432100"
}
],
"products": [
"6543210fedcba98765432101"
],
"services": [
"6543210fedcba98765432101"
],
"blogposts": [
"6543210fedcba98765432101"
],
"programs": [
"6543210fedcba98765432101"
],
"suggestions": [
{
"text": "Text shown on the site.",
"route": "example",
"item_id": "6543210fedcba98765432100",
"medias": [],
"picture": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"is_system": false,
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"data": {
"object": "example",
"object_type": "example",
"edit_summary": "example",
"edit_diff": "example",
"undo_record": "example",
"hero_animation_offer": "example",
"preview_state": "example",
"pending_credit_cost": 0,
"target_restore": "example",
"media_request": "example",
"item_request": "example",
"reference_request": "example"
}
}Use it to create a new physical store location or partner business listing (name, address, city, contact info).
Needs the token of a signed-in user.
What the AI should do with the location, in plain words - any language.
The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.
curl -X POST 'http://pendarium.max-media.io/generate-location?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "prompt": "...", "chatId": "..." }'Use it for a privacy policy page for your site, optionally together with the site's cookie consent banner.
Needs the token of a signed-in user.
What the AI should do with the privacy policy, in plain words - any language.
The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.
Which version of the AI builder to use; leave it out for the current one.
The privacy policy's socket id.
Whether to also create the cookie consent banner and link it to this privacy policy.
curl -X POST 'http://pendarium.max-media.io/generate-privacy-policy?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "socketId": "...", "include_consent": "..." }'Use it to edit or update an existing physical location or partner business entry.
Needs the token of a signed-in user.
What the AI should do with the location, in plain words - any language.
The current location, as JSON - the AI changes it and returns the result.
The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.
The ID of the location to change.
The location's item ids.
curl -X POST 'http://pendarium.max-media.io/modify-location?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "prompt": "...", "item_data": "...", "chatId": "...", "item_id": "...", "item_ids": "..." }'Use it to set up or configure automated review/rating request emails.
Needs the token of a signed-in user.
What the AI should do with the rating setting, in plain words - any language.
The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.
curl -X POST 'http://pendarium.max-media.io/modify-rating-settings?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "prompt": "...", "chatId": "..." }'Use it to update site contact info such as site name, address, city, zip code, email, phone, working hours, or language.
Needs the token of a signed-in user.
What the AI should do with the site contact, in plain words - any language.
The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.
curl -X POST 'http://pendarium.max-media.io/modify-site-contacts?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "prompt": "...", "chatId": "..." }'Update a rating setting from a prompt, written by the AI builder.
Needs the token of a signed-in user.
What the AI should do with the rating setting, in plain words - any language.
The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.
Which version of the AI builder to use; leave it out for the current one.
The rating setting's rating type.
curl -X POST 'http://pendarium.max-media.io/update-rating-settings-ai?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "rating_type": "..." }'{
"chat_id": "6543210fedcba98765432100",
"role": "user",
"text": "Text shown on the site.",
"target_url": "example-item",
"action": "RESPONSE",
"options": [
"example"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gemini_uri": "example",
"gemini_interaction_id": "example",
"_id": "6543210fedcba98765432100"
}
],
"products": [
"6543210fedcba98765432101"
],
"services": [
"6543210fedcba98765432101"
],
"blogposts": [
"6543210fedcba98765432101"
],
"programs": [
"6543210fedcba98765432101"
],
"suggestions": [
{
"text": "Text shown on the site.",
"route": "example",
"item_id": "6543210fedcba98765432100",
"medias": [],
"picture": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"is_system": false,
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"data": {
"object": "example",
"object_type": "example",
"edit_summary": "example",
"edit_diff": "example",
"undo_record": "example",
"hero_animation_offer": "example",
"preview_state": "example",
"pending_credit_cost": 0,
"target_restore": "example",
"media_request": "example",
"item_request": "example",
"reference_request": "example"
}
}Update a site contact from a prompt, written by the AI builder.
Needs the token of a signed-in user.
What the AI should do with the site contact, in plain words - any language.
The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.
Which version of the AI builder to use; leave it out for the current one.
The ID of the site contact to change.
curl -X POST 'http://pendarium.max-media.io/update-site-contacts?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "..." }'{
"chat_id": "6543210fedcba98765432100",
"role": "user",
"text": "Text shown on the site.",
"target_url": "example-item",
"action": "RESPONSE",
"options": [
"example"
],
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gemini_uri": "example",
"gemini_interaction_id": "example",
"_id": "6543210fedcba98765432100"
}
],
"products": [
"6543210fedcba98765432101"
],
"services": [
"6543210fedcba98765432101"
],
"blogposts": [
"6543210fedcba98765432101"
],
"programs": [
"6543210fedcba98765432101"
],
"suggestions": [
{
"text": "Text shown on the site.",
"route": "example",
"item_id": "6543210fedcba98765432100",
"medias": [],
"picture": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"is_system": false,
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z",
"data": {
"object": "example",
"object_type": "example",
"edit_summary": "example",
"edit_diff": "example",
"undo_record": "example",
"hero_animation_offer": "example",
"preview_state": "example",
"pending_credit_cost": 0,
"target_restore": "example",
"media_request": "example",
"item_request": "example",
"reference_request": "example"
}
}