Skip to content
Meshi Docs
Getting started Meshi Partner API

Getting started

Meshi Partner API

One REST contract for events, attendees, enrichment and matching — with the IDs from your own system, not ours.


Welcome. If you run events and you want the people at them to meet the right people, this is the API that does it.

You send us an event and the people coming to it, keyed by whatever IDs your own system already uses. We enrich those people, work out who is worth whose time, and hand back matches you can put in front of them. Nothing here asks you to adopt our identifiers or to keep a second copy of your roster in sync.

Most integrations are working end to end in an afternoon. The sequence is short, every long-running step is a run you poll, and every error tells you what to do about it.

Two ways in

What you can build

  • Create and manage events and sessions you own.
  • Import attendees using the IDs from your own system.
  • Enrich those attendees, and review the ones we are unsure about.
  • Run matching, and page through the results with scores.
  • Poll every long-running step to a terminal status.
  • Handle errors, rate limits, idempotent retries and correlation IDs the same way everywhere.

The shape of an integration

Where to send it

Every path in these docs is relative to one base URL. GET /auth means GET "$MESHI_BASE/auth".

Production

export MESHI_BASE="https://api.meshi.io/api/v0/partner"
export MESHI_KEY="<MESHI_PARTNER_PRODUCTION_KEY>"

Use this for live partner traffic.

Staging

export MESHI_BASE="https://api.staging.meshi.io/api/v0/partner"
export MESHI_KEY="<MESHI_PARTNER_STAGING_KEY>"

Use this while building and validating an integration.

The older /v0/partner base is still served as a transition alias. Use /api/v0/partner for anything new.

How you authenticate

One org-scoped service-account key, on every request:

Authorization: Bearer <MESHI_PARTNER_KEY>

We issue keys, show them once, and store only a hash. Use a separate key for staging and production — a staging key will not work against production, and that is deliberate.

Whose IDs you use

Yours. You supply event_id, session_id and attendee_id, and we map them to our records. Roster and match responses also carry an entity_id so you can address someone who was already in Meshi before you imported anything; that handle belongs to one event and is accepted only by the side-update, match, pair and exclusion operations that document it.

What happens asynchronously

Imports, enrichment and matching return a run straight away. Poll GET /runs/:run_id until it reaches succeeded, partial or failed.

You can send a webhook_url and we will echo it back on the run, but v0 does not deliver webhooks. Poll.

Where to go next

Your first request

A key, an environment, and one call that proves both are right. Get started.

The canonical flow

Create the event, import the people, enrich, match, poll. Walk the flow.

Identity and IDs

What you own, what we own, and what happens when they disagree. The identity model.

Errors and limits

Retries, idempotency keys, rate limits, and what each failure means. Errors and limits.

When you know the flow, the endpoint reference has every route, the OpenAPI contract is machine-readable, and the changelog is where contract changes land.

Was this page helpful?