basin.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.
Domains
list
domains.list
List custom domains configured in the account
Risk: read
await corsair.basin.api.domains.list({});
| Name | Type | Required | Description |
|---|---|---|---|
page | string | number | No | — |
query | string | No | — |
| Name | Type | Required | Description |
|---|---|---|---|
domains | object[] | Yes | — |
meta | object | No | — |
domains full type
domains full type
{
id?: number | string,
name?: string,
created_at?: string,
updated_at?: string
}[]
meta full type
meta full type
{
count?: number,
page?: number,
per_page?: number
}
Forms
create
forms.create
Create a new form
Risk: write
await corsair.basin.api.forms.create({});
| Name | Type | Required | Description |
|---|---|---|---|
name | string | No | — |
project_id | number | No | — |
timezone | string | No | — |
redirect_url | string | No | — |
use_ajax | boolean | No | — |
notification_emails | string | No | — |
autoreply | boolean | No | — |
autoreply_body | string | No | — |
whitelist_source_domains | string | No | — |
force_recaptcha | boolean | No | — |
force_hcaptcha | boolean | No | — |
force_turnstile | boolean | No | — |
turnstile_site_key | string | No | — |
turnstile_secret | string | No | — |
notification_cc_emails | string | No | — |
notification_bcc_emails | string | No | — |
notification_subject | string | No | — |
notification_from_name | string | No | — |
autoreply_subject | string | No | — |
autoreply_from_name | string | No | — |
autoreply_greeting | string | No | — |
autoreply_name | string | No | — |
autoreply_title | string | No | — |
autoreply_email | string | No | — |
logo | string | No | — |
button_background_color | string | No | — |
button_text_color | string | No | — |
data_receipt_email | boolean | No | — |
retention_days | number | No | — |
hide_dashboard_button | boolean | No | — |
exclude_submitter_from_reply | boolean | No | — |
custom_template | string | No | — |
use_custom_template | boolean | No | — |
autoreply_custom_template | string | No | — |
autoreply_use_custom_template | boolean | No | — |
notification_mail_template_id | number | No | — |
auto_response_mail_template_id | number | No | — |
confirmation_mail_template_id | number | No | — |
honeypot_field | string | No | — |
recaptcha_failed_url | string | No | — |
domain_id | number | No | — |
domain_email | string | No | — |
duplicate_filter | boolean | No | — |
redirect_heading | string | No | — |
redirect_message | string | No | — |
redirect_button_background_color | string | No | — |
redirect_button_text | string | No | — |
redirect_button_text_color | string | No | — |
content_blacklist | string[] | No | — |
allowed_domains | string[] | No | — |
blocked_domains | string[] | No | — |
smtp_email_validation | boolean | No | — |
contribute_to_spam_training | boolean | No | — |
form | object | No | — |
form full type
form full type
{
}
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
uuid | string | No | — |
name | string | No | — |
timezone | string | No | — |
redirect_url | string | No | — |
use_ajax | boolean | No | — |
notification_emails | string | No | — |
autoreply | boolean | No | — |
autoreply_body | string | No | — |
whitelist_source_domains | string | No | — |
force_recaptcha | boolean | No | — |
force_hcaptcha | boolean | No | — |
force_turnstile | boolean | No | — |
turnstile_site_key | string | No | — |
turnstile_secret | string | No | — |
notification_cc_emails | string | No | — |
notification_bcc_emails | string | No | — |
notification_subject | string | No | — |
notification_from_name | string | No | — |
autoreply_subject | string | No | — |
autoreply_from_name | string | No | — |
autoreply_greeting | string | No | — |
autoreply_name | string | No | — |
autoreply_title | string | No | — |
autoreply_email | string | No | — |
logo | string | No | — |
button_background_color | string | No | — |
button_text_color | string | No | — |
data_receipt_email | boolean | No | — |
retention_days | number | No | — |
hide_dashboard_button | boolean | No | — |
exclude_submitter_from_reply | boolean | No | — |
custom_template | string | No | — |
use_custom_template | boolean | No | — |
autoreply_custom_template | string | No | — |
autoreply_use_custom_template | boolean | No | — |
notification_mail_template_id | number | No | — |
auto_response_mail_template_id | number | No | — |
confirmation_mail_template_id | number | No | — |
honeypot_field | string | No | — |
recaptcha_failed_url | string | No | — |
domain_id | number | No | — |
domain_email | string | No | — |
duplicate_filter | boolean | No | — |
project_id | number | No | — |
project_name | string | No | — |
redirect_heading | string | No | — |
redirect_message | string | No | — |
redirect_button_background_color | string | No | — |
redirect_button_text | string | No | — |
redirect_button_text_color | string | No | — |
content_blacklist | string[] | No | — |
allowed_domains | string[] | No | — |
blocked_domains | string[] | No | — |
smtp_email_validation | boolean | No | — |
contribute_to_spam_training | boolean | No | — |
form_webhooks | any[] | No | — |
inbox_count | number | No | — |
spam_count | number | No | — |
trash_count | number | No | — |
created_at | string | No | — |
updated_at | string | No | — |
delete
forms.delete
Permanently delete a form and its configuration [DESTRUCTIVE]
Risk: destructive · Irreversible
await corsair.basin.api.forms.delete({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
object
Output full type
Output full type
{
success?: boolean,
message?: string
} | {
id: number | string,
uuid?: string | null,
name?: string,
timezone?: string,
redirect_url?: string | null,
use_ajax?: boolean,
notification_emails?: string,
autoreply?: boolean,
autoreply_body?: string | null,
whitelist_source_domains?: string | null,
force_recaptcha?: boolean,
force_hcaptcha?: boolean,
force_turnstile?: boolean,
turnstile_site_key?: string | null,
turnstile_secret?: string | null,
notification_cc_emails?: string | null,
notification_bcc_emails?: string | null,
notification_subject?: string | null,
notification_from_name?: string | null,
autoreply_subject?: string | null,
autoreply_from_name?: string | null,
autoreply_greeting?: string | null,
autoreply_name?: string | null,
autoreply_title?: string | null,
autoreply_email?: string | null,
logo?: string | null,
button_background_color?: string | null,
button_text_color?: string | null,
data_receipt_email?: boolean,
retention_days?: number,
hide_dashboard_button?: boolean,
exclude_submitter_from_reply?: boolean,
custom_template?: string | null,
use_custom_template?: boolean,
autoreply_custom_template?: string | null,
autoreply_use_custom_template?: boolean,
notification_mail_template_id?: number | null,
auto_response_mail_template_id?: number | null,
confirmation_mail_template_id?: number | null,
honeypot_field?: string | null,
recaptcha_failed_url?: string | null,
domain_id?: number | null,
domain_email?: string | null,
duplicate_filter?: boolean,
project_id?: number,
project_name?: string,
redirect_heading?: string | null,
redirect_message?: string | null,
redirect_button_background_color?: string | null,
redirect_button_text?: string | null,
redirect_button_text_color?: string | null,
content_blacklist?: string[] | null,
allowed_domains?: string[] | null,
blocked_domains?: string[] | null,
smtp_email_validation?: boolean,
contribute_to_spam_training?: boolean,
form_webhooks?: any[],
inbox_count?: number,
spam_count?: number,
trash_count?: number,
created_at?: string,
updated_at?: string
} | {
id: number | string,
email?: string | null,
form_id?: number,
spam?: boolean,
read?: boolean,
trash?: boolean,
spam_reason?: string | null,
webhook_sent_at?: string | null,
ip?: string | null,
referrer?: string | null,
user_agent?: string | null,
payload_params?: {
},
attachments?: any[] | null,
form?: {
name?: string,
uuid?: string
},
created_at?: string,
updated_at?: string
} | {
id: number | string,
name?: string,
created_at?: string,
updated_at?: string
} | {
id: number | string,
form_id?: number,
name?: string,
url?: string,
format?: string,
trigger_when_spam?: boolean,
enabled?: boolean,
failure_count?: number,
last_failure_at?: string | null,
created_at?: string,
updated_at?: string
} | {
}
get
forms.get
Retrieve a form by ID
Risk: read
await corsair.basin.api.forms.get({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
uuid | string | No | — |
name | string | No | — |
timezone | string | No | — |
redirect_url | string | No | — |
use_ajax | boolean | No | — |
notification_emails | string | No | — |
autoreply | boolean | No | — |
autoreply_body | string | No | — |
whitelist_source_domains | string | No | — |
force_recaptcha | boolean | No | — |
force_hcaptcha | boolean | No | — |
force_turnstile | boolean | No | — |
turnstile_site_key | string | No | — |
turnstile_secret | string | No | — |
notification_cc_emails | string | No | — |
notification_bcc_emails | string | No | — |
notification_subject | string | No | — |
notification_from_name | string | No | — |
autoreply_subject | string | No | — |
autoreply_from_name | string | No | — |
autoreply_greeting | string | No | — |
autoreply_name | string | No | — |
autoreply_title | string | No | — |
autoreply_email | string | No | — |
logo | string | No | — |
button_background_color | string | No | — |
button_text_color | string | No | — |
data_receipt_email | boolean | No | — |
retention_days | number | No | — |
hide_dashboard_button | boolean | No | — |
exclude_submitter_from_reply | boolean | No | — |
custom_template | string | No | — |
use_custom_template | boolean | No | — |
autoreply_custom_template | string | No | — |
autoreply_use_custom_template | boolean | No | — |
notification_mail_template_id | number | No | — |
auto_response_mail_template_id | number | No | — |
confirmation_mail_template_id | number | No | — |
honeypot_field | string | No | — |
recaptcha_failed_url | string | No | — |
domain_id | number | No | — |
domain_email | string | No | — |
duplicate_filter | boolean | No | — |
project_id | number | No | — |
project_name | string | No | — |
redirect_heading | string | No | — |
redirect_message | string | No | — |
redirect_button_background_color | string | No | — |
redirect_button_text | string | No | — |
redirect_button_text_color | string | No | — |
content_blacklist | string[] | No | — |
allowed_domains | string[] | No | — |
blocked_domains | string[] | No | — |
smtp_email_validation | boolean | No | — |
contribute_to_spam_training | boolean | No | — |
form_webhooks | any[] | No | — |
inbox_count | number | No | — |
spam_count | number | No | — |
trash_count | number | No | — |
created_at | string | No | — |
updated_at | string | No | — |
list
forms.list
List all forms in the account
Risk: read
await corsair.basin.api.forms.list({});
| Name | Type | Required | Description |
|---|---|---|---|
page | string | number | No | — |
query | string | No | — |
| Name | Type | Required | Description |
|---|---|---|---|
forms | object[] | Yes | — |
meta | object | No | — |
forms full type
forms full type
{
id: number | string,
uuid?: string | null,
name?: string,
timezone?: string,
redirect_url?: string | null,
use_ajax?: boolean,
notification_emails?: string,
autoreply?: boolean,
autoreply_body?: string | null,
whitelist_source_domains?: string | null,
force_recaptcha?: boolean,
force_hcaptcha?: boolean,
force_turnstile?: boolean,
turnstile_site_key?: string | null,
turnstile_secret?: string | null,
notification_cc_emails?: string | null,
notification_bcc_emails?: string | null,
notification_subject?: string | null,
notification_from_name?: string | null,
autoreply_subject?: string | null,
autoreply_from_name?: string | null,
autoreply_greeting?: string | null,
autoreply_name?: string | null,
autoreply_title?: string | null,
autoreply_email?: string | null,
logo?: string | null,
button_background_color?: string | null,
button_text_color?: string | null,
data_receipt_email?: boolean,
retention_days?: number,
hide_dashboard_button?: boolean,
exclude_submitter_from_reply?: boolean,
custom_template?: string | null,
use_custom_template?: boolean,
autoreply_custom_template?: string | null,
autoreply_use_custom_template?: boolean,
notification_mail_template_id?: number | null,
auto_response_mail_template_id?: number | null,
confirmation_mail_template_id?: number | null,
honeypot_field?: string | null,
recaptcha_failed_url?: string | null,
domain_id?: number | null,
domain_email?: string | null,
duplicate_filter?: boolean,
project_id?: number,
project_name?: string,
redirect_heading?: string | null,
redirect_message?: string | null,
redirect_button_background_color?: string | null,
redirect_button_text?: string | null,
redirect_button_text_color?: string | null,
content_blacklist?: string[] | null,
allowed_domains?: string[] | null,
blocked_domains?: string[] | null,
smtp_email_validation?: boolean,
contribute_to_spam_training?: boolean,
form_webhooks?: any[],
inbox_count?: number,
spam_count?: number,
trash_count?: number,
created_at?: string,
updated_at?: string
}[]
meta full type
meta full type
{
count?: number,
page?: number,
per_page?: number
}
update
forms.update
Update an existing form configuration
Risk: write
await corsair.basin.api.forms.update({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
name | string | No | — |
project_id | number | No | — |
timezone | string | No | — |
redirect_url | string | No | — |
use_ajax | boolean | No | — |
notification_emails | string | No | — |
autoreply | boolean | No | — |
autoreply_body | string | No | — |
whitelist_source_domains | string | No | — |
force_recaptcha | boolean | No | — |
force_hcaptcha | boolean | No | — |
force_turnstile | boolean | No | — |
turnstile_site_key | string | No | — |
turnstile_secret | string | No | — |
notification_cc_emails | string | No | — |
notification_bcc_emails | string | No | — |
notification_subject | string | No | — |
notification_from_name | string | No | — |
autoreply_subject | string | No | — |
autoreply_from_name | string | No | — |
autoreply_greeting | string | No | — |
autoreply_name | string | No | — |
autoreply_title | string | No | — |
autoreply_email | string | No | — |
logo | string | No | — |
button_background_color | string | No | — |
button_text_color | string | No | — |
data_receipt_email | boolean | No | — |
retention_days | number | No | — |
hide_dashboard_button | boolean | No | — |
exclude_submitter_from_reply | boolean | No | — |
custom_template | string | No | — |
use_custom_template | boolean | No | — |
autoreply_custom_template | string | No | — |
autoreply_use_custom_template | boolean | No | — |
notification_mail_template_id | number | No | — |
auto_response_mail_template_id | number | No | — |
confirmation_mail_template_id | number | No | — |
honeypot_field | string | No | — |
recaptcha_failed_url | string | No | — |
domain_id | number | No | — |
domain_email | string | No | — |
duplicate_filter | boolean | No | — |
redirect_heading | string | No | — |
redirect_message | string | No | — |
redirect_button_background_color | string | No | — |
redirect_button_text | string | No | — |
redirect_button_text_color | string | No | — |
content_blacklist | string[] | No | — |
allowed_domains | string[] | No | — |
blocked_domains | string[] | No | — |
smtp_email_validation | boolean | No | — |
contribute_to_spam_training | boolean | No | — |
form | object | No | — |
form full type
form full type
{
}
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
uuid | string | No | — |
name | string | No | — |
timezone | string | No | — |
redirect_url | string | No | — |
use_ajax | boolean | No | — |
notification_emails | string | No | — |
autoreply | boolean | No | — |
autoreply_body | string | No | — |
whitelist_source_domains | string | No | — |
force_recaptcha | boolean | No | — |
force_hcaptcha | boolean | No | — |
force_turnstile | boolean | No | — |
turnstile_site_key | string | No | — |
turnstile_secret | string | No | — |
notification_cc_emails | string | No | — |
notification_bcc_emails | string | No | — |
notification_subject | string | No | — |
notification_from_name | string | No | — |
autoreply_subject | string | No | — |
autoreply_from_name | string | No | — |
autoreply_greeting | string | No | — |
autoreply_name | string | No | — |
autoreply_title | string | No | — |
autoreply_email | string | No | — |
logo | string | No | — |
button_background_color | string | No | — |
button_text_color | string | No | — |
data_receipt_email | boolean | No | — |
retention_days | number | No | — |
hide_dashboard_button | boolean | No | — |
exclude_submitter_from_reply | boolean | No | — |
custom_template | string | No | — |
use_custom_template | boolean | No | — |
autoreply_custom_template | string | No | — |
autoreply_use_custom_template | boolean | No | — |
notification_mail_template_id | number | No | — |
auto_response_mail_template_id | number | No | — |
confirmation_mail_template_id | number | No | — |
honeypot_field | string | No | — |
recaptcha_failed_url | string | No | — |
domain_id | number | No | — |
domain_email | string | No | — |
duplicate_filter | boolean | No | — |
project_id | number | No | — |
project_name | string | No | — |
redirect_heading | string | No | — |
redirect_message | string | No | — |
redirect_button_background_color | string | No | — |
redirect_button_text | string | No | — |
redirect_button_text_color | string | No | — |
content_blacklist | string[] | No | — |
allowed_domains | string[] | No | — |
blocked_domains | string[] | No | — |
smtp_email_validation | boolean | No | — |
contribute_to_spam_training | boolean | No | — |
form_webhooks | any[] | No | — |
inbox_count | number | No | — |
spam_count | number | No | — |
trash_count | number | No | — |
created_at | string | No | — |
updated_at | string | No | — |
Form Views
get
formViews.get
Retrieve a specific form view by ID
Risk: read
await corsair.basin.api.formViews.get({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
form_id | number | No | — |
name | string | No | — |
status | string | No | — |
form_schema | string | No | — |
custom_css | string | No | — |
custom_head | string | No | — |
background_color | string | No | — |
text_color | string | No | — |
inherit_styles | boolean | No | — |
auto_resize | boolean | No | — |
transparent_background | boolean | No | — |
opens_at | string | No | — |
closes_at | string | No | — |
bootstrap_cdn_url | string | No | — |
uuid | string | No | — |
iframe_height | number | No | — |
iframe_width | number | No | — |
redirect_iframe_parent | boolean | No | — |
center_iframe | boolean | No | — |
embed_code | string | No | — |
form | object | No | — |
project | object | No | — |
created_at | string | No | — |
updated_at | string | No | — |
form full type
form full type
{
id?: number,
name?: string | null
}
project full type
project full type
{
id?: number,
name?: string | null
}
list
formViews.list
List form views in the account
Risk: read
await corsair.basin.api.formViews.list({});
| Name | Type | Required | Description |
|---|---|---|---|
page | string | number | No | — |
query | string | No | — |
| Name | Type | Required | Description |
|---|---|---|---|
form_views | object[] | Yes | — |
meta | object | No | — |
form_views full type
form_views full type
{
id: number | string,
form_id?: number,
name?: string | null,
status?: string,
form_schema?: string | null,
custom_css?: string | null,
custom_head?: string | null,
background_color?: string | null,
text_color?: string | null,
inherit_styles?: boolean,
auto_resize?: boolean,
transparent_background?: boolean,
opens_at?: string | null,
closes_at?: string | null,
bootstrap_cdn_url?: string | null,
uuid?: string | null,
iframe_height?: number | null,
iframe_width?: number | null,
redirect_iframe_parent?: boolean,
center_iframe?: boolean,
embed_code?: string,
form?: {
id?: number,
name?: string | null
},
project?: {
id?: number,
name?: string | null
},
created_at?: string,
updated_at?: string
}[]
meta full type
meta full type
{
count?: number,
page?: number,
per_page?: number
}
Projects
create
projects.create
Create a new project
Risk: write
await corsair.basin.api.projects.create({});
| Name | Type | Required | Description |
|---|---|---|---|
name | string | No | — |
project | object | No | — |
project full type
project full type
{
name: string
}
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
name | string | No | — |
created_at | string | No | — |
updated_at | string | No | — |
delete
projects.delete
Permanently delete a project [DESTRUCTIVE]
Risk: destructive · Irreversible
await corsair.basin.api.projects.delete({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
object
Output full type
Output full type
{
success?: boolean,
message?: string
} | {
id: number | string,
uuid?: string | null,
name?: string,
timezone?: string,
redirect_url?: string | null,
use_ajax?: boolean,
notification_emails?: string,
autoreply?: boolean,
autoreply_body?: string | null,
whitelist_source_domains?: string | null,
force_recaptcha?: boolean,
force_hcaptcha?: boolean,
force_turnstile?: boolean,
turnstile_site_key?: string | null,
turnstile_secret?: string | null,
notification_cc_emails?: string | null,
notification_bcc_emails?: string | null,
notification_subject?: string | null,
notification_from_name?: string | null,
autoreply_subject?: string | null,
autoreply_from_name?: string | null,
autoreply_greeting?: string | null,
autoreply_name?: string | null,
autoreply_title?: string | null,
autoreply_email?: string | null,
logo?: string | null,
button_background_color?: string | null,
button_text_color?: string | null,
data_receipt_email?: boolean,
retention_days?: number,
hide_dashboard_button?: boolean,
exclude_submitter_from_reply?: boolean,
custom_template?: string | null,
use_custom_template?: boolean,
autoreply_custom_template?: string | null,
autoreply_use_custom_template?: boolean,
notification_mail_template_id?: number | null,
auto_response_mail_template_id?: number | null,
confirmation_mail_template_id?: number | null,
honeypot_field?: string | null,
recaptcha_failed_url?: string | null,
domain_id?: number | null,
domain_email?: string | null,
duplicate_filter?: boolean,
project_id?: number,
project_name?: string,
redirect_heading?: string | null,
redirect_message?: string | null,
redirect_button_background_color?: string | null,
redirect_button_text?: string | null,
redirect_button_text_color?: string | null,
content_blacklist?: string[] | null,
allowed_domains?: string[] | null,
blocked_domains?: string[] | null,
smtp_email_validation?: boolean,
contribute_to_spam_training?: boolean,
form_webhooks?: any[],
inbox_count?: number,
spam_count?: number,
trash_count?: number,
created_at?: string,
updated_at?: string
} | {
id: number | string,
email?: string | null,
form_id?: number,
spam?: boolean,
read?: boolean,
trash?: boolean,
spam_reason?: string | null,
webhook_sent_at?: string | null,
ip?: string | null,
referrer?: string | null,
user_agent?: string | null,
payload_params?: {
},
attachments?: any[] | null,
form?: {
name?: string,
uuid?: string
},
created_at?: string,
updated_at?: string
} | {
id: number | string,
name?: string,
created_at?: string,
updated_at?: string
} | {
id: number | string,
form_id?: number,
name?: string,
url?: string,
format?: string,
trigger_when_spam?: boolean,
enabled?: boolean,
failure_count?: number,
last_failure_at?: string | null,
created_at?: string,
updated_at?: string
} | {
}
get
projects.get
Retrieve a project by ID
Risk: read
await corsair.basin.api.projects.get({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
name | string | No | — |
created_at | string | No | — |
updated_at | string | No | — |
list
projects.list
List all projects in the account
Risk: read
await corsair.basin.api.projects.list({});
| Name | Type | Required | Description |
|---|---|---|---|
page | string | number | No | — |
query | string | No | — |
| Name | Type | Required | Description |
|---|---|---|---|
projects | object[] | Yes | — |
meta | object | No | — |
projects full type
projects full type
{
id: number | string,
name?: string,
created_at?: string,
updated_at?: string
}[]
meta full type
meta full type
{
count?: number,
page?: number,
per_page?: number
}
update
projects.update
Update an existing project name
Risk: write
await corsair.basin.api.projects.update({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
name | string | No | — |
project | object | No | — |
project full type
project full type
{
name: string
}
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
name | string | No | — |
created_at | string | No | — |
updated_at | string | No | — |
Submissions
delete
submissions.delete
Permanently delete a form submission [DESTRUCTIVE]
Risk: destructive · Irreversible
await corsair.basin.api.submissions.delete({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
object
Output full type
Output full type
{
success?: boolean,
message?: string
} | {
id: number | string,
uuid?: string | null,
name?: string,
timezone?: string,
redirect_url?: string | null,
use_ajax?: boolean,
notification_emails?: string,
autoreply?: boolean,
autoreply_body?: string | null,
whitelist_source_domains?: string | null,
force_recaptcha?: boolean,
force_hcaptcha?: boolean,
force_turnstile?: boolean,
turnstile_site_key?: string | null,
turnstile_secret?: string | null,
notification_cc_emails?: string | null,
notification_bcc_emails?: string | null,
notification_subject?: string | null,
notification_from_name?: string | null,
autoreply_subject?: string | null,
autoreply_from_name?: string | null,
autoreply_greeting?: string | null,
autoreply_name?: string | null,
autoreply_title?: string | null,
autoreply_email?: string | null,
logo?: string | null,
button_background_color?: string | null,
button_text_color?: string | null,
data_receipt_email?: boolean,
retention_days?: number,
hide_dashboard_button?: boolean,
exclude_submitter_from_reply?: boolean,
custom_template?: string | null,
use_custom_template?: boolean,
autoreply_custom_template?: string | null,
autoreply_use_custom_template?: boolean,
notification_mail_template_id?: number | null,
auto_response_mail_template_id?: number | null,
confirmation_mail_template_id?: number | null,
honeypot_field?: string | null,
recaptcha_failed_url?: string | null,
domain_id?: number | null,
domain_email?: string | null,
duplicate_filter?: boolean,
project_id?: number,
project_name?: string,
redirect_heading?: string | null,
redirect_message?: string | null,
redirect_button_background_color?: string | null,
redirect_button_text?: string | null,
redirect_button_text_color?: string | null,
content_blacklist?: string[] | null,
allowed_domains?: string[] | null,
blocked_domains?: string[] | null,
smtp_email_validation?: boolean,
contribute_to_spam_training?: boolean,
form_webhooks?: any[],
inbox_count?: number,
spam_count?: number,
trash_count?: number,
created_at?: string,
updated_at?: string
} | {
id: number | string,
email?: string | null,
form_id?: number,
spam?: boolean,
read?: boolean,
trash?: boolean,
spam_reason?: string | null,
webhook_sent_at?: string | null,
ip?: string | null,
referrer?: string | null,
user_agent?: string | null,
payload_params?: {
},
attachments?: any[] | null,
form?: {
name?: string,
uuid?: string
},
created_at?: string,
updated_at?: string
} | {
id: number | string,
name?: string,
created_at?: string,
updated_at?: string
} | {
id: number | string,
form_id?: number,
name?: string,
url?: string,
format?: string,
trigger_when_spam?: boolean,
enabled?: boolean,
failure_count?: number,
last_failure_at?: string | null,
created_at?: string,
updated_at?: string
} | {
}
get
submissions.get
Retrieve a specific form submission by ID
Risk: read
await corsair.basin.api.submissions.get({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
email | string | No | — |
form_id | number | No | — |
spam | boolean | No | — |
read | boolean | No | — |
trash | boolean | No | — |
spam_reason | string | No | — |
webhook_sent_at | string | No | — |
ip | string | No | — |
referrer | string | No | — |
user_agent | string | No | — |
payload_params | object | No | — |
attachments | any[] | No | — |
form | object | No | — |
created_at | string | No | — |
updated_at | string | No | — |
payload_params full type
payload_params full type
{
}
form full type
form full type
{
name?: string,
uuid?: string
}
list
submissions.list
List submissions with filtering and pagination options
Risk: read
await corsair.basin.api.submissions.list({});
| Name | Type | Required | Description |
|---|---|---|---|
form_id | string | number | No | — |
filter_by | string | No | — |
query | string | No | — |
order_by | string | No | — |
date_range | string | No | — |
page | string | number | No | — |
| Name | Type | Required | Description |
|---|---|---|---|
submissions | object[] | Yes | — |
meta | object | No | — |
submissions full type
submissions full type
{
id: number | string,
email?: string | null,
form_id?: number,
spam?: boolean,
read?: boolean,
trash?: boolean,
spam_reason?: string | null,
webhook_sent_at?: string | null,
ip?: string | null,
referrer?: string | null,
user_agent?: string | null,
payload_params?: {
},
attachments?: any[] | null,
form?: {
name?: string,
uuid?: string
},
created_at?: string,
updated_at?: string
}[]
meta full type
meta full type
{
count?: number,
page?: number,
per_page?: number
}
markHam
submissions.markHam
Mark a submission as legitimate (not spam)
Risk: write
await corsair.basin.api.submissions.markHam({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
email | string | No | — |
form_id | number | No | — |
spam | boolean | No | — |
read | boolean | No | — |
trash | boolean | No | — |
spam_reason | string | No | — |
webhook_sent_at | string | No | — |
ip | string | No | — |
referrer | string | No | — |
user_agent | string | No | — |
payload_params | object | No | — |
attachments | any[] | No | — |
form | object | No | — |
created_at | string | No | — |
updated_at | string | No | — |
payload_params full type
payload_params full type
{
}
form full type
form full type
{
name?: string,
uuid?: string
}
markSpam
submissions.markSpam
Mark a submission as spam
Risk: write
await corsair.basin.api.submissions.markSpam({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
email | string | No | — |
form_id | number | No | — |
spam | boolean | No | — |
read | boolean | No | — |
trash | boolean | No | — |
spam_reason | string | No | — |
webhook_sent_at | string | No | — |
ip | string | No | — |
referrer | string | No | — |
user_agent | string | No | — |
payload_params | object | No | — |
attachments | any[] | No | — |
form | object | No | — |
created_at | string | No | — |
updated_at | string | No | — |
payload_params full type
payload_params full type
{
}
form full type
form full type
{
name?: string,
uuid?: string
}
refireWebhooks
submissions.refireWebhooks
Re-trigger webhooks for a specific submission
Risk: write
await corsair.basin.api.submissions.refireWebhooks({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
success | boolean | No | — |
message | string | No | — |
refireWebhooksBulk
submissions.refireWebhooksBulk
Re-trigger webhooks in bulk for multiple submissions
Risk: write
await corsair.basin.api.submissions.refireWebhooksBulk({});
| Name | Type | Required | Description |
|---|---|---|---|
submission_ids | number[] | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
success | boolean | No | — |
message | string | No | — |
update
submissions.update
Update a submission state (read, spam, trash)
Risk: write
await corsair.basin.api.submissions.update({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
spam | boolean | No | — |
read | boolean | No | — |
trash | boolean | No | — |
submission | object | No | — |
submission full type
submission full type
{
spam?: boolean,
read?: boolean,
trash?: boolean
}
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
email | string | No | — |
form_id | number | No | — |
spam | boolean | No | — |
read | boolean | No | — |
trash | boolean | No | — |
spam_reason | string | No | — |
webhook_sent_at | string | No | — |
ip | string | No | — |
referrer | string | No | — |
user_agent | string | No | — |
payload_params | object | No | — |
attachments | any[] | No | — |
form | object | No | — |
created_at | string | No | — |
updated_at | string | No | — |
payload_params full type
payload_params full type
{
}
form full type
form full type
{
name?: string,
uuid?: string
}
Webhooks
create
webhooks.create
Create a new form webhook integration
Risk: write
await corsair.basin.api.webhooks.create({});
| Name | Type | Required | Description |
|---|---|---|---|
form_id | number | No | — |
name | string | No | — |
url | string | No | — |
format | string | No | — |
trigger_when_spam | boolean | No | — |
enabled | boolean | No | — |
form_webhook | object | No | — |
form_webhook full type
form_webhook full type
{
form_id: number,
name: string,
url: string,
format?: string,
trigger_when_spam?: boolean,
enabled?: boolean
}
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
form_id | number | No | — |
name | string | No | — |
url | string | No | — |
format | string | No | — |
trigger_when_spam | boolean | No | — |
enabled | boolean | No | — |
failure_count | number | No | — |
last_failure_at | string | No | — |
created_at | string | No | — |
updated_at | string | No | — |
delete
webhooks.delete
Permanently delete a form webhook integration [DESTRUCTIVE]
Risk: destructive · Irreversible
await corsair.basin.api.webhooks.delete({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
object
Output full type
Output full type
{
success?: boolean,
message?: string
} | {
id: number | string,
uuid?: string | null,
name?: string,
timezone?: string,
redirect_url?: string | null,
use_ajax?: boolean,
notification_emails?: string,
autoreply?: boolean,
autoreply_body?: string | null,
whitelist_source_domains?: string | null,
force_recaptcha?: boolean,
force_hcaptcha?: boolean,
force_turnstile?: boolean,
turnstile_site_key?: string | null,
turnstile_secret?: string | null,
notification_cc_emails?: string | null,
notification_bcc_emails?: string | null,
notification_subject?: string | null,
notification_from_name?: string | null,
autoreply_subject?: string | null,
autoreply_from_name?: string | null,
autoreply_greeting?: string | null,
autoreply_name?: string | null,
autoreply_title?: string | null,
autoreply_email?: string | null,
logo?: string | null,
button_background_color?: string | null,
button_text_color?: string | null,
data_receipt_email?: boolean,
retention_days?: number,
hide_dashboard_button?: boolean,
exclude_submitter_from_reply?: boolean,
custom_template?: string | null,
use_custom_template?: boolean,
autoreply_custom_template?: string | null,
autoreply_use_custom_template?: boolean,
notification_mail_template_id?: number | null,
auto_response_mail_template_id?: number | null,
confirmation_mail_template_id?: number | null,
honeypot_field?: string | null,
recaptcha_failed_url?: string | null,
domain_id?: number | null,
domain_email?: string | null,
duplicate_filter?: boolean,
project_id?: number,
project_name?: string,
redirect_heading?: string | null,
redirect_message?: string | null,
redirect_button_background_color?: string | null,
redirect_button_text?: string | null,
redirect_button_text_color?: string | null,
content_blacklist?: string[] | null,
allowed_domains?: string[] | null,
blocked_domains?: string[] | null,
smtp_email_validation?: boolean,
contribute_to_spam_training?: boolean,
form_webhooks?: any[],
inbox_count?: number,
spam_count?: number,
trash_count?: number,
created_at?: string,
updated_at?: string
} | {
id: number | string,
email?: string | null,
form_id?: number,
spam?: boolean,
read?: boolean,
trash?: boolean,
spam_reason?: string | null,
webhook_sent_at?: string | null,
ip?: string | null,
referrer?: string | null,
user_agent?: string | null,
payload_params?: {
},
attachments?: any[] | null,
form?: {
name?: string,
uuid?: string
},
created_at?: string,
updated_at?: string
} | {
id: number | string,
name?: string,
created_at?: string,
updated_at?: string
} | {
id: number | string,
form_id?: number,
name?: string,
url?: string,
format?: string,
trigger_when_spam?: boolean,
enabled?: boolean,
failure_count?: number,
last_failure_at?: string | null,
created_at?: string,
updated_at?: string
} | {
}
get
webhooks.get
Retrieve a form webhook configuration by ID
Risk: read
await corsair.basin.api.webhooks.get({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
form_id | number | No | — |
name | string | No | — |
url | string | No | — |
format | string | No | — |
trigger_when_spam | boolean | No | — |
enabled | boolean | No | — |
failure_count | number | No | — |
last_failure_at | string | No | — |
created_at | string | No | — |
updated_at | string | No | — |
list
webhooks.list
List all form webhooks
Risk: read
await corsair.basin.api.webhooks.list({});
| Name | Type | Required | Description |
|---|---|---|---|
page | string | number | No | — |
query | string | No | — |
| Name | Type | Required | Description |
|---|---|---|---|
form_webhooks | object[] | Yes | — |
meta | object | No | — |
form_webhooks full type
form_webhooks full type
{
id: number | string,
form_id?: number,
name?: string,
url?: string,
format?: string,
trigger_when_spam?: boolean,
enabled?: boolean,
failure_count?: number,
last_failure_at?: string | null,
created_at?: string,
updated_at?: string
}[]
meta full type
meta full type
{
count?: number,
page?: number,
per_page?: number
}
update
webhooks.update
Update a form webhook configuration
Risk: write
await corsair.basin.api.webhooks.update({});
| Name | Type | Required | Description |
|---|---|---|---|
id | string | number | Yes | — |
form_id | number | No | — |
name | string | No | — |
url | string | No | — |
format | string | No | — |
trigger_when_spam | boolean | No | — |
enabled | boolean | No | — |
form_webhook | object | No | — |
form_webhook full type
form_webhook full type
{
form_id?: number,
name?: string,
url?: string,
format?: string,
trigger_when_spam?: boolean,
enabled?: boolean
}
| Name | Type | Required | Description |
|---|---|---|---|
id | number | string | Yes | — |
form_id | number | No | — |
name | string | No | — |
url | string | No | — |
format | string | No | — |
trigger_when_spam | boolean | No | — |
enabled | boolean | No | — |
failure_count | number | No | — |
last_failure_at | string | No | — |
created_at | string | No | — |
updated_at | string | No | — |