Create a webhook endpoint (POST /organization/webhooks) — Kite API
KitePlatform
Use casesDocsGuidesPricing
Browse endpoints
All endpoints

Reference data

  • List cities
  • List neighborhoods
  • List city directions
  • List enumerated values
  • Get this key's limits
  • What the API covers

Listings

  • Search listings
  • Count listings
  • Get listings by id
  • Get a listing
  • Get a listing's price history

Market data

  • Market summary
  • Price distribution
  • Area distribution
  • New supply
  • Vacancy indicator
  • Prices by neighborhood
  • Commercial rent per m² by neighborhood

Official data

  • Registered rents (REGA)
  • Kite Property Index

Analytics

  • Get comparable listings
  • Get a listing's market position
  • Get a listing's nearby asking-price band
  • Find below-market listings
  • Find below-market listings (old path)
  • Get gross rental yield
  • Get price trends
  • Compare neighborhoods

Registered transactions

  • Search registered deals
  • Registered deal statistics
  • Land prices per m²

Off-plan projects

  • Search projects
  • Get a project
  • List a project's units
  • Search project units
  • List developers

Exports

  • Create an export
  • List exports
  • Get an export

Administration

  • Get your organization
  • List data keys
  • Create a data key
  • Revoke a key
  • List projects
  • Daily usage
  • List members and invitations
  • List audit events
  • List request logs
  • Create a webhook endpoint
  • List webhook endpoints
  • Delete a webhook endpoint
  • List deliveries
  • Replay a delivery

Interactive reference

All endpoints

Reference data

  • List cities
  • List neighborhoods
  • List city directions
  • List enumerated values
  • Get this key's limits
  • What the API covers

Listings

  • Search listings
  • Count listings
  • Get listings by id
  • Get a listing
  • Get a listing's price history

Market data

  • Market summary
  • Price distribution
  • Area distribution
  • New supply
  • Vacancy indicator
  • Prices by neighborhood
  • Commercial rent per m² by neighborhood

Official data

  • Registered rents (REGA)
  • Kite Property Index

Analytics

  • Get comparable listings
  • Get a listing's market position
  • Get a listing's nearby asking-price band
  • Find below-market listings
  • Find below-market listings (old path)
  • Get gross rental yield
  • Get price trends
  • Compare neighborhoods

Registered transactions

  • Search registered deals
  • Registered deal statistics
  • Land prices per m²

Off-plan projects

  • Search projects
  • Get a project
  • List a project's units
  • Search project units
  • List developers

Exports

  • Create an export
  • List exports
  • Get an export

Administration

  • Get your organization
  • List data keys
  • Create a data key
  • Revoke a key
  • List projects
  • Daily usage
  • List members and invitations
  • List audit events
  • List request logs
  • Create a webhook endpoint
  • List webhook endpoints
  • Delete a webhook endpoint
  • List deliveries
  • Replay a delivery

Interactive reference

Administration

Create a webhook endpoint

POST/organization/webhooks

Subscribes an HTTPS URL to listing events. The signing secret is in the response once: store it now, you'll need it to verify deliveries. Filters must include a city.

Authentication
Send an admin key (dk_admin_…) as a Bearer token. Data keys are refused here.
Scope
organization
Cost
Free

Parameters

NameTypeDescription
Idempotency-Keyheaderstring

A unique string (a UUID is ideal) making this call safe to retry. The same key with the same body replays the first response and sets Idempotent-Replay: true; with a different body it returns 409 idempotency_key_reuse. Remembered for 24 hours.

Request body

NameTypeDescription
urlrequiredstring
event_typesrequiredstring[]

See the webhooks guide.

One of: listing.created, listing.price_changed, listing.delisted

filtersrequiredobject

Which listings this endpoint wants, in the vocabulary of GET /listings.

descriptionstring

Response

The data field is an object with these fields.

NameTypeDescription
idrequiredstring
urlrequiredstring
event_typesrequiredstring[]
filtersrequiredobject
descriptionrequiredstring | null
statusrequiredstring

One of: active, disabled

disabled_reasonrequiredstring | null

too_many_failures when we stopped after repeated failures.

consecutive_failuresrequiredinteger
created_atrequiredstring (date-time)

ISO 8601 time

secret

Example request

curl
curl -X POST "https://api.kite.sa/v1/organization/webhooks" \
  -H "Authorization: Bearer $KITE_ADMIN_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/kite-webhook","event_types":["listing.created"],"filters":{"city":"riyadh"}}'
JavaScript (@kite-sa/sdk)
import { Kite } from "@kite-sa/sdk";

const kite = new Kite({ apiKey: process.env.KITE_ADMIN_KEY });
const result = await kite.organization.webhooks.create({ url: "https://example.com/kite-webhook", event_types: ["listing.created"], filters: { city: "riyadh" } });
Python (kite-sa)
import os
from kite_sa import Kite

kite = Kite(api_key=os.environ["KITE_ADMIN_KEY"])
result = kite.organization.webhooks.create(url="https://example.com/kite-webhook", event_types=["listing.created"], filters={"city": "riyadh"})

Open in the interactive reference

Related endpoints

  • Get your organization GET /organization
  • List data keys GET /organization/keys
  • Create a data key POST /organization/keys
  • Revoke a key POST /organization/keys/{key_id}/revoke
  • List projects GET /organization/projects
  • Daily usage GET /organization/usage
  • List members and invitations GET /organization/members
  • List audit events GET /organization/audit-events
  • List request logs GET /organization/request-logs
  • List webhook endpoints GET /organization/webhooks
  • Delete a webhook endpoint POST /organization/webhooks/{webhook_id}/delete
  • List deliveries GET /organization/webhooks/{webhook_id}/deliveries
  • Replay a delivery POST /organization/webhooks/{webhook_id}/deliveries/{delivery_id}/replay

Guides

  • Quickstart
  • Authentication
  • Webhooks
  • Limits and quotas
  • Errors
Kite API

Saudi real estate data for developers.

Product
  • API reference
  • Data coverage
  • Pricing
  • Valuation checks
  • Changelog
  • Status
Company
  • kite.sa
  • Contact
  • Security
Legal
  • Terms
  • Subprocessors
© Kite
required
string

The signing secret. Shown once.