Logo
Search
Docs

Squad call logs search

GET https://app.sulus.ai/api/squad-call-logs/search

Full-text search squad call logs (call id, summary, transcript)

Authentication

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

Authorization: Bearer <YOUR_API_KEY>

Query parameters

search string Required

Search term. Matched with LIKE against call_id, summary, and transcript.

Validation: required; minimum length 3 (enforced in controller, not FormRequest)
squad_id integer Optional Nullable

Filter by local squads.id. Accepted as a query filter only — the numeric squad_id is stripped from every response row.

Stored in squad_call_logs.squad_id
assistant_id integer Optional Nullable

Filter by the member assistant that was active at end of call (local assistants.id).

Stored in squad_call_logs.assistant_id
status string Optional Nullable

When present and not the literal string "all", filters status.

Stored in squad_call_logs.status
direction string Optional Nullable

When present and not the literal string "all", filters direction.

Stored in squad_call_logs.direction
start_date string Optional Nullable

Inclusive lower bound on start_time (date portion).

Stored in squad_call_logs.start_time
end_date string Optional Nullable

Inclusive upper bound on start_time (date portion).

Stored in squad_call_logs.start_time
per_page integer Optional Nullable Default: 15

Page size. Not clamped in this controller.

page integer Optional Nullable Default: 1

Laravel paginator page number.

Errors

StatusMeaningBody
401 Missing or invalid bearer token
403 Feature squad_call_logs not enabled for the account {"message":"This feature is not enabled for your account. Please contact your administrator.","feature":"squad_call_logs"}
400 Missing search or fewer than 3 characters {"success":false,"message":"Search term must be at least 3 characters"}

Notes

  • Default per_page is 15. Search select omits created_at (unlike list/index).
  • Relevance ORDER BY CASE on call_id, then summary, then transcript; then start_time descending.
  • status/direction value "all" is ignored on every squad-call-logs list endpoint.
curl --request GET \
  --url https://app.sulus.ai/api/squad-call-logs/search \
  --header 'Authorization: Bearer <YOUR_API_KEY>'
import requests

url = "https://app.sulus.ai/api/squad-call-logs/search"
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/squad-call-logs/search"
	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": 902,
            "call_id": "call_01hsquad9abcdeFGHIjklmnopq",
            "assistant_id": 57,
            "reseller_id": "9f3c2a10-5b6d-4e8f-9a1b-2c3d4e5f6789",
            "phone_number": "+14155550100",
            "caller_number": "+14155550199",
            "duration": 210,
            "status": "completed",
            "direction": "inbound",
            "start_time": "2026-07-30T15:10:00.000000Z",
            "end_time": "2026-07-30T15:13:30.000000Z",
            "summary": "Caller transferred from intake to billing specialist; confirmed invoice date.",
            "call_record_file_name": "rec_01hsquad9abcdeFGHIjklmnopq.mp3",
            "squad_name": "Frontline Team",
            "squad_external_id": "sq_01habcdeFGHIjklmnopqrs",
            "assistant_name": "Billing Specialist",
            "assistant_phone": "+14155550100",
            "has_recording": true,
            "public_audio_url": "https://app.example.com/play/rec_01hsquad9abcdeFGHIjklmnopq.mp3",
            "public_audio_player_url": "https://app.example.com/p/rec_01hsquad9abcdeFGHIjklmnopq.mp3",
            "reseller": {
                "id": "9f3c2a10-5b6d-4e8f-9a1b-2c3d4e5f6789",
                "domain": "app.example.com"
            }
        }
    ],
    "meta": {
        "current_page": 1,
        "last_page": 1,
        "per_page": 15,
        "total": 1,
        "from": 1,
        "to": 1
    }
}