Introduction
This stage sets up the rooftop itself. It has five checklist tasks: RoofTop Setup, Department Details & Holidays, User Setup, Employee Directory and CNAM Registration. Each task reads what is already stored, then saves. Some saves are followed by Mark a checklist task done. Run the tasks in this order: RoofTop Setup, Department Details & Holidays, User Setup, Employee Directory, CNAM Registration. The checklist shows Employee Directory as locked until Department Details & Holidays is done. CNAM Registration reads the rooftop address and website saved by RoofTop Setup.
Every endpoint uses the base URL https://api.spyne.ai and a bearer token from a signed-in console user session: Authorization: Bearer YOUR_TOKEN.
Checklist tasks
| Checklist task | Mark done as | Endpoints |
|---|---|---|
| Rooftop details | RoofTop Setup | Get rooftop details · Get vehicle types and department addresses · Save rooftop details |
| Department details and holidays | Department Details & Holidays | Get departments, hours and holidays · Save departments, hours and holidays |
| Console users | User Setup | List console users · Invite console users |
| Employee directory | Employee Directory | List the employee directory · Add directory contacts · Upload the employee directory |
| Brand registration | CNAM Registration | Get the brand registration · Submit or save the brand registration |
Pass the "Mark done as" value as taskName to Mark a checklist task done.
Endpoints
| Endpoint | Method + path | What it does |
|---|---|---|
| Get rooftop details | GET /user-management/v1/team/get-team-details?team_id={teamId} | Returns the rooftop's stored profile and its admin contact. |
| Get vehicle types and department addresses | GET /central-config/v1/integration?enterpriseId={enterpriseId}&teamId={teamId}&domain=rooftop&entity=INFO | Returns the rooftop's stored rooftop configuration, including new / pre-owned vehicle types. |
| Save rooftop details | POST /console/v1/product-onboarding/update-rooftop-data | Saves the rooftop profile, the admin's phone and the rooftop's vehicle types in one call. |
| Get departments, hours and holidays | GET /central-config/v1/vini-config/departments?enterpriseId={enterpriseId}&teamId={teamId} | Returns the rooftop's departments (contact, hours, address), holidays and timezone. |
| Save departments, hours and holidays | POST /console/v1/product-onboarding/vini/departments | Creates or updates the rooftop's departments, hours and holidays, and pushes them to the live agent. |
| List console users | GET /user-management/v1/team/get-team-users-details?teamId={teamId}&enterpriseId={enterpriseId} | Returns the rooftop's console users plus anyone with a pending invite. |
| Invite console users | POST /console/v1/user/send-invite-links | Queues console invites for up to 100 email addresses on a rooftop. |
| List the employee directory | GET /user-management/v1/directory/enterprise/{enterpriseId}/team/{teamId}/get-directory?page=1&limit=10 | Returns the rooftop's directory contacts with their department names. Supports search, active filter and paging. |
| Add directory contacts | POST /console/v1/product-onboarding/vini/directory/manual | Adds one or more contacts to the rooftop's employee directory from a JSON list. |
| Upload the employee directory | POST /console/v1/product-onboarding/vini/directory/file | Adds directory contacts from a one-sheet .xlsx file. |
| Get the brand registration | GET /user-management/v1/twilio/customer-profiles?enterprise_id={enterpriseId}&team_id={teamId} | Returns the rooftop's brand registration, if any, and the rooftop address on file. |
| Submit or save the brand registration | POST /console/v1/product-onboarding/vini/business-registration | Saves the rooftop's brand registration as a draft, or submits it to the phone carrier. |
How each task gets marked done
| Checklist task | Save endpoint | Does the save mark the task? | Does the UI then call Mark a checklist task done? |
|---|---|---|---|
| RoofTop Setup | Save rooftop details | No. It only updates the task when you send productLineId and taskName, and the UI sends neither. | Yes. After a 2xx it sends {teamId, taskName: "RoofTop Setup", isCompleted: true}. It does not wait for the result. |
| Department Details & Holidays | Save departments, hours and holidays | No | No completion call was found in the code. See the task notes below. |
| User Setup | Invite console users | No | Yes. After a 2xx it sends {teamId, taskName: "User Setup", isCompleted: true}. It does not wait for the result. |
| Employee Directory | Add directory contacts | No | Yes. After a 2xx it sends {teamId, taskName: "Employee Directory", isCompleted: true}. It does not wait for the result. |
| Employee Directory | Upload the employee directory | No | No. The task is not marked after an upload. |
| CNAM Registration | Submit or save the brand registration | No. Approval can mark it from the server (see Submit or save the brand registration). | Only on the rooftop's first save. It sends {teamId, taskName: "CNAM Registration", isCompleted: false}, which sets the task to in progress, not done. |
Task notes
RoofTop Setup
Get rooftop details and Get vehicle types and department addresses load the form. Save rooftop details saves it. After a successful save the UI calls Mark a checklist task done with taskName: "RoofTop Setup" and isCompleted: true. That completes the task for every agent segment the rooftop has.
Department Details & Holidays
Get departments, hours and holidays loads the department, hours and holiday settings. Save departments, hours and holidays saves them. In the console, this screen is a separately hosted settings page embedded in the console. No call that marks "Department Details & Holidays" done was found in the code available for this reference, and the save itself does not touch the checklist. If the embedded page does not mark it, the task stays open. Employee Directory then stays locked in the checklist. To be confirmed: whether the embedded settings page calls Mark a checklist task done itself. A rooftop can also start with this task already done, when another product line of the same rooftop completed it.
User Setup
List console users lists the rooftop's console users and pending invites. Invite console users invites users. After a successful invite the UI calls Mark a checklist task done with taskName: "User Setup" and isCompleted: true. The task is marked done when the invite is queued, not when it is accepted. Editing, deactivating or removing users does not change the task.
Employee Directory
List the employee directory lists the directory. Add directory contacts and Upload the employee directory add contacts. The directory is the list of rooftop staff the agent can transfer calls to. After a successful manual add (Add directory contacts), the UI calls Mark a checklist task done with taskName: "Employee Directory" and isCompleted: true. After an Excel upload (Upload the employee directory), the UI makes no completion call, so a rooftop that only uploads a file keeps the task open. The checklist shows this task as locked until Department Details & Holidays is done. The directory screen itself does not enforce that.
CNAM Registration
Shown in the UI as "Brand registration". This task registers the rooftop's business with the phone carrier. Outbound calls can then show the rooftop's name (caller ID) and pass carrier checks. Get the brand registration reads the current registration. Submit or save the brand registration saves a draft or submits it.
After the rooftop's first successful save (draft or submit), the UI calls Mark a checklist task done with taskName: "CNAM Registration" and isCompleted: false. That sets the task to in progress, and moves it back from done if it was done. Later saves send nothing. The UI never sends isCompleted: true for this task.
The server can complete the task in two ways:
- When the carrier approves, or right after submission for one carrier, the registration service calls the completion endpoint with
taskName: "Brand Registration". Task names must match exactly, ignoring case. To be confirmed: whether the rooftop's checklist row is named "Brand Registration" or "CNAM Registration". If it is "CNAM Registration", this call does not complete it. - An older approval path sends
taskName: "CNAM Registration". It only runs for profiles created through that older flow.
Order to call them
- Rooftop details: Get rooftop details and Get vehicle types and department addresses, then Save rooftop details. Then mark
RoofTop Setupdone. - Department details and holidays: Get departments, hours and holidays, then Save departments, hours and holidays.
- Console users: List console users, then Invite console users. Then mark
User Setupdone. - Employee directory: List the employee directory, then Add directory contacts or Upload the employee directory. Then mark
Employee Directorydone. The checklist keeps this task locked until Department Details & Holidays is done. - Brand registration: Get the brand registration, then Submit or save the brand registration. It reads the address and website saved in step 1.
Updated about 3 hours ago
