Logo
Search
Docs

Me features

GET https://app.sulus.ai/api/me/features

Get the caller's feature-permission map

Authentication

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

Authorization: Bearer <YOUR_API_KEY>

Errors

StatusMeaningBody
401 Missing or invalid bearer token

Notes

  • Envelope is {"data":{"features":{...}}} only — no success key.
  • Keys come from FeatureRegistry for the caller's audience (role user or reseller_admin). Roles with no audience (e.g. super admin) receive features: {}.
  • Missing user_feature_permissions row means enabled (true). Explicit is_enabled=false means false.
  • Route uses auth:sanctum only (no reseller middleware on this path).
  • Live wire keys such as ghl_connect are the registry feature keys returned by the API.
curl --request GET \
  --url https://app.sulus.ai/api/me/features \
  --header 'Authorization: Bearer <YOUR_API_KEY>'
import requests

url = "https://app.sulus.ai/api/me/features"
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/me/features"
	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
{
    "data": {
        "features": {
            "assistants": true,
            "squads": true,
            "tools": true,
            "phone_numbers": true,
            "knowledge_docs": true,
            "ai_chat": true,
            "call_logs": true,
            "squad_call_logs": true,
            "integrations": true,
            "ghl_connect": true,
            "workspaces": true
        }
    }
}