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
SettingWhat it does
POST /api/v1/linksCreate 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}/ctaRead a video's current primary CTA and its secondary/social links.
PUT /api/v1/videos/{videoId}/ctaUpdate the primary CTA — button text, link, colour, or a Cal.com/Calendly calendar embed.
POST /api/v1/videos/{videoId}/cta/linksAdd 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}/analyticsViews, plays, completions, and CTA clicks for one share link.
GET /api/v1/videos/{videoId}/shares/{shareId}/messagesViewer 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
SettingWhat it does
401Missing, invalid, revoked, or expired API key.
403Your plan no longer includes API access, or a Cal.com/Calendly CTA update needs a paid plan.
404The 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.
422A required field is missing, or a Cal.com/Calendly booking link is in the wrong format for that provider.
429Rate limit exceeded — slow down and retry after a moment.

Frequently asked questions