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.
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.