Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: HProxy Webhooks API
version: 1.0.0
description: 'Buy and manage proxies from a prepaid wallet, run the Scraper API, or use the free no-key APIs: a live proxy list, a proxy checker and an IP lookup. JSON in, JSON out. Money is always integer cents (120 = $1.20), never floats.'
contact:
url: https://hproxy.com/contact
license:
name: Proprietary
servers:
- url: https://hproxy.com
description: Production
security:
- ApiKeyAuth: []
tags:
- name: Webhooks
paths:
/api/v1/webhooks:
post:
operationId: webhooks-create
summary: Register an endpoint
description: Register an **https** URL for event pushes. The response carries your signing `secret` **once**. Store it now, it is never shown again. `events` defaults to everything; up to 10 active endpoints per account. Private/internal hosts are refused at registration.
tags:
- Webhooks
parameters: []
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Invalid input. The body names the field and the accepted set.
'401':
description: Missing or invalid API key.
'429':
description: Rate limited. Retry after the delay in the response.
security:
- ApiKeyAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
url:
type: string
description: HTTPS endpoint to receive signed event POSTs.
events:
type: array
items: {}
description: 'Subset of: order.fulfilled, order.failed, order.refunded, subscription.canceled, subscription.expired, plan.low_traffic, announcement.published. Omitted = all.'
required:
- url
get:
operationId: webhooks-list
summary: List endpoints
description: Your registered endpoints, newest first. Secrets are never re-shown.
tags:
- Webhooks
parameters: []
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
example:
webhooks:
- active: true
createdAt: '2026-07-23T09:15:02.114Z'
events:
- order.fulfilled
- order.failed
id: whs_1f7c9a2b8d3e4f50a1b2c3d4e5f60718
url: https://api.your-shop.com/hproxy-webhook
'400':
description: Invalid input. The body names the field and the accepted set.
'401':
description: Missing or invalid API key.
'429':
description: Rate limited. Retry after the delay in the response.
security:
- ApiKeyAuth: []
/api/v1/webhooks/{id}:
delete:
operationId: webhooks-delete
summary: Delete an endpoint
description: Remove an endpoint; its pending deliveries go with it.
tags:
- Webhooks
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
example:
deleted: true
'400':
description: Invalid input. The body names the field and the accepted set.
'401':
description: Missing or invalid API key.
'429':
description: Rate limited. Retry after the delay in the response.
security:
- ApiKeyAuth: []
/api/v1/webhooks/{id}/test:
post:
operationId: webhooks-test
summary: Send a test delivery
description: Queues a `ping` event through the **real** pipeline (same signing, same worker) so you can verify your endpoint and signature code end to end. Expect the POST within about a minute.
tags:
- Webhooks
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
'400':
description: Invalid input. The body names the field and the accepted set.
'401':
description: Missing or invalid API key.
'429':
description: Rate limited. Retry after the delay in the response.
security:
- ApiKeyAuth: []
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: Your API key. Free keyless endpoints ignore it.
x-endpoint-count: 163
x-generated-from: https://hproxy.com/docs
x-llms: https://hproxy.com/llms-full.txt