BUILD WITH CONFIDENCE

KickLingo developer hub

Connect learning records to a verified creator account with a scoped, server-side API. Clear boundaries. Documented responses. No payment credentials in your integration.

Authenticate as the account that owns the data

  1. Sign in to KickLingo and activate verified creator access.
  2. Open Settings, then Developer access, and generate a key with learning:write scope.
  3. Copy the key once into your server-side secret manager. Never put it in browser code or a shared screenshot.
  4. Send it as a Bearer token to the learning-import endpoint. Revoke unused keys; keys expire after one year.

The key only authorizes imports into its owner's account. It does not authorize another learner's account, grant lesson access, purchase a Kick subscription or move money.

Import learning records safely

Send one to 500 records in a request. Choose opaque record identifiers rather than names or email addresses. Reuse the same idempotency key when retrying the same batch.

POST https://api.kicklingo.com/api/v1/imports
Authorization: Bearer YOUR_SERVER_SIDE_KEY
Content-Type: application/json

{
  "kind": "learning",
  "idempotencyKey": "provider:batch-2026-09-05",
  "records": [
    { "externalId": "22d5d261-7b8a-4cde-8daa-aa5d37823b70", "completed": true, "score": 92 }
  ]
}

Only documented fields are accepted. Financial imports, payment details, contact details and arbitrary metadata are rejected. An accepted import records a batch; it does not certify mastery or create rewards.

Know what the integration can do

Public discovery

Read public creator profiles, service health and supported language capabilities without an account. Private account and full lesson endpoints remain protected.

View live capabilities

Kick purchases stay on Kick

Kick's documented public API does not provide subscription purchasing or gifting on a learner's behalf. KickLingo directs learners to Kick, and uses verified subscription events for access checks.

Read Kick's documented scopes

Stripe handles payment details

Card numbers, bank details and payout verification documents belong in Stripe-hosted flows, not this API. KickLingo retains essential access and transaction references; those are still data associated with an account.

Read our privacy information

Handle responses and retries

202
New batch accepted.
200
The batch was already received; no duplicate was added.
400
Check the schema, allowed fields, record count and value limits.
401 / 403
Check key validity, expiry, revocation and scope. Do not retry without correcting authorization.
429
Respect the rate-limit response and retry later with the same idempotency key.
500
Retry with a delay and the same idempotency key. Do not create a new batch identifier for a network retry.