Skip to main content
POST
Import a listings catalog

Authorizations

Authorization
string
header
required

An API key from Settings → API keys, sent as Authorization: Bearer kb_live_…. A workspace key starts kb_; a personal key starts kbp_ and acts as its owner.

Headers

Idempotency-Key
string
required

A unique key (a UUID works) for this request. Retrying with the same key returns the first answer instead of running twice.

Maximum string length: 255
Kallabot-Version
enum<string>

The API version to answer as, a date (YYYY-MM-DD). Leave it out for the current version (2026-11-07). An unknown version is refused with 400 unsupported_api_version.

Available options:
2026-11-07
Example:

"2026-11-07"

Body

application/json
name
string
required
Required string length: 1 - 120
mapping
Mapping · object
required
csv
string | null

An uploaded CSV, as text.

Maximum string length: 200000
sheet_url
string | null

A Google Sheet anyone with the link can view.

Maximum string length: 2000
tab
string | null
Maximum string length: 200
description
string | null
Maximum string length: 300
locations
LocationAliases · object[]
Maximum array length: 200
price_as_of
string<date> | null
refresh_interval_hours
integer | null
Required range: 1 <= x <= 720

Response

Successful Response

source
KnowledgeSourceStatus · object
required
rows
integer
required

Listings read.

skipped
required

Rows skipped.

unmapped_values
any

Values that didn't map to a known meaning.