For AI agents & developers

Your agent can run
the whole thing.

Everything you can do in eKard — your cards, contacts, documents, QR codes, designs, analytics and every booking — an AI agent can do for you through the Agent API. One key, plain JSON, and a reference written for agents to read.

REST & JSON·OpenAPI 3.1·llms.txt

Try asking

Say it the way you'd say it to an assistant.

Each request is a few calls to the API, and the agent works out which. These are the calls behind a few everyday asks.

“Book Priya for a haircut on Friday”

  1. GET /api/v1/kards/{share_link}/offerings Find the haircut, and Priya among the people who do it.
  2. GET /api/v1/kards/{share_link}/availability Friday's open times with Priya.
  3. POST /api/v1/kards/{share_link}/bookings Book the time. The client gets the confirmation and reminders.

“What does my Tuesday look like?”

  1. GET /api/v1/bookings Every booking on Tuesday, across the calendars the account runs, earliest first.

“Add a team member's hours”

  1. PATCH /api/v1/calendars/{calendar_id}/providers/{provider_id}/hours Set the weekly hours; online booking follows them at once.

“Move Ananya's 3 pm to 4 pm”

  1. GET /api/v1/bookings Find the booking.
  2. PATCH /api/v1/kards/{share_link}/bookings/{id} Give it the new time. Ananya's link and reminders follow.

“Add the people I met at the trade fair”

  1. POST /api/v1/kards/{share_link}/events Create the event, once.
  2. POST /api/v1/kards/{share_link}/contacts Add each person, tagged with the event.

“How did my card do this month?”

  1. GET /api/v1/kards/{share_link}/analytics Visits, sources, devices and new contacts over 30 days.

Start in three steps

One key, and you're in.

  1. Get the key

    Sign in, then choose AI Agents in the menu under your name, top right. The page shows your account's key and a block to paste into any agent: the key, the address of the reference, and how to use them.

  2. Hand it over

    Paste the block into your agent, or give it the key and ekard.app/api/v1/docs. It sends the key with every request.

  3. Ask

    Start with “What can you do with my eKard?”. The agent reads the reference and answers in plain words, then gets on with what you ask.

Good to know

One key, the whole account.The key can do anything you can, so give it only to agents you trust. Replace it on the AI Agents page at any time; the old key stops working at once.

It asks before it deletes.The reference tells agents to check with you before deleting anything, publishing over a live design or cancelling your plan.

Bookings reach real people.A booking an agent makes sends the client a confirmation and reminders, just like one made at your front desk.

Limits keep it safe.Booking changes have their own limits; an agent that reaches one is told how long to wait before trying again.

Where to point your agent

Written for machines to read.

curl -H "Authorization: Bearer $API_KEY" https://ekard.app/api/v1/me

What an agent can do

Everything you can, over HTTP.

The API mirrors the web app, with the same permissions: an organization's bookings are its admins' only, and what an account can't do on the web it can't do here.

Account

The account behind the key, and its plan.

  • The account, its plan and counts
  • The current plan
  • Cancel the plan at the end of the billing period

Kards

Digital business cards, addressed by share_link.

  • Every kard the account owns, newest first
  • Create a kard
  • One kard in full
  • Update a kard
  • Delete a kard and everything under it

Analytics

Visits, devices, sources and contacts, per kard and per account.

  • Visits and contacts for every kard the account owns
  • One kard's performance

Contacts

People who sent their details through a kard (leads).

  • Contacts across all the account's kards, newest first
  • One kard's contacts
  • Add a lead by hand
  • One kard's contacts as a CSV file
  • One contact
  • Update a contact
  • Delete a contact

Events

Named lead-capture buckets, such as a trade fair; contacts can carry an event_id.

  • A kard's events
  • Create an event
  • One event
  • Update an event
  • Delete an event (its contacts stay, detached)

Documents

Files on a kard, each with a stable public URL and QR code, and an optional custom landing page.

  • A kard's documents
  • Upload a document
  • One document
  • Rename a document or change its slug
  • Delete a document
  • Replace a document's file, keeping its slug, URL and QR code
  • A document's landing page
  • Save the landing page's draft (and publish it with `publish`)
  • Publish the landing page's draft
  • Take the landing page down (the QR opens the file again; the draft stays)

QR code

The kard's QR code design, logo and image.

  • The kard's QR design and image URLs
  • Restyle the QR code, set or remove its logo, or reset it
  • Re-render the stored QR image

Custom design

The kard's own HTML page, with drafts, publishing, history, checkpoints and templates.

  • The kard's custom HTML page
  • Save the draft (and publish it with `publish`)
  • Publish the draft as the kard's page
  • Return to the standard layout (the draft stays)
  • The last 50 versions of the design
  • Make an earlier version the draft (nothing goes live until publish)
  • Name the current draft as a safety point (up to 25)
  • The built-in templates
  • Make a template the draft (the previous draft stays in the history)

Organizations

Organizations where the account is an admin.

  • The account's organizations, with its role in each
  • One organization (admins only)
  • Configure an organization (admins only)
  • Every kard in an organization (admins only)

Bookmarks

Other kards this account saved.

  • Kards this account saved, newest first
  • Bookmark any public kard
  • Remove a bookmark

Bookings

The booking calendars this account manages, and what can be booked from a kard.

  • Bookings across every calendar the account manages, earliest first
  • What can be booked from a kard
  • Open times for a visit, by local date
  • Bookings of the calendar behind a kard
  • Book like the front desk
  • One booking
  • Move a booking, or change its status

Calendar

The booking calendar behind the kards: appointments, meetings, clients and the front desk. A key does in Calendar exactly what its person can do on the web, on the same roles (admin, front desk, staff); a calendar it has no role on answers 404, like one that doesn't exist.

  • The calendars this account works in, with its role on each
  • One calendar, with its team, features and menu
  • The desk's day or week
  • Free times for a visit, or for moving a booking
  • Why a time isn't free, person by person
  • The calendar's bookings, earliest first
  • Book like the front desk, or add a walk-in
  • One booking, as the desk's booking sheet shows it
  • Change the team's note on a booking
  • Mark a visit arrived
  • Mark a visit completed
  • Mark a no-show
  • Undo arrived, completed or no-show
  • Approve a request
  • Decline a request
  • Cancel a booking, as the business
  • Move a booking to a new time or person
  • Make a visit longer or shorter
  • Mark a booking confirmed
  • Mark a visit paid, or change what was recorded
  • Mark a visit not paid after all
  • Mark the client's advance received
  • Mark the advance not received after all
  • Say whether a cancelled visit's advance was refunded or kept
  • Forget whether the advance was refunded or kept
  • The calendar's clients, or a search
  • Add a client
  • The clients as a CSV file
  • One client, as the client's page shows them
  • Change a client
  • Merge a possible duplicate onto the older record
  • Unlink a possible duplicate (not the same person)
  • What was marked paid over a range of days
  • The paid visits as a CSV file
  • Blocked time and closures over a range of days
  • Block time for one person, or close the whole business
  • Remove blocked time or a closure

Calendar setup

Set a calendar up and keep it right: the kind of business and its settings, the menu, the team with their hours and time off, single-use booking links, who signs in, webhooks, importing a price list or clients, and syncing with Google Calendar or Outlook. Mostly for the calendar's admins.

  • Set a calendar up, with the setup wizard's choices
  • The kinds of business a calendar can be, with their starter menus
  • The calendar's settings
  • Change the calendar's settings
  • Everything for sharing the booking page
  • A new private feed link for the whole calendar
  • Single-use booking links, newest first
  • Make a single-use booking link
  • Delete a single-use booking link
  • The menu, in order
  • Add something to the menu
  • One offering, with its bookings so far
  • Change an offering, or switch it off or on
  • Delete an offering that was never booked
  • Move an offering up or down within its category
  • Price-list imports, and whether one can start now
  • Send a price list to be read
  • One price-list import, with its rows once read
  • Discard a price-list import
  • Add a read price list to the menu
  • The photo or PDF of a price list
  • Read a price list again after the reading service failed
  • The team, in order, and team Kards not on it yet
  • Add someone to the team
  • One team member, as their page shows them
  • Change a team member, or switch them off or on
  • Take someone off the team
  • Move someone up or down the team
  • A team member's weekly hours
  • Change a team member's weekly hours
  • A team member's upcoming special days
  • Set different hours on one date, or a day off
  • Put a date back to the usual hours
  • A team member's upcoming time off, breaks and blocked time
  • Add time off, a break or blocked time for a team member
  • Remove a team member's time off, break or blocked time
  • A new private "My day" link for a team member
  • A new private calendar-feed link for a team member
  • Who signs in to the calendar
  • Remove a front-desk or staff login's access
  • Open front-desk and staff invitations
  • Invite someone to sign in, as front desk or as a team member
  • Cancel an open invitation
  • Send an open invitation again
  • Webhook endpoints, and the events they can get
  • Add a webhook endpoint
  • Change a webhook endpoint, or switch it back on
  • Remove a webhook endpoint
  • Send a webhook endpoint a test event
  • Give a webhook endpoint a new signing secret
  • Where clients can be imported from
  • Import clients from a spreadsheet or the Kards' contacts, or preview it
  • The key's own Google Calendar or Outlook connection
  • Choose the calendars to check, and where bookings go
  • Disconnect Google Calendar or Outlook
  • Add upcoming bookings that aren't in the synced calendar yet

Hand it over

ekard.app/api/v1

Get your API key

Every account has one. Sign in, copy it, paste it into your agent.