Developers

Build on Yapii

A REST API with API-key auth, predictable JSON responses, and idempotent writes. Pull contact data into your tools, trigger campaigns, or automate your entire real-estate workflow.

Getting started in three steps

No OAuth dance. Just an API key and a Bearer header.

1

Generate an API key

Go to Settings → API Keys in your Yapii workspace. Click New API Key, choose a name and scope (read or write), and copy the key - it starts with zk_live_…

2

Authenticate with Bearer

Pass the key as a Bearer token in every request: Authorization: Bearer zk_live_… The header is required for all endpoints except the public status feed.

3

Make your first request

Try listing your contacts: GET /api/contacts. The API returns paginated JSON. All timestamps are ISO 8601 UTC. Error envelopes follow { error, message } with standard HTTP status codes.

Authentication

Every request must include an Authorization header with your API key.

Authorization header format

Authorization: Bearer zk_live_••••••••••••••••
  • API keys are workspace-scoped - one key can access all your contacts, campaigns, and settings.
  • Choose read scope for data pipelines or write scope for automations that create or update records.
  • Rate limit: 120 requests per minute per key. The response includes X-RateLimit-Remaining and Retry-After headers on 429s.
  • Keys can be revoked instantly from Settings → API Keys without affecting other keys.

Code samples

Copy-paste examples for the three most common runtimes.

cURL

curl https://app.yapii.com/api/contacts \
  -H "Authorization: Bearer zk_live_…"

JavaScript

const res = await fetch("https://app.yapii.com/api/contacts", {
  headers: { Authorization: "Bearer zk_live_…" },
});
const { data } = await res.json();

Python

import requests

r = requests.get(
    "https://app.yapii.com/api/contacts",
    headers={"Authorization": "Bearer zk_live_…"},
)
data = r.json()

Resource groups

The API is organized into five logical groups matching the Yapii data model.

Contacts

Create, read, update, delete, and bulk-import contacts. Includes full-text search, custom fields, and tag management.

Campaigns

Trigger email and SMS campaigns, check delivery status, and pull engagement analytics per campaign.

Signals

Query behavioral signals and seller-score inputs attached to any contact. Read-only resource group.

Agents

Manage AI agent configurations, handoffs, and team assignments. Build custom orchestration on top of Claire and the agent platform.

API Keys

Programmatically list and revoke API keys from your workspace. Requires owner or admin role.

Billing

Retrieve plan limits, usage counters, and Stripe checkout session URLs for upgrading or managing subscriptions.

Full API Reference

Interactive documentation generated directly from the OpenAPI spec. Use Try it out to test endpoints with your own API key.