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: AI GNT Webhooks API
version: 0.1.0
servers:
- url: https://api.gntai.dev
description: Production
tags:
- name: Webhooks
paths:
/v1/webhooks/ingest/{token}:
post:
tags:
- Webhooks
summary: Ingest Webhook
description: 'Turns a POST from Zapier (or anything else that can send a JSON
webhook — monday.com and HubSpot both go through a Zapier "Webhooks by
Zapier" step in the published recipe, see docs) into a draft rule,
exactly as if a human had called POST /v1/rules by hand. Sanitize,
tenant scoping, and the draft-rule shape are shared with that endpoint
via create_draft_rule — this only adds a different front door onto it.
The per-IP rate limit (enforce_webhook_ingest_ip_rate_limit) runs as a
route-level dependency, ahead of everything below, specifically so a
flood of requests with invalid/guessed tokens gets throttled before
spending a token-hash lookup or a DB round trip on each one — same
reasoning as checking it before, not after, resolving the token.'
operationId: ingest_webhook_v1_webhooks_ingest__token__post
parameters:
- name: token
in: path
required: true
schema:
type: string
title: Token
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRuleRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
CreateRuleRequest:
properties:
title:
type: string
maxLength: 200
minLength: 1
title: Title
body:
type: string
maxLength: 8000
minLength: 1
title: Body
confidence:
type: number
maximum: 1.0
minimum: 0.0
title: Confidence
default: 0.7
source_citations:
items:
additionalProperties: true
type: object
type: array
title: Source Citations
source:
anyOf:
- type: string
maxLength: 2000
- type: 'null'
title: Source
tags:
items:
type: string
type: array
maxItems: 20
title: Tags
type: object
required:
- title
- body
title: CreateRuleRequest
securitySchemes:
HTTPBearer:
type: http
scheme: bearer