Get readiness answers

Read the go-live readiness answers saved for one agent type at one rooftop. Use them to pre-fill the readiness questions before you save changes.

GEThttps://api.spyne.ai/central-config/v1/vini-config/go-live-readiness
AuthNone (route has no auth check)Rate limitNot documentedProcessingSynchronous, one database read

The answers are a stored questionnaire only. No other part of the platform reads them, and they do not gate go-live.

Auth: none checked on this route · Rate limit: not documented · Processing: synchronous, one database read

Before you call it

  • You need the dealer group (enterpriseId) and the rooftop (teamId).
  • entity must be one of sales_inbound, sales_outbound, service_inbound, service_outbound, receptionist, acquisition_outbound or reputation_outbound. Any other value, for example acquisition_inbound or receptionist_inbound, returns 400.
  • The response is keyed by readiness step, for example afterHours. Each step holds the questions and answers last saved for it.

Query parameters

Requiredalways send
Request checklist
  1. Identify the rooftop: send enterpriseId and teamId as query parameters.
  2. Pick the agent type: send entity.
  3. Send it: no body.
  4. Read the map: treat an empty onboardingGoLiveReadiness as nothing saved yet.
ParameterTypeRequiredDescription
enterpriseIdstringRequiredDealer group ID. Must not be empty.
teamIdstringRequiredRooftop ID. Must not be empty.
entitystringRequiredAgent type. One of the seven values listed above.

Sample request

curl -G "https://api.spyne.ai/central-config/v1/vini-config/go-live-readiness" \
  --data-urlencode "enterpriseId=<enterpriseId>" \
  --data-urlencode "teamId=<teamId>" \
  --data-urlencode "entity=sales_inbound"
import requests

res = requests.get(
    "https://api.spyne.ai/central-config/v1/vini-config/go-live-readiness",
    params={"enterpriseId": "<enterpriseId>", "teamId": "<teamId>", "entity": "sales_inbound"},
)
print(res.status_code, res.json())
const params = new URLSearchParams({
  enterpriseId: '<enterpriseId>',
  teamId: '<teamId>',
  entity: 'sales_inbound',
});
const res = await fetch(
  `https://api.spyne.ai/central-config/v1/vini-config/go-live-readiness?${params}`
);
console.log(res.status, await res.json());

Sample response

{
  "success": true,
  "onboardingGoLiveReadiness": {
    "afterHours": [
      { "question": "Calls during after hours", "answer": true, "comment": "" },
      { "question": "Speed to Lead on after hour leads", "answer": false, "comment": "BDC covers this" }
    ],
    "officeHoursOverflow": [
      { "question": "Overflow Calls", "answer": true, "comment": "" }
    ]
  }
}
{
  "success": true,
  "message": "Go-Live readiness not found",
  "onboardingGoLiveReadiness": {}
}
{
  "success": false,
  "message": "Validation error",
  "errors": [
    {
      "received": "receptionist_inbound",
      "code": "invalid_enum_value",
      "options": ["sales_inbound", "sales_outbound", "service_inbound", "service_outbound", "receptionist", "acquisition_outbound", "reputation_outbound"],
      "path": ["entity"],
      "message": "Invalid enum value. Expected 'sales_inbound' | 'sales_outbound' | 'service_inbound' | 'service_outbound' | 'receptionist' | 'acquisition_outbound' | 'reputation_outbound', received 'receptionist_inbound'"
    }
  ]
}
{
  "success": false,
  "message": "Failed to get Go-Live readiness",
  "error": "<error message>"
}

Response parameters (200)

ParameterTypeDescription
successbooleantrue on 200.
messagestringOnly present when nothing has been saved: "Go-Live readiness not found".
onboardingGoLiveReadinessobjectMap of step name to an array of saved entries. Empty when nothing is saved. A step can be null if a caller cleared it.
<step>[].questionstringThe question label text as saved.
<step>[].answeranyUsually a boolean for toggle steps. The viniCallTranscriptsRecordings step stores an array of file URLs.
<step>[].commentstringReason given when a toggle is off. Present only if the writer sent it.

Errors

StatusCodeWhen it happens
400Validation errorenterpriseId or teamId is missing or empty, or entity is not one of the seven allowed values. The errors array lists each problem.
500Failed to get Go-Live readinessUnexpected error while reading the config.

The call returns 200 with an empty onboardingGoLiveReadiness both when the rooftop has no config for this agent type and when the config exists but has no readiness answers.

What happens next

Pre-fill the readiness questions from the map, then save changes with Save readiness answers. The answers do not affect agent behavior or go-live. To switch the agent live, call Put an agent live.


Did this page help you?