Get Setup State

Check what is left to configure in your workspace, with a diagnostic checklist.

Get setup state

GET/api/v2/setup-state

Returns the authenticated workspace's overall setup progress, plus a diagnostic checklist covering the persona, target accounts, agents, and content — each with a status and, when it applies, a recommended next step.

The four top-level fields (persona_set, list_uploaded, ingestion_complete, has_contents) are the overall completion flags: true once that step is done at all, regardless of quality. The checklist object is the diagnostic layer underneath: an entry can still report warning even when its matching top-level flag is true, when the step was completed but is worth improving (for example, a persona with no job title set).

Checklist statuses

StatusMeaning
okNothing to do.
warningWorking, but could be improved — this never blocks anything.
blockedA hard prerequisite is missing, or the feature is not enabled for your workspace.

Each checklist entry may also include recommended_next_tool, naming the next action to take (for example sillage_v2_upsert_persona, sillage_v2_add_top_accounts, or sillage_v2_create_agent).

Example request

curl "https://api.getsillage.com/api/v2/setup-state" \
  -H "Authorization: Bearer $SILLAGE_API_KEY"

Example response

A workspace midway through setup — persona set but missing a job title, target accounts still processing, one agent created, content generation not enabled:

{
  "persona_set": true,
  "list_uploaded": true,
  "ingestion_complete": false,
  "has_contents": false,
  "checklist": {
    "persona": {
      "status": "warning",
      "message": "No job_title set. Content generation and account mapping will target every job title until this is set.",
      "recommended_next_tool": "sillage_v2_upsert_persona",
      "job_title_set": false,
      "location_set": true
    },
    "accounts": {
      "status": "warning",
      "message": "Your target accounts are still being processed. Check back once this completes.",
      "count": 12,
      "ingestion_state": "processing",
      "has_unresolved_accounts": false
    },
    "agents": {
      "status": "warning",
      "message": "You have 1 agent. Consider adding a competitor or customer agent to widen coverage.",
      "recommended_next_tool": "sillage_v2_create_agent",
      "count": 1,
      "missing_priority_types": ["competitor", "customer", "keyword_detection"]
    },
    "contents": {
      "status": "blocked",
      "message": "Content generation is not enabled for your workspace. Contact Sillage support to enable it.",
      "has_contents": false
    }
  }
}

Response fields

FieldTypeDescription
persona_setbooleanWhether a persona has been configured, regardless of quality.
list_uploadedbooleanWhether at least one target account has been added.
ingestion_completebooleanWhether target account processing has finished.
has_contentsbooleanWhether any content has been generated.
checklist.persona.statusstringok, warning, or blocked — see Checklist statuses.
checklist.persona.messagestringPlain-language explanation of the status.
checklist.persona.recommended_next_toolstringOptional. Next tool to call to improve this area.
checklist.persona.job_title_setbooleanWhether the persona has at least one job title.
checklist.persona.location_setbooleanWhether the persona has at least one location.
checklist.accounts.statusstringok, warning, or blocked.
checklist.accounts.messagestringPlain-language explanation of the status.
checklist.accounts.recommended_next_toolstringOptional. Next tool to call to improve this area.
checklist.accounts.countintegerNumber of target accounts currently in the workspace.
checklist.accounts.ingestion_statestringqueued, processing, completed, or failed.
checklist.accounts.has_unresolved_accountsbooleanWhether some submitted accounts could not be matched to a company.
checklist.agents.statusstringok, warning, or blocked.
checklist.agents.messagestringPlain-language explanation of the status.
checklist.agents.recommended_next_toolstringOptional. Next tool to call to improve this area.
checklist.agents.countintegerNumber of agents currently configured.
checklist.agents.missing_priority_typesstring[]Recommended agent types (job_update, competitor, customer, keyword_detection, …) not yet created.
checklist.contents.statusstringok, warning, or blocked.
checklist.contents.messagestringPlain-language explanation of the status.
checklist.contents.recommended_next_toolstringOptional. Next tool to call to improve this area.
checklist.contents.has_contentsbooleanWhether any content has been generated.

Errors

StatusDescription
401The API key is missing or invalid.

On this page