Developer Docs

API Referentie

Complete documentatie voor het integreren van RegexNest in je eigen tools, editors, en CI/CD-pipelines. RESTful, JSON-first, rate-limiet 120 req/min.

Bekijk Endpoints Authenticatie
RegexNest API dashboard met live request/response monitor en endpoint overzicht

Endpoints

RegexNest exposeert een REST API op https://api.regexnest.com/v1. Alle endpoints vereisen een Bearer token en retourneren JSON. Onderstaande tabel geeft een overzicht van de beschikbare routes.

De API is ontworpen voor twee gebruiksscenario's: interactief valideren van reguliere expressies via de /validate endpoint, en batch-verwerking van patronen via /compile en /test-suite. Alle responses bevatten een requestId voor tracing en debugging.

POST

/v1/validate

Valideer een reguliere expressie op syntaxis, complexiteit, en potentiële ReDoS-kwetsbaarheden. Retourneert een gedetailleerd rapport met flags, warnings, en een veiligheidscore tussen 0 en 100.

Body: { "pattern": "^([a-z0-9]+)*$", "flags": "i" }

Response: 200 OK — { "valid": true, "score": 87, "flags": ["backtracking"], "warnings": 1 }

POST

/v1/compile

Compileer een regex naar een geoptimaliseerd intern formaat. Ideaal voor caching in externe applicaties. De compiler ondersteunt PCRE, ECMAScript 2024, en Python re-syntaxis.

Body: { "pattern": "\\d{3}-\\d{2}-\\d{4}", "engine": "pcre2" }

Response: 200 OK — { "compiledId": "c_8f3a91", "engine": "pcre2", "sizeBytes": 248 }

POST

/v1/test-suite

Voer een batch-test uit met tot 500 strings tegen een regex-patroon. Retourneert per string een match-uitslag, capture groups, en match-positie. Gebruikt voor CI/CD-integratie en regressietesten.

Body: { "pattern": "\\b[A-Z][a-z]+\\b", "strings": ["Alice", "bob", "Charlie"] }

Response: 200 OK — { "results": [{ "matched": true, "captures": ["Alice"] }, ...], "totalTimeMs": 12 }

GET

/v1/engines

Retourneert een lijst van alle ondersteunde regex-engines met hun versienummers, ondersteunde features, en default-flags. Geen body vereist. Handig voor dynamische engine-selectie in je UI.

Response: 200 OK — { "engines": [{ "id": "pcre2", "version": "10.42", "features": ["lookahead", "atomic"] }, ...] }

GET

/v1/usage

Haal je huidige API-gebruik op: verbruikte requests, resterend quota per periode, en piek-gebruik. Rate-limiet is 120 requests per minuut voor standaard accounts, 600/min voor Pro-abonnees.

Response: 200 OK — { "used": 847, "limit": 120, "window": "per-minute", "plan": "standard" }

DELETE

/v1/compile/{id}

Verwijder een eerder gecompileerd regex-patroon uit de cache. Retourneert 204 No Content bij succes, 404 als de compileId niet bestaat. Gecompileerde patronen worden automatisch verlopen na 24 uur.

Response: 204 No Content of 404 Not Found

Authenticatie

Alle API-aanroepen vereisen een Bearer-token dat je genereert via het RegexNest dashboard onder Settings → API Keys. Tokens zijn gekoppeld aan je account en hebben geen vervaldatum tenzij je ze handmatig intrekt.

Voeg het token toe via de Authorization header in elke request:

Authorization: Bearer rnx_live_4eC39HqLyjWDarjtT1zdp7dc

Je kunt tot 5 actieve API-keys per account aanmaken. Elke key heeft een unieke prefix: rnx_live_ voor productie en rnx_test_ voor sandbox-omgevingen. Test-keys zijn niet onderhevig aan rate-limits maar retourneren geforceerde dummy-gegevens.

Bij een ongeldig of verlopen token retourneert de API status 401 Unauthorized met het body-object { "error": "invalid_token", "message": "De verstrekte API-key is ongeldig of is ingetrokken." }. Bij overschrijding van de rate-limiet ontvang je status 429 Too Many Requests met een Retry-After header in seconden.

Response Format

Alle RegexNest API-responses volgen een consistent JSON-schema. Succesvolle responses bevatten een data object, terwijl fouten een gestructureerd error object retourneren met een machine-leesbare code en een menselijke omschrijving.

Een standaard succes-response ziet er als volgt uit:

{
  "requestId": "req_7b2f91a3",
  "status": "success",
  "timestamp": "2025-06-14T09:32:11Z",
  "data": { ... },
  "meta": {
    "engine": "pcre2",
    "processingTimeMs": 3
  }
}

En een fout-response:

{
  "requestId": "req_9c4e02d1",
  "status": "error",
  "error": {
    "code": "invalid_pattern",
    "message": "Ongesloten groep op positie 7 in patroon \\\"(\\\\d{3}-\\\""
  }
}

De requestId is uniek per aanroep en kan worden gedeeld met RegexNest support voor debugging. De processingTimeMs geeft de server-side verwerkingstijd weer, exclusief netwerklatentie. Alle timestamps zijn in UTC ISO 8601-formaat.

Paginatie wordt toegepast op endpoints die meer dan 100 resultaten kunnen retourneren. Gebruik de query-params ?page=2&limit=50 om door resultaten te bladeren. De response bevat een meta.pagination object met total, page, limit, en hasMore.