---
title: Quick Start
slug: quick-start
docTags: 
createdAt: 2026-01-22T19:27:11.406Z
---

### Prerequisites

Before registering webhooks, you need:

- A Jetpay API authentication token (company token-based access)
- A publicly accessible HTTPS endpoint to receive webhook events
- Ability to respond to webhook requests within 15 seconds with a 2xx HTTP status code

### Quick Start: Register Your First Webhook

:::hint{type="info"}
You can view our detailed schema for all webhook related API requests [here](https://extapi.jetpay.baselinepayments.com/docs#tag/Webhooks-\(v0\)).
:::

To register a webhook endpoint, make a POST request to the webhooks API:

**Endpoint**: `POST /webhooks/`

**Minimum Required Parameters**:

- `callback_url`: Your publicly accessible HTTPS endpoint

The API will return a webhook configuration including a unique identifier that you'll use for management operations.

### Basic Webhook Handler Requirements

Your webhook endpoint should:

1. **Respond Quickly**: Return a 2xx HTTP status code within 15 seconds
2. **Accept JSON**: Expect `Content-Type: application/json` requests
3. **Verify JWT**: Validate the JWT token in the `Authorization` header (**Optional,&#x20;**&#x62;ut highly recommended)
4. **Handle Batches**: Process arrays of events (1 to `max_batch_size` events per request)
5. **Be Idempotent**: Handle duplicate event deliveries gracefully

### Testing Your Endpoint

Before going live, ensure your endpoint:

- Is publicly accessible via HTTPS
- Returns 2xx status codes for valid requests
- Handles the expected event payload structure
- Processes events asynchronously if needed (respond quickly, process later)
