Gaat een verzoek mis, dan geeft de API een HTTP-status buiten de 200-reeks en een JSON-body met één vaste vorm. Zo kun je fouten in je eigen code op één manier afhandelen.
Vorm van een fout
{
"error": {
"message": "Leesbare uitleg in het Nederlands",
"code": "korte_code"
}
}
code is een vaste, korte code in het Engels. message is een zin in het Nederlands, bedoeld voor mensen.
Tip
Laat je code beslissen op
code en de HTTP-status, niet op message. De melding is Nederlandse tekst om te tonen of te loggen.Alle foutcodes
| Status | Code | Wanneer |
|---|---|---|
| 401 | unauthorized | Geen, een onbekende of een ingetrokken sleutel, of een sleutel die geen API-sleutel is. Melding: Geen geldige API-sleutel. Stuur 'Authorization: Bearer lf_live_...' mee. |
| 403 | forbidden | De sleutel mist het gevraagde recht. Melding: Deze sleutel heeft geen 'read'-rechten. of Deze sleutel heeft geen 'write'-rechten. |
| 403 | forbidden | De sleutel hoort niet bij één werkruimte. Melding: Deze sleutel hoort niet bij precies één werkruimte. |
| 404 | not_found | De lead of het gesprek bestaat niet in je werkruimte, of het id is geen geldig id. Meldingen: Lead niet gevonden. en Gesprek niet gevonden. |
| 400 | bad_request | Alleen bij content-gaps: een since die geen datum is. Melding: Ongeldige `since`; gebruik een ISO-datum. |
| 400 | empty | Alleen bij de reply: het bericht ontbreekt, is leeg of de body is geen geldige JSON. Melding: Bericht is leeg |
| 400 | too_long | Alleen bij de reply: het bericht is langer dan 1000 tekens. Melding: Maximaal 1000 tekens |
| 409 | paused | Alleen bij de reply: het LinkedIn-account van het gesprek is gepauzeerd. De melding geeft de reden. |
| 409 | duplicate | Alleen bij de reply: er staat al een antwoord klaar voor dit profiel. Melding: Er staat al een antwoord klaar voor dit gesprek |
| 429 | rate_limited | Meer dan 120 verzoeken per minuut met deze sleutel. Melding: Te veel verzoeken. Maximaal 120 per minuut. |
| 405 | Een GET op het adres van de reply. Dit antwoord heeft geen body. |
De reply kent nog twee varianten van not_found: Gesprek niet gevonden (zonder punt) als het gesprek niet bestaat, en LinkedIn-account niet gevonden als er geen LinkedIn-account aan het gesprek hangt. Zie Een antwoord versturen.
Voorbeelden
Zonder of met een ongeldige sleutel
{
"error": {
"message": "Geen geldige API-sleutel. Stuur 'Authorization: Bearer lf_live_...' mee.",
"code": "unauthorized"
}
}
Leessleutel op de reply
{
"error": {
"message": "Deze sleutel heeft geen 'write'-rechten.",
"code": "forbidden"
}
}
Lead uit een andere werkruimte
{
"error": {
"message": "Lead niet gevonden.",
"code": "not_found"
}
}
Te veel verzoeken
{
"error": {
"message": "Te veel verzoeken. Maximaal 120 per minuut.",
"code": "rate_limited"
}
}
Problemen oplossen
- 401 terwijl de sleutel klopt. Controleer of de header precies
Authorization: Bearer lf_live_...is en of je geen sleutel van de Chrome-extensie of een MCP-sleutel gebruikt. - 403 bij een GET. De sleutel heeft alleen
write. Lezen vraagtread. - 404 op een id dat je net hebt gezien. Het id hoort bij een andere werkruimte dan die van je sleutel. Controleer de werkruimte met GET /api/v1/me.
- 429. Wacht tot de minuut om is. Zie Limieten.