API
Create share links, manage CTAs, and read analytics and messages from your own systems.
Create share links, manage a video's call-to-action, and read analytics or viewer messages — all from your own server, no dashboard clicks required.
Get an API key
1
Go to Settings → API Keys.
2
Click Generate new key and give it a name (e.g. "CRM integration").
3
Copy the plaintext key shown — it starts with
vl_live_ and is shown exactly once.4
Send it as an
Authorization: Bearer <key> header on every request below.💡 A key belongs to you personally, or to a workspace if you generate it while in a workspace context. A workspace-scoped key can only reach that workspace's videos.
Endpoint reference
| Setting | What it does |
|---|---|
| POST /api/v1/links | Create a one-time-view share link for a video. |
| DELETE /api/v1/links/{id} | Deactivate a share link created via the API. |
| GET /api/v1/videos/{videoId}/cta | Read a video's current primary CTA and its secondary/social links. |
| PUT /api/v1/videos/{videoId}/cta | Update the primary CTA — button text, link, colour, or a Cal.com/Calendly calendar embed. |
| POST /api/v1/videos/{videoId}/cta/links | Add a secondary or social link below the video. |
| PATCH /api/v1/videos/{videoId}/cta/links/{linkId} | Update one secondary/social link. |
| DELETE /api/v1/videos/{videoId}/cta/links/{linkId} | Remove one secondary/social link. |
| GET /api/v1/videos/{videoId}/shares/{shareId}/analytics | Views, plays, completions, and CTA clicks for one share link. |
| GET /api/v1/videos/{videoId}/shares/{shareId}/messages | Viewer messages left on one share link, paginated. |
{videoId} is the video's slug (visible in its share URL), not a numeric ID. {shareId} and {linkId} are the numeric IDs vitelnk assigns to that share link or CTA link.
Update a CTA to a Cal.com booking calendar
JSON
PUT /api/v1/videos/your-video-slug/cta
{
"embedCalendar": true,
"calendarProvider": "calcom",
"calendarBookingUrl": "your-team/discovery-call"
}A Cal.com booking link is the bare username/event-slug — no https:// or cal.com/ prefix. A Calendly link is the full URL, e.g. https://calendly.com/you/30min. Either format mistake is rejected with a 422 and an explanation of the expected shape, rather than silently saving a broken embed.
Errors
| Setting | What it does |
|---|---|
| 401 | Missing, invalid, revoked, or expired API key. |
| 403 | Your plan no longer includes API access, or a Cal.com/Calendly CTA update needs a paid plan. |
| 404 | The video or share link doesn't exist, or your key can't access it — vitelnk never distinguishes the two, so a key can't be used to probe for videos it doesn't own. |
| 422 | A required field is missing, or a Cal.com/Calendly booking link is in the wrong format for that provider. |
| 429 | Rate limit exceeded — slow down and retry after a moment. |
