Skip to content

API Overview

KEPCA exposes two integration surfaces:

  1. Client-side Widget — a <maptcha-widget> custom element that handles the full challenge flow in the browser.
  2. REST API — server-side endpoints for token verification, event reporting, site management, and analytics.

Architecture

Browser (Widget)                 KEPCA API                    Your Backend
 ├─ /v1/{sk}/init         ────>  Challenge Service      <──── /v1/siteverify
 ├─ /v1/{sk}/challenge    ────>                         <──── /v1/events
 └─ /v1/{sk}/solve        ────>                         <──── /v1/stats/{sk}
                                                        <──── /v1/sites
                                                        <──── /v1/auth/*

Client-side (Widget)

The widget communicates with three endpoints to run the challenge flow:

EndpointPurpose
POST /v1/{site_key}/initStart session, submit signals
POST /v1/{site_key}/challengeRequest a challenge
POST /v1/{site_key}/solveSubmit challenge solution

These calls are made automatically by the widget. You do not need to call them yourself.

Server-side (REST)

Your backend uses these endpoints after form submission:

EndpointPurpose
POST /v1/siteverifyVerify a captcha token
POST /v1/eventsReport custom events
GET /v1/stats/{site_key}Retrieve analytics

Admin

Site, account, and team management:

EndpointPurpose
POST /v1/auth/registerCreate account
POST /v1/auth/loginAuthenticate
POST /v1/sitesCreate / manage sites
POST /v1/teamsCreate / manage teams
POST /v1/domainsCustom domain management
POST /v1/webhooksWebhook management
POST /v1/keys/rotateAPI key rotation
GET /v1/billing/planBilling plan and usage
GET /v1/auditAudit log
GET /healthHealth check
GET /metricsPrometheus metrics

Authentication

Server-side endpoints require your secret key in the request body (secret field) or as a Bearer token in the Authorization header.

Admin endpoints use JWT tokens obtained from /v1/auth/login.

Base URL

EnvironmentURL
Productionhttps://api.kepca.com
Self-hostedYour configured domain
Local devhttp://localhost:3001

Next steps

  • Widget API — attributes, events, and CSS custom properties
  • REST API — full endpoint reference with request/response examples

KVKK/GDPR Uyumlu — Verileriniz yurt icinde kalir.