> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clickterm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API overview

> Base URL, authentication, and conventions for the ClickTerm Public Client API.

The ClickTerm Public Client API lets you integrate legally-binding consent management into your application. Use it alongside the ClickTerm Web SDK or Android SDK.

## Base URL

```
https://api.clickterm.com/public-client/v1
```

## Authentication

All API endpoints require your **App ID** and **App Key**, passed as HTTP headers:

```
X-APP-ID: your_app_id
X-APP-KEY: your_app_key
```

Get these credentials from the [Integrations page](https://app.clickterm.com/integrations) in the ClickTerm Dashboard.

<Warning>
  Never expose your **App Key** in client-side code. The App Key is used
  only for backend verification calls. The client SDK uses only the **App ID**.
  Store the App Key safely — it won't display again after creation, but can be
  regenerated. Regenerating the key requires updating your backend configuration.
</Warning>

## Request format

* Content type: `application/json`
* All timestamps are in **UTC, ISO-8601 format** (e.g., `2026-03-23T14:30:00Z`)
* UUIDs are standard v4 format

## Response format

Most responses return JSON, while some return a PDF file. Error responses include an HTTP status code and a message describing the issue.

## Billing

* **Free requests**: `ClicktermDialog.show()` (SDK) and `GET` endpoints are not billed
* **Billed requests**: `POST /clickwrap/verify` — each verification counts toward your usage

## Endpoints

| Method | Endpoint                                                                                         | Description                                                       |
| ------ | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------- |
| `POST` | [`/clickwrap/verify`](/api-reference/clickwrap/verify-clickwrap-signature)                       | Verify a Signature and create a clickwrap event                   |
| `GET`  | [`/clickwrap-events`](/api-reference/events/list-clickwrap-events)                               | List verified clickwrap events with filters and cursor pagination |
| `GET`  | [`/clickwrap-events/{id}/details`](/api-reference/events/get-clickwrap-event-details)            | Get event details                                                 |
| `GET`  | [`/clickwrap-events/{id}/certificate`](/api-reference/events/download-certificate-of-acceptance) | Download Certificate of Acceptance (PDF)                          |
| `GET`  | [`/clickwrap-events/{id}/agreement`](/api-reference/events/download-signed-agreement)            | Download Clickwrap Agreement (PDF)                                |
| `GET`  | [`/clickwraps/{endUserId}/status`](/api-reference/events/get-consent-status-for-end-user)        | Get consent status for an end user                                |
| `POST` | [`/clickwraps/re-accept`](/api-reference/events/request-clickwrap-re-acceptance)                 | Flag specific end users and templates for re-acceptance           |
| `GET`  | [`/clickwrap-templates`](/api-reference/templates/get-templates-by-tags)                         | List enabled templates with effective versions                    |
