Add a website to track.
Creates a site from a domain. Connecting Search Console needs a Google account, which only the dashboard can do. 402 quota_exceeded means the plan allows no more sites; 409 site_exists means the domain is already tracked.
https://app.softsolz.uk/api/v1/services/seo/sitesRecent Requests
Log in to see full request historyHeaders
AuthorizationstringrequiredBearer token: `Bearer sk_live_...` (or `sk_test_...` for sandbox). A login token will not work here.
Idempotency-KeystringOptional idempotency key for safe retries.
Body Params
namestringDisplay name. Defaults to the domain.
domainstringWebsite address. Required unless a Search Console property is given.
timezonestringIANA timezone for reporting. Defaults to UTC.
settings_jsonobjectbrand_terms (string[]), thresholds, page_cap, query_page_cap.
refresh_frequencystringdaily, weekly or monthly.
visibilitystringprivate, tenant or shared. Defaults to private, which a plain API key cannot read back, so send tenant for sites the API should keep seeing.
shared_user_idsarray of integersMember ids when visibility is shared.
shared_role_idsarray of integersRole ids when visibility is shared.
Response
Response Body
idstringWebsite id. Use it as site_id in every other call.namestringDisplay name.domainstringBare domain the site is tracked under.gsc_property_urlstring | nullSearch Console property bound to this site, or null when not connected. Reports and history imports need this.gsc_connection_idstring | nullGoogle connection carrying the property.timezonestringIANA timezone used for reporting.statusstringactive, paused or archived.refresh_frequencystringdaily, weekly or monthly automatic refresh.last_refresh_atstring | nullWhen Search Console data was last refreshed.settings_jsonobjectBrand terms, thresholds and caps that tune the detectors.visibilitystringprivate, tenant or shared. A plain API key only sees tenant-wide sites; a connected app sees what its member sees.created_byinteger | nullMember who added the site.created_atstringCreation time.updated_atstringRound-trip as expected_updated_at on PATCH to avoid overwriting a newer edit.Request
import { SoftSolz } from '@softsolz/sdk';
const client = new SoftSolz({ apiKey: process.env.SOFTSOLZ_API_KEY });
const result = await client.seo.createSite({ "name": "Acme Bakery", "domain": "acmebakery.co.uk", "visibility": "tenant"});console.log(result);Credentials
Sent as a Bearer token. Stored only in your browser.
Response · 201
{ "data": { "id": "string", "name": "string", "domain": "string", "gsc_property_url": "string", "gsc_connection_id": "string", "timezone": "string", "status": "string", "refresh_frequency": "string", "last_refresh_at": "string", "settings_json": {}, "visibility": "string", "created_by": 0, "created_at": "string", "updated_at": "string" }}