Skip to main content

Documentation index for AI agents: llms.txt. Every page here is also served as markdown: add .md to its address, or request it with Accept: text/markdown.

Organization API

Organization settings, members, invitations, and branding. This page lists all 24 endpoints in the Organization area of the Visual Sentinel REST API.

Base URL: https://visualsentinel.com. Unless an endpoint says otherwise it accepts an API key or a session cookie, see Authentication. Most error responses use the ErrorResponse shape, see Errors and Rate limits.

Endpoints

Get organization

GET /api/organization

Get the current organization's profile.

Responses

Update organization

PUT /api/organization

Update the organization's profile (name, slug, logo, website, timezone).

Request body (required): object.

FieldTypeRequiredDescription
namestringNoMax length 100.
slugstringNoMax length 50.
logostringNo
websitestring (uri)No
descriptionstringNoMax length 500.
timezonestringNo
billingEmailstring (email)No

Responses

  • 200: Organization updated.

Delete organization

DELETE /api/organization

Permanently delete the organization and all its data. Requires OWNER role.

Authentication: session cookie only. API keys are refused.

Responses

  • 200: Organization deleted.

Get organization settings

GET /api/organization/settings

Get organization-level settings (alert defaults, preferences).

Responses

  • 200: Organization settings.

Update organization settings

PATCH /api/organization/settings

Update organization-level settings.

Responses

  • 200: Settings updated.

Get organization member

GET /api/organization/members/{id}

Get details of a specific organization member.

Parameters

  • id (path, string (uuid), required)

Responses

  • 200: Member details.

Update member role

PUT /api/organization/members/{id}

Update an organization member's role.

Authentication: session cookie only. API keys are refused.

Parameters

  • id (path, string (uuid), required)

Request body (required): object.

FieldTypeRequiredDescription
rolestringYesOne of: ADMIN, MEMBER, VIEWER.

Responses

  • 200: Member role updated.

Remove organization member

DELETE /api/organization/members/{id}

Remove a member from the organization.

Authentication: session cookie only. API keys are refused.

Parameters

  • id (path, string (uuid), required)

Responses

  • 200: Member removed.

List invitations

GET /api/organization/invitations

Get all pending invitations for the organization.

Responses

  • 200: Pending invitations.

Send invitation

POST /api/organization/invitations

Send an invitation to join the organization.

Authentication: session cookie only. API keys are refused.

Request body (required): object.

FieldTypeRequiredDescription
emailstring (email)Yes
rolestringYesOne of: ADMIN, MEMBER, VIEWER.

Responses

  • 201: Invitation sent.

Cancel invitation

DELETE /api/organization/invitations/{id}

Cancel a pending invitation.

Authentication: session cookie only. API keys are refused.

Parameters

  • id (path, string (uuid), required)

Responses

  • 200: Invitation cancelled.

Accept invitation

POST /api/organization/invitations/accept

Accept an organization invitation using the invitation token.

Authentication: no session or API key needed.

Request body (required): object.

FieldTypeRequiredDescription
tokenstringYes

Responses

  • 200: Invitation accepted.

Verify invitation token

GET /api/organization/invitations/verify

Verify an invitation token is valid and return invitation details.

Authentication: no session or API key needed.

Parameters

  • token (query, string, required)

Responses

  • 200: Invitation details.
  • 400: Invalid or expired token.

Get branding settings

GET /api/organization/branding

Get white-label branding configuration.

Responses

  • 200: Branding settings.

Update branding

PUT /api/organization/branding

Update white-label branding configuration (colors, logo, custom domain).

Responses

  • 200: Branding updated.

Reset branding

DELETE /api/organization/branding

Reset branding to default Visual Sentinel branding.

Responses

  • 200: Branding reset.

Report a problem to Visual Sentinel

POST /api/organization/feedback

Send the Visual Sentinel team a report about a false alert, a bug or a missing feature, optionally for one monitor or incident of the workspace. The monitor and incident must belong to the workspace. 20 reports an hour per workspace. Needs the organization:write scope.

Request body (required): object.

FieldTypeRequiredDescription
typestringYesOne of: false_positive, bug, missing_feature.
notestringYesMin length 3, max length 1000.
monitorIdstringNo
incidentIdstringNo

Responses

  • 201: Report received. Body: object.
  • 400: Validation failed, or the incident belongs to another monitor.
  • 404: Monitor or incident not found in this workspace.
  • 429: Rate limit exceeded.
FieldTypeRequiredDescription
reportobjectNo
report.idstringNo
report.typestringNoOne of: false_positive, bug, missing_feature.
report.monitorIdstring or nullNo
report.incidentIdstring or nullNo
report.createdAtstring (date-time)No
messagestringNo

POST /api/organization/logo

Upload an organization logo image.

Request body (required): object (multipart/form-data).

FieldTypeRequiredDescription
filestring (binary)No

Responses

  • 200: Logo uploaded.

DELETE /api/organization/logo

Remove the organization logo.

Responses

  • 200: Logo deleted.

Get SMTP settings

GET /api/organization/smtp

Get custom SMTP configuration for sending emails.

Responses

  • 200: SMTP settings.

Test SMTP settings

POST /api/organization/smtp

Send a test email using the provided SMTP configuration.

Authentication: session cookie only. API keys are refused.

Responses

  • 200: Test email sent.

Update SMTP settings

PUT /api/organization/smtp

Update custom SMTP configuration.

Authentication: session cookie only. API keys are refused.

Responses

  • 200: SMTP settings updated.

Delete SMTP settings

DELETE /api/organization/smtp

Remove custom SMTP configuration and revert to default.

Authentication: session cookie only. API keys are refused.

Responses

  • 200: SMTP settings removed.

Leave organization

POST /api/organization/leave

Leave the current organization. Owners cannot leave; they must transfer ownership to another member first. After leaving, the user is switched to their next available organization. Session only: an API key gets 403 with code SESSION_REQUIRED.

Authentication: session cookie only. API keys are refused.

Responses

  • 200: Successfully left the organization. Body: object.
  • 400: Owners cannot leave. Transfer ownership first.
  • 404: Not a member of this organization.
  • 503: Database unavailable.
FieldTypeRequiredDescription
successbooleanNo
messagestringNo
switchTostring (uuid) or null (uuid)NoOrganization ID to switch to, or null if no other memberships

Data models

Request and response shapes these endpoints use: Organization.

Generated from the OpenAPI 3.1 specification at https://docs.visualsentinel.com/openapi.json, the same file the interactive reference reads.