Uitgebreide referentie van alle foutcodes in de Blue GraphQL API, georganiseerd per categorie


Foutreactieformaat

De GraphQL API van Blue retourneert fouten in een gestandaardiseerd formaat volgens de GraphQL-specificatie. Wanneer er een fout optreedt, bevat de reactie een errors array met gedetailleerde informatie over wat er misging.

Voorbeeld van een foutreactie

{
  "errors": [
    {
      "message": "Todo was not found.",
      "extensions": {
        "code": "TODO_NOT_FOUND"
      }
    }
  ]
}

Foutstructuur

Elk foutobject bevat:

  • bericht: Een leesbare beschrijving van de fout
  • extensions.code: Een machine-leesbare foutcode voor programmatische verwerking

Productiefoutveiligheid

Blue implementeert een veiligheidssysteem voor foutblootstelling:

  • Veilige fouten: Toon werkelijke foutcodes en berichten aan klanten
  • Niet-veilige fouten: Retourneer generieke INTERNAL_SERVER_ERROR om gevoelige details te verbergen
  • Hulpbron niet gevonden: Alle *_NOT_FOUND fouten worden als veilig beschouwd en altijd blootgesteld

Foutcategorieën

Blue definieert 108 aangepaste foutcodes, georganiseerd in de volgende categorieën:

Authenticatie- en autorisatiefouten

Foutcode Bericht Beschrijving
UNAUTHENTICATED "Authenticatie vereist." Verzoek vereist authenticatie, maar er is geen opgegeven
FORBIDDEN "U bent niet geautoriseerd." Geauthenticeerd maar mist vereiste machtigingen

Hulpbron niet gevonden fouten (52 totaal)

Kernbronnen

Foutcode Bericht Beschrijving
TODO_NOT_FOUND "Todo niet gevonden." Record/todo bestaat niet of gebruiker heeft geen toegang
TODO_LIST_NOT_FOUND "Todo-lijst niet gevonden." Lijst bestaat niet of gebruiker heeft geen toegang
PROJECT_NOT_FOUND "Project niet gevonden." Project bestaat niet of gebruiker heeft geen toegang
COMPANY_NOT_FOUND "Bedrijf niet gevonden." Bedrijf bestaat niet of gebruiker heeft geen toegang
USER_NOT_FOUND "Gebruiker niet gevonden." Gebruiker bestaat niet in het systeem

Aangepaste velden en formulieren

Foutcode Bericht Beschrijving
CUSTOM_FIELD_NOT_FOUND "Aangepast veld niet gevonden." Aangepast veld bestaat niet
CUSTOM_FIELD_OPTION_NOT_FOUND "Aangepaste veldoptie niet gevonden." Selecteer veldoptie bestaat niet
FORM_NOT_FOUND "Formulier niet gevonden." Formuliersjabloon bestaat niet
FORM_FIELD_NOT_FOUND "Formulierveld niet gevonden." Formulierveld bestaat niet

Projectcomponenten

Foutcode Bericht Beschrijving
TAG_NOT_FOUND "Tag niet gevonden." Tag bestaat niet in project
AUTOMATION_NOT_FOUND "Automatisering niet gevonden." Automatiseringsregel bestaat niet
CHART_NOT_FOUND "Grafiek niet gevonden." Dashboardgrafiek bestaat niet
WEBHOOK_NOT_FOUND "Webhook niet gevonden." Webhook-configuratie bestaat niet
TEMPLATE_NOT_FOUND "Sjabloon niet gevonden." Projectsjabloon bestaat niet

Opmerkingen en activiteiten

Foutcode Bericht Beschrijving
COMMENT_NOT_FOUND "Opmerking niet gevonden." Opmerking bestaat niet
ACTIVITY_NOT_FOUND "Activiteit niet gevonden." Activiteitslogboekitem bestaat niet
REACTION_NOT_FOUND "Reactie niet gevonden." Opmerkingreactie bestaat niet

Andere bronnen

Foutcode Bericht Beschrijving
FILE_NOT_FOUND "Bestand niet gevonden." Bestandsbijlage bestaat niet
SUBSCRIPTION_NOT_FOUND "Abonnement niet gevonden." Factureringsabonnement bestaat niet
INVOICE_NOT_FOUND "Factuur niet gevonden." Factuurrecord bestaat niet
CHECKLIST_NOT_FOUND "Checklist niet gevonden." Checklist bestaat niet
CHECKLIST_ITEM_NOT_FOUND "Checklistitem niet gevonden." Checklistitem bestaat niet
PROJECT_ROLE_NOT_FOUND "Projectrol niet gevonden." Aangepaste projectrol bestaat niet
PROJECT_ACCESS_NOT_FOUND "Projecttoegang niet gevonden." Gebruiker heeft geen projecttoegang
NOTIFICATION_NOT_FOUND "Melding niet gevonden." Melding bestaat niet
DASHBOARD_NOT_FOUND "Dashboard niet gevonden." Dashboard bestaat niet
KEY_NOT_FOUND "Sleutel niet gevonden." Instellingen sleutel bestaat niet

Validatiefouten

Foutcode Bericht Beschrijving
BAD_USER_INPUT "Ongeldige invoer." Algemene invoervalidatiefout
VALIDATION_ERROR "Ongeldige parameters" Verzoekparameters zijn niet gevalideerd
BAD_EMAIL "U moet een geldig e-mailadres invoeren." Ongeldig e-mailformaat
INVALID_IDS "Ongeldige id's." Een of meer ID's in het verzoek zijn ongeldig
PHONE_INVALID "Telefoon is ongeldig." Ongeldig telefoonnummerformaat
URL_INVALID "URL is ongeldig." Ongeldig URL-formaat
INVALID_RECURRING_DUE_DATE "Ongeldige vervaldatum voor terugkerende taak" Validatie van de datum voor terugkerende taken is mislukt
INVALID_COLOR "Ongeldige kleur" Kleurwaarde komt niet overeen met het verwachte formaat

Bedrijfslogica-fouten

Limieten en quota

Foutcode Bericht Beschrijving
COMPANY_LIMIT "U heeft de bedrijfsgrens voor uw account bereikt." Maximale bedrijven bereikt
PROJECT_LIMIT "U heeft de projectgrens voor uw bedrijf bereikt." Maximale projecten bereikt
USER_LIMIT "U heeft de gebruikerslimiet voor uw bedrijf bereikt." Maximale gebruikers bereikt
PROJECT_TEMPLATE_LIMIT "U heeft de sjabloonlimiet voor uw bedrijf bereikt." Maximale sjablonen bereikt
CUSTOM_FIELD_LIMIT "Limiet voor aangepaste velden bereikt." Maximale aangepaste velden bereikt
TODO_LIST_LIMIT "U heeft de lijstlimiet voor uw project bereikt." Maximale lijsten per project
TOO_MANY_TODOS "Te veel todo's." Recordlimiet overschreden
TOO_MANY_OPTIONS "Te veel opties." Limiet voor selectievakopties overschreden
MAX_FILE_SIZE "Maximale bestandsgrootte is 4,8 GB" Limiet voor bestandsoverdracht overschreden

Hulpbronconflicten

Foutcode Bericht Beschrijving
TAG_ALREADY_EXISTS "Tag bestaat al." Tag met dezelfde naam bestaat in project
COMPANY_SLUG_ALREADY_EXISTS "Bedrijf bestaat al." Bedrijfsslag/URL is bezet
USER_ALREADY_EXISTS "Gebruiker bestaat al." Gebruikers-e-mailadres is al geregistreerd
ALREADY_INVITED "De gebruiker is al uitgenodigd." Gebruiker heeft al een openstaande uitnodiging
USER_ALREADY_IN_PROJECT "Gebruiker is al aan dit project toegevoegd." Gebruiker heeft al toegang tot het project
FILE_TYPE_NOT_ALLOWED "Bestandstype niet toegestaan." Geüpload bestandstype is beperkt

Toegangs- en machtigingsfouten

Foutcode Bericht Beschrijving
UNABLE_TO_DELETE_ONLY_ADMIN "Kan de enige Admin in het bedrijf niet verwijderen." Laatste admin kan niet worden verwijderd
UNABLE_TO_UPDATE_OWNER "Kan de EIGENAAR niet bijwerken." Machtigingen van de eigenaar kunnen niet worden gewijzigd
TODO_LIST_IS_HIDDEN "Todo-lijst is verborgen." Lijst is verborgen voor de rol van de gebruiker
COMPANY_NOT_ACTIVE "Bedrijf is niet actief." Bedrijfsabonnement is inactief
PROJECT_NOT_ACTIVE "Project is niet actief." Project is gearchiveerd/inactief

Gegevensintegriteitsfouten

Foutcode Bericht Beschrijving
UNABLE_TO_DELETE_LIST_WITH_TODOS "Kan lijst met todo's niet verwijderen." Lijst moet leeg zijn om te verwijderen
UNABLE_TO_DELTE_FILE "Kan bestand niet verwijderen." Verwijderen van bestand mislukt (typefout in code)
UNABLE_TO_MOVE_TODO "Kan todo niet verplaatsen." Kan record niet tussen lijsten verplaatsen
DEPENDENCY_HAS_DEPENDENCY "Afhankelijkheid heeft afhankelijkheid" Circulaire afhankelijkheid gedetecteerd
TODO_DEPENDS_ON_ITSELF "Todo hangt van zichzelf af" Zelf-refererende afhankelijkheid

Stripe/Betaalfouten

Foutcode Bericht Beschrijving
STRIPE_CREATING_CUSTOMER "Fout bij het aanmaken van klant in Stripe." Aanmaak van Stripe-klant mislukt
STRIPE_ALREADY_SUBSCRIBED "Al geabonneerd." Actief abonnement bestaat
STRIPE_MISSING_PAYMENT_METHOD "Ontbrekende betaalmethode." Geen betaalmethode op bestand
STRIPE_CREATING_SUBSCRIPTION "Fout bij het aanmaken van abonnement in Stripe." Aanmaak van abonnement mislukt
STRIPE_UPDATING_SUBSCRIPTION "Fout bij het bijwerken van abonnement in Stripe." Bijwerken van abonnement mislukt
STRIPE_CHECKOUT_SESSION "Fout bij het aanmaken van checkout-sessie in Stripe." Aanmaak van checkout-sessie mislukt
STRIPE_CUSTOMER_PORTAL "Fout bij het aanmaken van klantportaal in Stripe." Aanmaak van portaal-sessie mislukt
STRIPE_TAX_ID "Kan belasting-ID niet opslaan" Validatie/opslag van belasting-ID mislukt
PAYMENT_REQUIRED "Betaling vereist." Functie vereist actief abonnement
NO_PAYMENT_REQUIRED "Geen betaling vereist." Betaling niet nodig voor operatie

Authenticatie- en sessiefouten

Foutcode Bericht Beschrijving
INVALID_CREDENTIALS "Ongeldige inloggegevens." Gebruikersnaam/wachtwoord onjuist
EXPIRED_RESET_TOKEN "Reset-token is verlopen." Wachtwoord reset-token is verlopen
OAUTH_FAILED "OAuth-proces mislukt." OAuth-authenticatie mislukt
SAML_NOT_ENABLED "SSO (SAML) is niet ingeschakeld." SAML SSO niet geconfigureerd
SSO_AUTO_PROVISION_DISABLED "Automatische provisioning is uitgeschakeld." Kan SSO-gebruikers niet automatisch aanmaken

Snelheidsbeperkingen

Snelheidsbeperkingen worden afgehandeld door het graphql-rate-limit pakket met verschillende configuraties:

Limiettype Venster Max. Verzoeken Toegepast op
Standard 60s 500 Most queries/mutations
Sensitive 300s 10 Password reset, auth operations
Expensive 60s 20 Complex queries, bulk operations
Search 60s 60 Search operations
File Upload 60s 100 File upload operations

Wanneer u wordt beperkt, ontvangt u een standaard GraphQL-fout met een bericht dat aangeeft dat de limiet is overschreden.

Systeem- en interne fouten

Foutcode Bericht Beschrijving
INTERNAL_SERVER_ERROR "Interne serverfout." Algemene fout voor niet-veilige fouten in productie
UNKNOWN_ERROR "Onbekende fout." Onverwachte fout opgetreden
RESOLVER_NOT_FOUND "Resolver niet gevonden" GraphQL-resolver ontbreekt
FIELD_NOT_IN_SCHEMA "Veld niet in schema" Aangevraagd veld bestaat niet

Beste praktijken voor foutafhandeling

Client-side afhandeling

try {
  const result = await client.mutate({
    mutation: CREATE_TODO,
    variables: { input }
  });
} catch (error) {
  if (error.graphQLErrors?.length > 0) {
    const errorCode = error.graphQLErrors[0].extensions?.code;
    
    switch (errorCode) {
      case 'UNAUTHENTICATED':
        // Redirect to login
        break;
      case 'TODO_NOT_FOUND':
        // Show "Record not found" message
        break;
      case 'VALIDATION_ERROR':
        // Display validation errors
        break;
      default:
        // Show generic error message
    }
  }
}

Veelvoorkomende foutscenario's

  1. Authenticatie vereist: UNAUTHENTICATED - Gebruiker moet inloggen
  2. Toestemming geweigerd: FORBIDDEN - Gebruiker mist vereiste rol/machtiging
  3. Hulpbron niet gevonden: *_NOT_FOUND - Hulpbron bestaat niet of gebruiker kan er geen toegang toe krijgen
  4. Validatie mislukt: VALIDATION_ERROR, BAD_USER_INPUT - Controleer invoerparameters
  5. Snelheidslimiet overschreden: Controleer snelheidslimietheaders en implementeer terugval
  6. Betaling vereist: PAYMENT_REQUIRED - Functie vereist abonnement

Gerelateerde documentatie

AI Assistent

Antwoorden worden gegenereerd met behulp van AI en kunnen fouten bevatten.

Hoe kan ik u helpen?

Vraag me alles over Blue of deze documentatie.

Voer in om te verzenden • Shift+Enter voor nieuwe regel • ⌘I om te openen