We gebruiken cookies. Cookies en browseropslag houden je ingelogd en onthouden je voorkeuren. Met je toestemming meten we ook hoe de site wordt gebruikt. Je kunt je wanneer je wilt. Zie ons cookiebeleid.

Authenticatie

Aan de slag

Authenticatie

Authenticeer elk request met een sk-api14 API-key als Bearer-token: sleutels aanmaken, veilig bewaren, beperken en intrekken in het dashboard.

Elke request naar een betaald endpoint wordt geauthenticeerd met een api14 API-key, die als Bearer-token in de Authorization-header wordt meegestuurd.

Authorization: Bearer sk-api14-...

De OpenAI-SDK's zetten deze header voor je op basis van de optie apiKey / api_key.

API-keys

Maak en beheer keys in API-keys.

  • Keys beginnen met sk-api14- en worden één keer getoond, bij het aanmaken. Alleen een hash wordt opgeslagen, dus een verloren key is niet te herstellen, maak een nieuwe aan en trek de oude in.
  • Elke key kan een eigen limiet voor requests per minuut, dagelijkse uitgavelimiet in USD en model-allowlist hebben. Zie Rate limits.
  • Hoeveel keys je kunt hebben hangt af van je abonnement: 1 bij Free, 10 bij Pro, meer bij Team en Enterprise.
  • Het intrekken van een key gaat direct in; requests met die key geven 401 invalid_api_key terug.

Een key gebruiken

Bewaar de key in een omgevingsvariabele en lees hem in je code uit:

export API14_API_KEY="sk-api14-..."
curl https://api14.com/api/v1/chat/completions \
  -H "Authorization: Bearer $API14_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "openai/gpt-5-mini", "messages": [{"role": "user", "content": "Hello"}]}'
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const result = await client.chat.completions.create({
  "model": "openai/gpt-5-mini",
  "messages": [
    {
      "role": "user",
      "content": "Explain vector databases in two sentences."
    }
  ]
});
console.log(result.choices[0].message.content);

Endpoints zonder key

Deze alleen-lezen catalogus-endpoints werken zonder authenticatie:

EndpointBeschrijving
GET /modelsAlle beschikbare modellen
GET /models/{id}Eén model
GET /images/modelsBeeldmodellen met hun extra parameters
GET /videos/modelsVideomodellen met resoluties en duur
GET /embeddings/modelsEmbeddingmodellen

Al het andere, generatie-endpoints, /credits, /key, /generation en de status van videojobs, vereist een key.

Authenticatiefouten

Een ontbrekende, ongeldige of ingetrokken key geeft:

{
  "error": {
    "message": "Missing or invalid API key. Use \"Authorization: Bearer sk-api14-…\".",
    "type": "authentication_error",
    "code": "invalid_api_key"
  }
}

met HTTP-status 401. Een key met een allowlist geeft 403 model_not_allowed terug voor andere modellen. Zie Fouten.

Keys veilig houden

  • Zet een key nooit in browser- of mobiele-appcode, daar kan iedereen hem uitlezen. Roep api14 aan vanaf je server.
  • Commit keys nooit naar versiebeheer. Gebruik omgevingsvariabelen of een secret manager.
  • Gebruik één key per app of omgeving, zodat je er één kunt intrekken zonder de andere te breken.
  • Stel een dagelijkse USD-limiet in voor keys die door scripts of minder vertrouwde services worden gebruikt, zodat een bug je saldo niet kan leegtrekken.
  • Is een key uitgelekt, trek hem dan meteen in via API-keys.