Skip to main content
SONZAI
Api

Storefront

Get storefront config

GET
/storefront

Authorization

bearerClerk
AuthorizationBearer <token>

Clerk session JWT from an authenticated dashboard user. Format: Bearer eyJ....

In: header

Response Body

application/json

application/problem+json

curl -X GET "https://loading/api/v1/storefront"
{
  "$schema": "/api/v1/schemas/StorefrontGetOutputBody.json",
  "slug": "string",
  "storefront": {
    "$schema": "/api/v1/schemas/Storefront.json",
    "accent_color": "string",
    "access_mode": "string",
    "anon_msg_limit_per_session": 0,
    "anon_rate_limit_per_min": 0,
    "anon_session_ttl_minutes": 0,
    "background_color": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "custom_css": "string",
    "display_name": "string",
    "is_published": true,
    "layout": "string",
    "logo_url": "string",
    "primary_color": "string",
    "show_agent_avatars": true,
    "storefront_id": "string",
    "tagline": "string",
    "tenant_id": "string",
    "updated_at": "2019-08-24T14:15:22Z",
    "welcome_message": "string"
  }
}
{
  "$schema": "/api/v1/schemas/ErrorModel.json",
  "detail": "Property foo is required but is missing.",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "https://example.com/error-log/abc123",
  "status": 400,
  "title": "Bad Request",
  "type": "https://example.com/errors/example"
}

Update storefront config

PUT
/storefront

Authorization

bearerClerk
AuthorizationBearer <token>

Clerk session JWT from an authenticated dashboard user. Format: Bearer eyJ....

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

curl -X PUT "https://loading/api/v1/storefront" \  -H "Content-Type: application/json" \  -d '{}'
{
  "$schema": "/api/v1/schemas/Storefront.json",
  "accent_color": "string",
  "access_mode": "string",
  "anon_msg_limit_per_session": 0,
  "anon_rate_limit_per_min": 0,
  "anon_session_ttl_minutes": 0,
  "background_color": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "custom_css": "string",
  "display_name": "string",
  "is_published": true,
  "layout": "string",
  "logo_url": "string",
  "primary_color": "string",
  "show_agent_avatars": true,
  "storefront_id": "string",
  "tagline": "string",
  "tenant_id": "string",
  "updated_at": "2019-08-24T14:15:22Z",
  "welcome_message": "string"
}
{
  "$schema": "/api/v1/schemas/ErrorModel.json",
  "detail": "Property foo is required but is missing.",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "https://example.com/error-log/abc123",
  "status": 400,
  "title": "Bad Request",
  "type": "https://example.com/errors/example"
}

List agents on the storefront

GET
/storefront/agents

Authorization

bearerClerk
AuthorizationBearer <token>

Clerk session JWT from an authenticated dashboard user. Format: Bearer eyJ....

In: header

Response Body

application/json

application/problem+json

curl -X GET "https://loading/api/v1/storefront/agents"
{
  "$schema": "/api/v1/schemas/StorefrontListAgentsOutputBody.json",
  "agents": [
    {
      "$schema": "/api/v1/schemas/StorefrontAgent.json",
      "agent_id": "string",
      "available_models": [
        "string"
      ],
      "available_providers": [
        "string"
      ],
      "avatar_url": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "description": "string",
      "display_name": "string",
      "instance_id": "string",
      "is_visible": true,
      "placeholder_text": "string",
      "slug": "string",
      "sort_order": 0,
      "storefront_id": "string",
      "updated_at": "2019-08-24T14:15:22Z",
      "welcome_message": "string"
    }
  ]
}
{
  "$schema": "/api/v1/schemas/ErrorModel.json",
  "detail": "Property foo is required but is missing.",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "https://example.com/error-log/abc123",
  "status": 400,
  "title": "Bad Request",
  "type": "https://example.com/errors/example"
}

Remove an agent from the storefront

DELETE
/storefront/agents/{agentId}

Authorization

bearerClerk
AuthorizationBearer <token>

Clerk session JWT from an authenticated dashboard user. Format: Bearer eyJ....

In: header

Path Parameters

agentId*string

Agent UUID or URL-encoded agent name

Response Body

application/json

application/problem+json

curl -X DELETE "https://loading/api/v1/storefront/agents/string"
null
{
  "$schema": "/api/v1/schemas/ErrorModel.json",
  "detail": "Property foo is required but is missing.",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "https://example.com/error-log/abc123",
  "status": 400,
  "title": "Bad Request",
  "type": "https://example.com/errors/example"
}

Add or update an agent on the storefront

PUT
/storefront/agents/{agentId}

Authorization

bearerClerk
AuthorizationBearer <token>

Clerk session JWT from an authenticated dashboard user. Format: Bearer eyJ....

In: header

Path Parameters

agentId*string

Agent UUID or URL-encoded agent name

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

curl -X PUT "https://loading/api/v1/storefront/agents/string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "$schema": "/api/v1/schemas/StorefrontAgent.json",
  "agent_id": "string",
  "available_models": [
    "string"
  ],
  "available_providers": [
    "string"
  ],
  "avatar_url": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "description": "string",
  "display_name": "string",
  "instance_id": "string",
  "is_visible": true,
  "placeholder_text": "string",
  "slug": "string",
  "sort_order": 0,
  "storefront_id": "string",
  "updated_at": "2019-08-24T14:15:22Z",
  "welcome_message": "string"
}
{
  "$schema": "/api/v1/schemas/ErrorModel.json",
  "detail": "Property foo is required but is missing.",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "https://example.com/error-log/abc123",
  "status": 400,
  "title": "Bad Request",
  "type": "https://example.com/errors/example"
}

Publish the storefront

POST
/storefront/publish

Authorization

bearerClerk
AuthorizationBearer <token>

Clerk session JWT from an authenticated dashboard user. Format: Bearer eyJ....

In: header

Response Body

application/json

application/problem+json

curl -X POST "https://loading/api/v1/storefront/publish"
null
{
  "$schema": "/api/v1/schemas/ErrorModel.json",
  "detail": "Property foo is required but is missing.",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "https://example.com/error-log/abc123",
  "status": 400,
  "title": "Bad Request",
  "type": "https://example.com/errors/example"
}

Unpublish the storefront

POST
/storefront/unpublish

Authorization

bearerClerk
AuthorizationBearer <token>

Clerk session JWT from an authenticated dashboard user. Format: Bearer eyJ....

In: header

Response Body

application/json

application/problem+json

curl -X POST "https://loading/api/v1/storefront/unpublish"
null
{
  "$schema": "/api/v1/schemas/ErrorModel.json",
  "detail": "Property foo is required but is missing.",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "https://example.com/error-log/abc123",
  "status": 400,
  "title": "Bad Request",
  "type": "https://example.com/errors/example"
}