Logo
Search
Docs

List assistants

GET https://app.sulus.ai/api/assistants

List assistants you can access

Authentication

Send a bearer token created on your dashboard's Developer page:

Authorization: Bearer <YOUR_API_KEY>

Query parameters

search string Optional Nullable

Filter by name.

Validation: string (name contains-filter)
Stored in assistants.name
phone_search string Optional Nullable

Filter by phone number.

Validation: string (phone contains-filter)
Stored in assistants.phone_number
sort_by string Optional Default: name

Sort field.

Validation: in: name, created_at, user_id (fallback name)
sort_order string Optional Default: asc
Validation: asc|desc
per_page integer Optional Default: 9

Items per page.

Validation: integer
lite boolean Optional Default: false

Returns a lightweight projection (id, name, vapi_assistant_id, type, model, voice, transcriber, first_message, voicemail_message, end_call_message) for pickers.

Validation: boolean

Errors

StatusMeaningBody
401 Missing or invalid bearer token
403 Feature assistants not enabled for the account

Notes

  • `?lite=1` returns a projection of id, name, vapi_assistant_id, type, model, voice, transcriber, first_message, voicemail_message, end_call_message per row (used by the squad builder). The appended `assistant_id` alias is also present on each row. Provider-selection sub-keys inside voice/model/transcriber are platform-managed.
curl --request GET \
  --url https://app.sulus.ai/api/assistants \
  --header 'Authorization: Bearer <YOUR_API_KEY>'
import requests

url = "https://app.sulus.ai/api/assistants"
headers = {"Authorization": "Bearer <YOUR_API_KEY>"}

response = requests.get(url, headers=headers)
print(response.json())
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	url := "https://app.sulus.ai/api/assistants"
	req, _ := http.NewRequest("GET", url, nil)
	req.Header.Add("Authorization", "Bearer <YOUR_API_KEY>")
	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
Response 200
{
    "success": true,
    "data": [
        {
            "id": 42,
            "name": "Reception",
            "user_id": 17,
            "created_by": 5,
            "reseller_id": "3",
            "workspace_id": 9,
            "template_id": 5,
            "personality_id": 12,
            "base_config_id": null,
            "type": "production",
            "phone_number": "+14155550142",
            "phone_number_id": "b2c3d4e5-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
            "webhook_url": "https://automations.sulus.ai/webhook/lhg-live-demo-agents",
            "metadata": {
                "company_name": "Acme Dental",
                "industry": "Dental",
                "location": "Austin, TX",
                "services_products": "General and cosmetic dentistry, teeth whitening, emergency dental care",
                "country": "United States",
                "assistant_phone_number": "+14155550142",
                "webhook_url": "https://automations.sulus.ai/webhook/lhg-live-demo-agents",
                "personality": "Sarah",
                "personality_id": 12,
                "user_id": 17,
                "user": "Jordan Lee",
                "type": "production",
                "available24_7": false,
                "standard_hours": "Mon-Fri 9:00 AM - 5:00 PM",
                "business_hours": {
                    "monday": "9:00 AM - 5:00 PM",
                    "tuesday": "9:00 AM - 5:00 PM",
                    "wednesday": "9:00 AM - 5:00 PM",
                    "thursday": "9:00 AM - 5:00 PM",
                    "friday": "9:00 AM - 5:00 PM",
                    "saturday": "Closed",
                    "sunday": "Closed"
                },
                "always_say": [
                    "We look forward to seeing you!"
                ],
                "never_say": [
                    "I don't know, let me transfer you"
                ],
                "pronunciation": [
                    {
                        "word": "Sulus",
                        "soundsLike": "SOO-luss"
                    }
                ],
                "spam_handling": "end_call",
                "variable_values": {
                    "companyName": "Acme Dental",
                    "industry": "Dental",
                    "personalityName": "Sarah"
                },
                "sms_notifications": [
                    "+14155550199"
                ],
                "email_notifications": [
                    "[email protected]"
                ],
                "created_at": "2026-01-15T10:22:03.000000Z",
                "updated_at": "2026-07-28T14:05:41.000000Z"
            },
            "widget_embed_config": null,
            "transcriber": {
                "language": "en",
                "confidenceThreshold": 0.4,
                "formatTurns": true
            },
            "model": {
                "messages": [
                    {
                        "role": "system",
                        "content": "You are Sarah, the AI voice receptionist for Acme Dental. Greet callers warmly, answer questions about services and hours, and offer to book an appointment or transfer to the front desk as needed."
                    }
                ],
                "maxTokens": 300,
                "toolIds": [
                    "c3d4e5f6-7a8b-49c0-8d1e-2f3a4b5c6d7e"
                ],
                "functionCall": "auto"
            },
            "voice": {
                "voiceId": "sarah-professional-01",
                "speed": 1
            },
            "first_message": "Thank you for calling Acme Dental, this is Sarah. How can I help you today?",
            "first_message_raw": "Thank you for calling {{companyName}}, this is {{personalityName}}. How can I help you today?",
            "first_message_interruptions_enabled": true,
            "first_message_mode": "assistant-speaks-first",
            "voicemail_detection": {
                "enabled": true,
                "beepDetection": true,
                "silenceDuration": 10,
                "greetingDuration": 15
            },
            "client_messages": [
                "transcript",
                "status-update"
            ],
            "server_messages": [
                "end-of-call-report",
                "status-update"
            ],
            "max_duration_seconds": 1800,
            "background_sound": "office",
            "background_denoising_enabled": true,
            "model_output_in_messages_enabled": false,
            "transport_configurations": [],
            "observability_plan": null,
            "credential_ids": [],
            "credentials": [],
            "hooks": [],
            "voicemail_message": "Please leave a message after the tone and we'll call you back.",
            "end_call_message": "Thank you for calling Acme Dental, have a great day!",
            "end_call_message_raw": "Thank you for calling {{companyName}}, have a great day!",
            "end_call_phrases": [
                "goodbye",
                "that's all, thank you"
            ],
            "compliance_plan": {
                "recordingEnabled": true,
                "transcriptionEnabled": true,
                "dataRetentionDays": 365
            },
            "background_speech_denoising_plan": {
                "smartDenoising": true,
                "fourierDenoising": false
            },
            "analysis_plan": null,
            "artifact_plan": {
                "recording": true,
                "transcript": true,
                "summary": true,
                "analysis": false
            },
            "start_speaking_plan": {
                "initialDelayMs": 400,
                "backgroundSoundVolume": 0.2
            },
            "stop_speaking_plan": {
                "initialDelayMs": 0,
                "backgroundSoundVolume": 0.1
            },
            "monitor_plan": {
                "listenEnabled": false,
                "controlEnabled": false,
                "websocketUrl": null
            },
            "keypad_input_plan": {
                "enabled": false,
                "maxDigits": 4,
                "terminateOnHash": true
            },
            "created_at": "2026-01-15T10:22:03.000000Z",
            "updated_at": "2026-07-28T14:05:41.000000Z",
            "vapi_assistant_id": "9f8e7d6c-5b4a-4c3d-8e2f-1a2b3c4d5e6f",
            "assistant_id": "9f8e7d6c-5b4a-4c3d-8e2f-1a2b3c4d5e6f"
        }
    ],
    "pagination": {
        "current_page": 1,
        "last_page": 1,
        "per_page": 9,
        "total": 1,
        "from": 1,
        "to": 1
    }
}