Part of Organizations & Members.
GET /api/v1/orgs/{org_slug}/staff/community/forum/members
| Name |
In |
Type |
Required |
Description |
org_slug |
path |
string |
yes |
|
q |
query |
string or null |
no |
|
only |
query |
string |
no |
Default: all. |
page |
query |
integer |
no |
Default: 1. |
page_size |
query |
integer |
no |
Default: 50. |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/community/forum/members/{handle}/role
| Name |
In |
Type |
Required |
handle |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
role |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/community/forum/members/{handle}/suspend
| Name |
In |
Type |
Required |
handle |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
suspend |
boolean |
no |
reason |
string or null |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/marketing/referrals/settings
The referral program's settings, with the wallet currency and the limit of each number.
Needs the Admin or Owner role. The program is off until enabled is true. reward_amount is paid to
the customer who shared a code, referee_reward_amount to the customer who used it (0 for none),
threshold_amount is what that customer's first paid invoice must reach without tax, hold_days how long
a qualified referral waits before it is paid, monthly_cap how many referrals one customer is paid for in
30 days, and block_paid_ads whether an order that came from a paid ad is refused. Amounts are decimal
strings in wallet dollars.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PUT /api/v1/orgs/{org_slug}/staff/marketing/referrals/settings
Turn the program on or off and change its amounts, hold and limits.
Needs the Admin or Owner role. Send only the settings that change. reward_amount,
referee_reward_amount and threshold_amount are amounts with at most 2 decimals (the first two 0 to
1000, the threshold 0 to 10000), hold_days is 1 to 90, monthly_cap is 1 to 500, enabled and
block_paid_ads are true or false. A value that does not fit, or a name that is not a setting, answers 422
with detail, the sentence to show, and field, the input it belongs to, and changes nothing. The answer
is the settings as GET gives them, with changed listing the keys that differ from before. A change is
recorded in the audit log as referrals.settings_updated with the keys before and after. A new amount
applies to referrals that start after the change. A referral already waiting keeps the amounts it started with.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
Description |
enabled |
boolean or integer or string or null |
no |
true turns the program on. Nothing is made or paid while it is off. |
reward_amount |
boolean or string or integer or number or null |
no |
What a customer's own code pays the referrer, in wallet dollars: 0 to 1000 with at most 2 decimals. |
referee_reward_amount |
boolean or string or integer or number or null |
no |
A welcome credit for the customer who was referred, in wallet dollars: 0 to 1000. 0 pays none. |
threshold_amount |
boolean or string or integer or number or null |
no |
What the referred customer's first paid invoice must reach, without tax, in wallet dollars: 0 to 10000. |
hold_days |
boolean or integer or string or null |
no |
Days a qualified referral waits before it is paid: 1 to 90. |
monthly_cap |
boolean or integer or string or null |
no |
Most referrals one customer is paid for in 30 days: 1 to 500. |
block_paid_ads |
boolean or integer or string or null |
no |
true refuses a referral whose order came from a paid ad (paid search, paid social or display). |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/marketing/subscribers/settings
Whether the newsletter form is on, whether it asks for a Turnstile check and the words beside its checkbox.
Needs the Admin or Owner role. The form is off until an admin turns it on: while it is off, the
storefront's POST /storefront/newsletter answers 404. consent_text is what a sign-up stores as
the visitor's agreement when the form sends no words of its own, and default_consent_text is what an
empty text falls back to.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PUT /api/v1/orgs/{org_slug}/staff/marketing/subscribers/settings
Change the newsletter form's settings. Send only what changes.
Needs the Admin or Owner role. consent_text is at most 300 characters and an empty one goes back to
the default words; a longer one answers 422 {"detail", "field"}. The answer is the same as the
GET plus changed, the keys that differ from before. A save that changes nothing writes no audit
entry; a change is audited as subscribers.settings_updated with the values before and after.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
Description |
enabled |
boolean or null |
no |
Whether the storefront's newsletter form accepts sign-ups. |
turnstile |
boolean or null |
no |
Whether the form asks for a Turnstile check. It applies when the brand has Turnstile keys. |
consent_text |
string or null |
no |
The words beside the form's checkbox, at most 300 characters. An empty text goes back to the default. |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PATCH /api/v1/orgs/{org_slug}/staff/servers/{uuid}/settings
| Name |
In |
Type |
Required |
uuid |
path |
string |
yes |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
name |
string or null |
no |
world_optimization_enabled |
boolean or null |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/settings
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PATCH /api/v1/orgs/{org_slug}/staff/settings
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
company_name |
string or null |
no |
legal_name |
string or null |
no |
registration_number |
string or null |
no |
tax_id |
string or null |
no |
registered_address |
string or null |
no |
country_code |
string or null |
no |
support_email |
string or null |
no |
billing_email |
string or null |
no |
terms_url |
string or null |
no |
privacy_url |
string or null |
no |
logo_url |
string or null |
no |
favicon_url |
string or null |
no |
primary_color |
string or null |
no |
secondary_color |
string or null |
no |
invoice_prefix |
string or null |
no |
invoice_footer |
string or null |
no |
default_currency |
string or null |
no |
tax_rate |
number or string or null |
no |
payment_terms_days |
integer or null |
no |
timezone |
string or null |
no |
features |
object or null |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/settings/email-design
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PATCH /api/v1/orgs/{org_slug}/staff/settings/email-design
Change how the brand's email looks. A field sent as null goes back
to the theme's value (the accent and the logo: the brand's own).
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
theme |
string or null |
no |
accent_color |
string or null |
no |
background_color |
string or null |
no |
surface_color |
string or null |
no |
text_color |
string or null |
no |
radius |
string or null |
no |
font |
string or null |
no |
header |
string or null |
no |
logo_url |
string or null |
no |
footer_text |
string or null |
no |
links |
array of EmailLink or null |
no |
links[].label |
string |
yes |
links[].url |
string |
yes |
show_address |
boolean or null |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/settings/email-design/preview
A sample email as the brand's customers would get it, with the design
being edited: its own wording where it edited the template.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
email_design |
object or null |
no |
sample |
string |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/settings/email-design/test
Send the sample to the staff member's own address, with the design
being edited, so it can be checked in a real mail client. A platform
admin on the as-owner API gets it at their own admin address.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
email_design |
object or null |
no |
sample |
string |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/settings/error-page
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PATCH /api/v1/orgs/{org_slug}/staff/settings/error-page
Reword the page, pick its level of detail, switch it on or off.
Fields sent as null go back to the brand default. The Coritan label,
footer and headers are not fields, so they cannot be switched off here.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
enabled |
boolean or null |
no |
heading |
string or null |
no |
message |
string or null |
no |
detail |
string or null |
no |
logo_url |
string or null |
no |
accent_color |
string or null |
no |
support_url |
string or null |
no |
support_label |
string or null |
no |
updates_url |
string or null |
no |
updates_label |
string or null |
no |
theme |
string or null |
no |
background_color |
string or null |
no |
surface_color |
string or null |
no |
text_color |
string or null |
no |
radius |
string or null |
no |
font |
string or null |
no |
status_style |
string or null |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/settings/error-page/preview
The page as a visitor would get it, for a block that is not saved yet.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
error_page |
object or null |
no |
status |
integer |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/settings/seo
The brand's saved search settings, the defaults an empty field falls back to,
and the limits each field has.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PUT /api/v1/orgs/{org_slug}/staff/settings/seo
Save the brand's search settings. A field left out keeps its saved value and
an empty one goes back to the brand's default. A value that breaks a rule is
refused with the reason, and nothing is saved.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
site_name |
string or null |
no |
alt_names |
array of string or null |
no |
home_title |
string or null |
no |
home_description |
string or null |
no |
og_image |
string or null |
no |
og_image_alt |
string or null |
no |
social |
object or null |
no |
verification |
object or null |
no |
robots_extra |
array of string or null |
no |
redirects |
array of RedirectIn or null |
no |
redirects[].from |
string |
yes |
redirects[].to |
string |
yes |
redirects[].status |
integer |
no |
hold_indexing |
boolean or null |
no |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/settings/seo/indexnow-key
Make a new IndexNow key. It is served at /<key>.txt on the storefront, and a
new key replaces the old one.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
DELETE /api/v1/orgs/{org_slug}/staff/settings/seo/indexnow-key
Remove the IndexNow key. The storefront stops serving it and stops sending changed pages.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
POST /api/v1/orgs/{org_slug}/staff/settings/seo/indexnow/submit
Send every page in the sitemap to IndexNow now. Needs an IndexNow key, and
indexing not on hold. Limited to a few runs an hour.
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
| Status |
Meaning |
202 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/settings/seo/test-path
What a visitor or a crawler gets for a path today: a redirect (and where
to), an indexable page, a page kept out of search, or a 404. Uses the saved
settings.
| Name |
In |
Type |
Required |
Description |
org_slug |
path |
string |
yes |
|
path |
query |
string |
yes |
An address on the storefront, such as /old-page. |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
GET /api/v1/orgs/{org_slug}/staff/settings/support-desk
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |
PATCH /api/v1/orgs/{org_slug}/staff/settings/support-desk
| Name |
In |
Type |
Required |
org_slug |
path |
string |
yes |
application/json (required)
| Field |
Type |
Required |
tier1_claim_limit |
integer |
yes |
| Status |
Meaning |
200 |
Success. |
422 |
The request is not valid. detail lists each problem. |