SoftSolzSoftSolz
HomeAPI GuideAPI ReferenceWidget Tester
site builder

Connect a SoftSolz service (form, chat, blog, newsletter, payments, bookings, sign-in) to the site.

Installs the service if needed, validates or creates the resource, mints the public key and records the integration. Never spends AI credits. When placed is true the site already had a designed slot and nothing else is needed. When placed is false you must add it yourself with files/apply: in embed mode paste placement.snippet exactly once inside a section with id placement.anchor_id on one of placement.suggested_pages; in api mode merge placement.config.values into window.SITE_CONFIG in config.js and build the section per placement.instruction. Errors: 400 unsupported_integration or api_mode_unsupported, 402 when the workspace has no plan or a required email sender is missing, 404 resource_not_found, 409 already_connected, 409 site_busy (retry shortly).

POSThttps://app.softsolz.uk/api/v1/services/site-builder/projects/{id}/integrations

Recent Requests

Log in to see full request history
TimeStatusUser Agent
Make a request to see history.

Path Params

idstringrequired

Headers

Authorizationstringrequired

Bearer token: `Bearer sk_live_...` (or `sk_test_...` for sandbox). A login token will not work here.

Idempotency-Keystring

Optional idempotency key for safe retries.

Body Params

service_idstring

The service to connect.

modestring

embed (default) = ready-made hosted widget snippet. api = you build a custom section in the site design against the public widget endpoints (forms, blogs, newsletter, smart-chat, payments only; sign-in is widget-only).

resourceobject

Which resource to connect. forms: { form_slug } or { create_form: { name, fields: [{ id, type, label, required }] } }. newsletter: { card_slug }. appointments: { booking_slug }. payments: { payment_link_id }. smart-chat: { kb_collection_ids? }. customer-auth: { view: "auth" | "profile" }. blogs: {}.

Response

Response Body

integrationobjectThe connected row.
placedbooleantrue when the site already had a designed slot and nothing else is needed. false means you must place it: read placement and edit the pages with files/apply.
pagesarray of stringsPages changed by a slot connect.
changedarray of stringsFiles the platform wrote (config.js, a blog reader page).
placementobject | nullPlacement pack when placed is false: mode, snippet (embed) or config {file, key, values} + descriptor (api), instruction, suggested_pages, anchor_id and marker (text that must appear on a page once placed).

Request

import { SoftSolz } from '@softsolz/sdk';
const client = new SoftSolz({ apiKey: process.env.SOFTSOLZ_API_KEY });
const result = await client.siteBuilder.connectProjectIntegration('<id>', {});
console.log(result);

Credentials

Sent as a Bearer token. Stored only in your browser.

Response · 201

{
"data": {
"integration": {},
"placed": true,
"pages": [],
"changed": [],
"placement": "string"
}
}