API keys — programmatic access

Updated

Short answer

API keys give programmatic access to your VideoTestimonials testimonials and spaces through the REST API under /api/v1. Create one in Dashboard → Settings → API Keys: name it, choose any of the Read, Write and Delete scopes, and copy the sk_live_ key, which is shown only once. Send it in the Authorization header as a Bearer token. Requests are limited to 1,000 per hour per account.

Need to push testimonials into VideoTestimonials from an external system? API keys let any tool — your backend, a CRM webhook, an automation tool, a cron job — read and write data in your workspace programmatically.

Create a key

  1. Go to Dashboard → Settings → API Keys.
  2. Click + Create New Key.
  3. Enter a name (something descriptive like "HubSpot webhook" or "Internal cron").
  4. Pick the scopes you want: Read, Write, Delete (all three are ticked by default). Most integrations only need Read + Write.
  5. Click Create Key.

The full key is displayed once, right after creation. Copy it immediately — we store it hashed, so if you close the modal without copying, you'll need to generate a new one.

Using the key

Pass the key as a bearer token in the Authorization header:

Authorization: Bearer sk_live_<your-key>

All our public endpoints under /api/v1/ accept this header. The v1 API covers spaces and testimonials (including batch updates and deletes); see Does VideoTestimonials have an API? for the endpoint list, or the API reference.

Key scopes

  • Read — list and fetch spaces and testimonials.
  • Write — create testimonials and spaces, update a testimonial's status, text, rating, company, or role, and batch-update testimonial status.
  • Delete — remove testimonials and spaces (dangerous — only grant when required).

Rotating and revoking keys

  • On the API Keys page, each key shows a Last used date once it has been used. If a key hasn't been used in months, it's safe to delete.
  • To rotate a key, create a new one, update your integration to use the new key, then delete the old one.
  • If a key leaks, click Disable to block it right away (you can re-enable it later), or delete it. A deleted key can't be restored — you'll need to issue a fresh one.

Audit log

Every authenticated request to the /api/v1/ endpoints is logged with the endpoint, method, status code, and response time.

Frequently asked questions

What can each API key scope do?

Read lets a key list and fetch spaces and testimonials. Write lets it create testimonials and spaces, update a testimonial's status, text, rating, company or role, and change the status of up to 100 testimonials in one batch call. Delete lets it remove testimonials and spaces. A request without the needed scope is rejected with a 403 error.

What if I lose my API key?

VideoTestimonials stores only a hash of each key, so the full key cannot be shown again after the creation dialog closes. Create a new key, switch your integration to it, then delete the old one. The key list shows only the first 12 characters of each key.

Can I turn off an API key without deleting it?

Yes. Click Disable on the key in Settings → API Keys. Requests with a disabled key are rejected with an API_KEY_DISABLED error until you click Enable again. Deleting a key is permanent, and any service still using it stops working.

Want to try this yourself?

The free plan includes 10 video testimonials, 20 text, a Wall of Love embed and CSV import. No credit card, and nothing expires.

Start free
Was this article helpful?