Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.1.0
info:
title: Easy reference API
version: '2026-11-12'
description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-12: 17 operation(s) read from 10 public documentation page(s) (each
operation names its page in x-source). This is not the provider''s published contract; Easy has published no machine-readable contract that
the pipeline could find. Engine: local.'
x-evidence-tiers:
code-example: 9
documentation: 20
pages-with-code: 10
pages-read: 18
x-generated-from: documentation
x-provenance: generated
x-authored-by: API Evangelist
x-generated: '2026-11-12'
x-generator: generate-contract-from-docs.py
x-engine: local
x-sources:
- https://docs.itseasy.co/docs/reference/api/account-and-operations/analytics/get_api_analytics_disputes
- https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/delete_api_webhooks_by_id
- https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/get_api_webhooks
- https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/get_api_webhooks_by_id_deliveries
- https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/get_api_webhooks_deliveries
- https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/patch_api_webhooks_by_id
- https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/post_api_webhooks
- https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/post_api_webhooks_by_id_rotate_secret
- https://docs.itseasy.co/docs/reference/api/treasury/treasury/post_auth_treasury_transactions_by_id_attachments
- https://docs.itseasy.co/docs/reference/webhooks
x-docs-section: reference
paths:
/v1/api/analytics/disputes:
get:
operationId: get_v1_api_analytics_disputes
tags:
- Api
summary: GET /v1/api/analytics/disputes
x-source: https://docs.itseasy.co/docs/reference/api/account-and-operations/analytics/get_api_analytics_disputes
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1ApiAnalyticsDisputesResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl JavaScript Go Python Java C# curl -X GET \"https://loading/v1/api/analytics/disputes\" 200 400 401 429 500 { \n \"success\"\
\ : true , \n \"timestamp\" : \"2019-08-24T14:15:22Z\" , \n \"data\" : null , \n \"message\" : \"string\" , \n \"pagination\" : { \n\
\ \"total\" : 0 , \n \"limit\" : 1 , \n \"offset\" : 0 , \n \"has_more\" : true , \n \"truncated\" : true , \n \"cursors\" : { \n \"\
first\" : \"string\" , \n \"last\" : \"string\" \n } \n } \n }"
/v1/api/webhooks:
get:
operationId: get_v1_api_webhooks
tags:
- Api
summary: GET /v1/api/webhooks
x-source: https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/get_api_webhooks
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1ApiWebhooksResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl JavaScript Go Python Java C# curl -X GET \"https://loading/v1/api/webhooks/\" 200 401 429 500 { \n \"success\" : true ,\
\ \n \"timestamp\" : \"2019-08-24T14:15:22Z\" , \n \"data\" : null , \n \"message\" : \"string\" , \n \"pagination\" : { \n \"total\"\
\ : 0 , \n \"limit\" : 1 , \n \"offset\" : 0 , \n \"has_more\" : true , \n \"truncated\" : true , \n \"cursors\" : { \n \"first\" :\
\ \"string\" , \n \"last\" : \"string\" \n } \n } \n } { \n \"success"
post:
operationId: post_v1_api_webhooks
tags:
- Api
summary: POST /v1/api/webhooks
x-source: https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/post_api_webhooks
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostV1ApiWebhooksRequest'
responses:
'201':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PostV1ApiWebhooksResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl JavaScript Go Python Java C# curl -X POST \"https://loading/v1/api/webhooks/\" \\ -H \"Content-Type: application/json\"\
\ \\ -d '{ \"url\": \"http://example.com\" }' 201 400 401 422 429 500 { \n \"success\" : true , \n \"timestamp\" : \"2019-08-24T14:15:22Z\"\
\ , \n \"data\" : null , \n \"message\" : \"string\" , \n \"pagination\" : { \n \"total\" : 0 , \n \"limit\" : 1 , \n \"offset\" : 0\
\ , \n \"has_more\" : true , \n \"truncated\" : true"
/v1/api/webhooks/:
get:
operationId: get_v1_api_webhooks
tags:
- Api
summary: List webhook endpoints
description: List all webhook endpoints for your company. Secrets are never returned.
x-source: https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/get_api_webhooks
parameters:
- name: x-easy-api-key
in: header
required: true
schema:
type: string
description: Merchant API key. Publishable keys (pk_test_* / pk_live_ ) are safe for browser/frontend use and carry a limited scope set
(sessions, payment_instruments, customers, orders writes; products, product_prices, payment_links reads). Secret keys (sk_test_ / sk_live_*)
grant full admin access and must only be used server-side.
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1ApiWebhooksResponse2'
x-evidence:
kind: documentation
/v1/api/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08:
delete:
operationId: delete_v1_api_webhooks_497f6eca_6276_4993_bfeb_53cbbbba6f08
tags:
- Api
summary: DELETE /v1/api/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08
x-source: https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/delete_api_webhooks_by_id
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl JavaScript Go Python Java C# curl -X DELETE \"https://loading/v1/api/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08\" 204\
\ 401 403 404 429 500 Empty { \n \"success\" : false , \n \"timestamp\" : \"2019-08-24T14:15:22Z\" , \n \"error\" : { \n \"code\" :\
\ \"string\" , \n \"message\" : \"string\" , \n \"details\" : null \n } \n } { \n \"success\" : false , \n \"timestamp\" : \"2019-08-24T14:15:22Z\"\
\ , \n \"error\" : { \n \"code\" : \"string"
patch:
operationId: patch_v1_api_webhooks_497f6eca_6276_4993_bfeb_53cbbbba6f08
tags:
- Api
summary: PATCH /v1/api/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08
x-source: https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/patch_api_webhooks_by_id
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PatchV1ApiWebhooks497F6Eca62764993Bfeb53Cbbbba6F08Response'
x-evidence:
kind: code-example
language: curl
snippet: "curl JavaScript Go Python Java C# curl -X PATCH \"https://loading/v1/api/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08\" \\\
\ -H \"Content-Type: application/json\" \\ -d '{}' 200 400 401 403 404 422 429 500 { \n \"success\" : true , \n \"timestamp\" : \"2019-08-24T14:15:22Z\"\
\ , \n \"data\" : null , \n \"message\" : \"string\" , \n \"pagination\" : { \n \"total\" : 0 , \n \"limit\" : 1 , \n \"offset\" : 0\
\ , \n \"has_more\" : true , \n \"t"
/v1/api/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/deliveries:
get:
operationId: get_v1_api_webhooks_497f6eca_6276_4993_bfeb_53cbbbba6f08_deliveries
tags:
- Api
summary: GET /v1/api/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/deliveries
x-source: https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/get_api_webhooks_by_id_deliveries
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1ApiWebhooks497F6Eca62764993Bfeb53Cbbbba6F08DeliveriesRe'
x-evidence:
kind: code-example
language: curl
snippet: "curl JavaScript Go Python Java C# curl -X GET \"https://loading/v1/api/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/deliveries\"\
\ 200 400 401 403 404 429 500 { \n \"success\" : true , \n \"timestamp\" : \"2019-08-24T14:15:22Z\" , \n \"data\" : null , \n \"message\"\
\ : \"string\" , \n \"pagination\" : { \n \"total\" : 0 , \n \"limit\" : 1 , \n \"offset\" : 0 , \n \"has_more\" : true , \n \"truncated\"\
\ : true , \n \"cursors\" : { \n \"first"
/v1/api/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/rotate-secret:
post:
operationId: post_v1_api_webhooks_497f6eca_6276_4993_bfeb_53cbbbba6f08_rotate_secret
tags:
- Api
summary: POST /v1/api/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/rotate-secret
x-source: https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/post_api_webhooks_by_id_rotate_secret
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'201':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PostV1ApiWebhooks497F6Eca62764993Bfeb53Cbbbba6F08RotateSecre'
x-evidence:
kind: code-example
language: curl
snippet: "curl JavaScript Go Python Java C# curl -X POST \"https://loading/v1/api/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08/rotate-secret\"\
\ \\ -H \"Content-Type: application/json\" \\ -d '{}' 200 400 401 403 404 429 500 { \n \"success\" : true , \n \"timestamp\" : \"2019-08-24T14:15:22Z\"\
\ , \n \"data\" : null , \n \"message\" : \"string\" , \n \"pagination\" : { \n \"total\" : 0 , \n \"limit\" : 1 , \n \"offset\" : 0\
\ , \n \"has_more\" : tr"
/v1/api/webhooks/{id}/send-test:
post:
operationId: post_v1_api_webhooks_id_send_test
tags:
- Api
summary: Send a test webhook event to the specified endpoint.
x-source: https://docs.itseasy.co/docs/reference/webhooks
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostV1ApiWebhooksIdSendTestResponse'
x-evidence:
kind: documentation
/v1/api/webhooks/deliveries:
get:
operationId: get_v1_api_webhooks_deliveries
tags:
- Api
summary: GET /v1/api/webhooks/deliveries
x-source: https://docs.itseasy.co/docs/reference/api/account-and-operations/webhooks/get_api_webhooks_deliveries
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1ApiWebhooksDeliveriesResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl JavaScript Go Python Java C# curl -X GET \"https://loading/v1/api/webhooks/deliveries\" 200 400 401 403 404 429 500 { \n\
\ \"success\" : true , \n \"timestamp\" : \"2019-08-24T14:15:22Z\" , \n \"data\" : null , \n \"message\" : \"string\" , \n \"pagination\"\
\ : { \n \"total\" : 0 , \n \"limit\" : 1 , \n \"offset\" : 0 , \n \"has_more\" : true , \n \"truncated\" : true , \n \"cursors\" :\
\ { \n \"first\" : \"string\" , \n \"last\" : \"string\" \n "
/v1/api/webhooks/event-types:
get:
operationId: get_v1_api_webhooks_event_types
tags:
- Api
summary: Get the full catalog of webhook event types.
x-source: https://docs.itseasy.co/docs/reference/webhooks
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1ApiWebhooksEventTypesResponse'
x-evidence:
kind: documentation
/v1/auth/treasury/transactions/497f6eca-6276-4993-bfeb-53cbbbba6f08/attachments:
post:
operationId: post_v1_auth_treasury_transactions_497f6eca_6276_4993_bfeb_53cbbbba6f08_attachme
tags:
- Auth
summary: POST /v1/auth/treasury/transactions/497f6eca-6276-4993-bfeb-53cbbbba6f08/attachments
x-source: https://docs.itseasy.co/docs/reference/api/treasury/treasury/post_auth_treasury_transactions_by_id_attachments
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostV1AuthTreasuryTransactions497F6Eca62764993Bfeb53Cbbbba6F'
responses:
'201':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PostV1AuthTreasuryTransactions497F6Eca62764993Bfeb53Cbbbba6F2'
x-evidence:
kind: code-example
language: curl
snippet: "curl JavaScript Go Python Java C# curl -X POST \"https://loading/v1/auth/treasury/transactions/497f6eca-6276-4993-bfeb-53cbbbba6f08/attachments\"\
\ \\ -H \"Content-Type: application/json\" \\ -d '{ \"attachments\": [ { \"path\": \"string\", \"name\": \"string\", \"size\": 0, \"\
type\": \"string\" } ] }' 200 201 400 401 403 404 429 500 { \n \"success\" : true , \n \"timestamp\" : \"2019-08-24T14:15:22Z\" , \n\
\ \"data\" : null , \n \"mes"
/webhooks:
get:
operationId: get_webhooks
tags:
- Webhooks
summary: List all webhook endpoints for the account.
x-source: https://docs.itseasy.co/docs/reference/webhooks
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetWebhooksResponse'
x-evidence:
kind: documentation
post:
operationId: post_webhooks
tags:
- Webhooks
summary: Register a new webhook endpoint.
x-source: https://docs.itseasy.co/docs/reference/webhooks
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostWebhooksRequest'
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostWebhooksResponse'
x-evidence:
kind: documentation
/webhooks/{id}:
delete:
operationId: delete_webhooks_id
tags:
- Webhooks
summary: Remove a webhook endpoint.
x-source: https://docs.itseasy.co/docs/reference/webhooks
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
get:
operationId: get_webhooks_id
tags:
- Webhooks
summary: Retrieve a single webhook endpoint.
x-source: https://docs.itseasy.co/docs/reference/webhooks
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetWebhooksIdResponse'
x-evidence:
kind: documentation
patch:
operationId: patch_webhooks_id
tags:
- Webhooks
summary: Update a webhook endpoint's URL, events, or active status.
x-source: https://docs.itseasy.co/docs/reference/webhooks
parameters:
- name: id
in: path
required: true
schema:
type: string
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/PatchWebhooksIdRequest'
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PatchWebhooksIdResponse'
x-evidence:
kind: documentation
components:
schemas:
GetV1ApiAnalyticsDisputesResponse:
type: object
properties:
success:
type: boolean
timestamp:
type: string
format: date-time
data:
type:
- string
- 'null'
message:
type: string
pagination:
type: object
properties:
total:
type: integer
limit:
type: integer
offset:
type: integer
has_more:
type: boolean
truncated:
type: boolean
cursors:
type: object
properties:
first:
type: string
last:
type: string
GetV1ApiWebhooksResponse:
type: object
properties:
success:
type: boolean
timestamp:
type: string
format: date-time
data:
type:
- string
- 'null'
message:
type: string
pagination:
type: object
properties:
total:
type: integer
limit:
type: integer
offset:
type: integer
has_more:
type: boolean
truncated:
type: boolean
cursors:
type: object
properties:
first:
type: string
last:
type: string
PostV1ApiWebhooksRequest:
type: object
properties:
url:
type: string
PostV1ApiWebhooksResponse:
type: object
properties:
success:
type: boolean
timestamp:
type: string
format: date-time
data:
type:
- string
- 'null'
message:
type: string
pagination:
type: object
properties:
total:
type: integer
limit:
type: integer
offset:
type: integer
has_more:
type: boolean
truncated:
type: boolean
cursors:
type: object
properties:
first:
type: string
last:
type: string
GetV1ApiWebhooksResponse2:
type: object
properties:
'200':
type: string
description: Successful response with pagination data or null data when no webhooks exist.
'401':
type: string
description: Unauthorized – invalid or missing API key.
'429':
type: string
description: Too many requests – rate limit exceeded.
'500':
type: string
description: Internal server error.
PatchV1ApiWebhooks497F6Eca62764993Bfeb53Cbbbba6F08Response:
type: object
properties:
success:
type: boolean
timestamp:
type: string
format: date-time
data:
type:
- string
- 'null'
message:
type: string
pagination:
type: object
properties:
total:
type: integer
limit:
type: integer
offset:
type: integer
has_more:
type: boolean
truncated:
type: boolean
cursors:
type: object
properties:
first:
type: string
last:
type: string
GetV1ApiWebhooks497F6Eca62764993Bfeb53Cbbbba6F08DeliveriesRe:
type: object
properties:
success:
type: boolean
timestamp:
type: string
format: date-time
data:
type:
- string
- 'null'
message:
type: string
pagination:
type: object
properties:
total:
type: integer
limit:
type: integer
offset:
type: integer
has_more:
type: boolean
truncated:
type: boolean
cursors:
type: object
properties:
first:
type: string
last:
type: string
PostV1ApiWebhooks497F6Eca62764993Bfeb53Cbbbba6F08RotateSecre:
type: object
properties:
success:
type: boolean
timestamp:
type: string
format: date-time
data:
type:
- string
- 'null'
message:
type: string
pagination:
type: object
properties:
total:
type: integer
limit:
type: integer
offset:
type: integer
has_more:
type: boolean
truncated:
type: boolean
cursors:
type: object
properties:
first:
type: string
last:
type: string
PostV1ApiWebhooksIdSendTestResponse:
type: object
properties:
event:
type: object
description: The test webhook event that was sent.
GetV1ApiWebhooksDeliveriesResponse:
type: object
properties:
success:
type: boolean
timestamp:
type: string
format: date-time
data:
type:
- string
- 'null'
message:
type: string
pagination:
type: object
properties:
total:
type: integer
limit:
type: integer
offset:
type: integer
has_more:
type: boolean
truncated:
type: boolean
cursors:
type: object
properties:
first:
type: string
last:
type: string
GetV1ApiWebhooksEventTypesResponse:
type: object
properties:
event_types:
type: array
description: List of event type strings.
PostV1AuthTreasuryTransactions497F6Eca62764993Bfeb53Cbbbba6F:
type: object
properties:
attachments:
type: array
items:
type: object
properties:
path:
type: string
name:
type: string
size:
type: integer
type:
type: string
PostV1AuthTreasuryTransactions497F6Eca62764993Bfeb53Cbbbba6F2:
type: object
properties:
success:
type: boolean
timestamp:
type: string
format: date-time
data:
type:
- string
- 'null'
message:
type: string
pagination:
type: object
properties:
total:
type: integer
limit:
type: integer
offset:
type: integer
has_more:
type: boolean
truncated:
type: boolean
cursors:
type: object
properties:
first:
type: string
last:
type: string
GetWebhooksResponse:
type: object
properties:
webhooks:
type: array
description: Array of webhook endpoint objects.
PostWebhooksRequest:
type: object
properties:
url:
type: string
description: The HTTPS URL to receive webhook deliveries.
events:
type: array
description: Array of event types to subscribe to, e.g., ["payment.created", "*"]
active:
type: boolean
description: Whether the endpoint is active upon creation.
required:
- url
- events
PostWebhooksResponse:
type: object
properties:
id:
type: string
description: Identifier of the created webhook endpoint.
secret:
type: string
description: Signing secret returned only once.
url:
type: string
description: Registered endpoint URL.
events:
type: array
description: Subscribed event types.
active:
type: boolean
description: Active status.
status:
type: string
description: Current status, 'enabled' or 'disabled'.
created_at:
type: string
description: Timestamp of creation.
updated_at:
type: string
description: Timestamp of last update.
GetWebhooksIdResponse:
type: object
properties:
id:
type: string
description: Endpoint identifier.
url:
type: string
description: Endpoint URL.
events:
type: array
description: Subscribed event types.
active:
type: boolean
description: Active status.
status:
type: string
description: Current status, 'enabled' or 'disabled'.
consecutive_failures:
type: integer
description: Number of consecutive delivery failures.
last_triggered_at:
type: string
description: Timestamp of the last delivery attempt.
created_at:
type: string
description: Creation timestamp.
updated_at:
type: string
description: Last update timestamp.
PatchWebhooksIdRequest:
type: object
properties:
url:
type: string
description: New endpoint URL.
events:
type: array
description: Updated list of subscribed event types.
active:
type: boolean
description: Updated active status.
PatchWebhooksIdResponse:
type: object
properties:
id:
type: string
description: Endpoint identifier.
url:
type: string
description: Endpoint URL.
events:
type: array
description: Subscribed event types.
active:
type: boolean
description: Active status.
status:
type: string
description: Current status, 'enabled' or 'disabled'.
updated_at:
type: string
description: Timestamp of this update.
tags:
- name: Api
- name: Auth
- name: Webhooks