Skip to content
Coritan Docs

Organization API: Organizations & Members: Staff

The 25 Organization API operations for staff.

View as Markdown

Part of Organizations & Members.

Method Path Summary
GET /api/v1/orgs/{org_slug}/staff/community/forum/members Staff forum members
POST /api/v1/orgs/{org_slug}/staff/community/forum/members/{handle}/role Staff set forum role
POST /api/v1/orgs/{org_slug}/staff/community/forum/members/{handle}/suspend Staff suspend forum member
GET /api/v1/orgs/{org_slug}/staff/marketing/referrals/settings Read the referral program's settings
PUT /api/v1/orgs/{org_slug}/staff/marketing/referrals/settings Change the referral program's settings
GET /api/v1/orgs/{org_slug}/staff/marketing/subscribers/settings Read the newsletter form's settings
PUT /api/v1/orgs/{org_slug}/staff/marketing/subscribers/settings Turn the newsletter form on or off and change its words
PATCH /api/v1/orgs/{org_slug}/staff/servers/{uuid}/settings Staff patch settings
GET /api/v1/orgs/{org_slug}/staff/settings Staff get settings
PATCH /api/v1/orgs/{org_slug}/staff/settings Staff patch settings
GET /api/v1/orgs/{org_slug}/staff/settings/email-design Staff get email design
PATCH /api/v1/orgs/{org_slug}/staff/settings/email-design Change how the brand's email looks
POST /api/v1/orgs/{org_slug}/staff/settings/email-design/preview Staff preview email design
POST /api/v1/orgs/{org_slug}/staff/settings/email-design/test Staff test email design
GET /api/v1/orgs/{org_slug}/staff/settings/error-page Staff get error page
PATCH /api/v1/orgs/{org_slug}/staff/settings/error-page Reword the page, pick its level of detail, switch it on or off
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
GET /api/v1/orgs/{org_slug}/staff/settings/seo Staff get seo
PUT /api/v1/orgs/{org_slug}/staff/settings/seo Save the brand's search settings
POST /api/v1/orgs/{org_slug}/staff/settings/seo/indexnow-key Make a new IndexNow key
DELETE /api/v1/orgs/{org_slug}/staff/settings/seo/indexnow-key Remove the IndexNow key
POST /api/v1/orgs/{org_slug}/staff/settings/seo/indexnow/submit Send every page in the sitemap to IndexNow now
GET /api/v1/orgs/{org_slug}/staff/settings/seo/test-path Staff test path
GET /api/v1/orgs/{org_slug}/staff/settings/support-desk Staff get support desk
PATCH /api/v1/orgs/{org_slug}/staff/settings/support-desk Staff patch support desk

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.

Read the referral program's settings

Section titled Read the referral program's settings

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.

Change the referral program's settings

Section titled Change the referral program's settings

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.

Read the newsletter form's settings

Section titled Read the newsletter form's settings

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.

Turn the newsletter form on or off and change its words

Section titled Turn the newsletter form on or off and change its words

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.

Change how the brand's email looks

Section titled Change how the brand's email looks

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.

Reword the page, pick its level of detail, switch it on or off

Section titled Reword the page, pick its level of detail, switch it on or off

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.

The page as a visitor would get it, for a block that is not saved yet

Section titled The page as a visitor would get it, for a block that is not saved yet

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.

Save the brand's search settings

Section titled Save the brand's search settings

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.

Send every page in the sitemap to IndexNow now

Section titled Send every page in the sitemap to IndexNow now

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.