Matchai Docs

Invite a professional to a projectComing soon

Invites a professional to the project. They join when they accept.

Coming soon. This is documented ahead of launch so you can plan your integration; it is not available yet.
POST
/projects/{project_id}/invitations

Coming soon. Invites a professional to the project. They join when they accept.

Final action. When the connection is set to Ask me, this call returns 202 with an approval_url and does nothing until the account holder approves it in Matchai; Matchai then performs it exactly as sent and sends approval.resolved. When the connection is set to Allowed, it runs straight away.

Scopes: projects:write

Pricing: Included with the connection.

Authorization

headerAuthorizationBearer <matchai_<base62>>

A personal API key, sent as Authorization: Bearer matchai_…. Create keys in Matchai under Settings → Connectors → Advanced (for developers). A key starts with matchai_ followed by letters and digits, carries the scopes chosen when it was created, and can be revoked at any time. Keys reach only the account that created them: to serve other professionals, use Connect with Matchai.

Scope: projects:write

Path Parameters

project_id*string

Project id.

Length1 <= length <= 64

Header Parameters

Idempotency-Key?string

A unique string (a UUID works). Retrying with the same key within 24 hours returns the first response instead of acting twice. Reusing a key with a different body returns 409 idempotency_key_reused.

Length1 <= length <= 255

Request Body

application/json
  1. body

Invites one of your contacts who is a Matchai professional, or anyone by email.

contact_id*unknown
email?string

Someone not in your contacts.

Formatemail
role?string

Defaults to member.

Value in"admin""member"
message?string

A personal note in the invitation.

Lengthlength <= 500

Response Body

The invitation.

application/json
  1. response
id*string

Invitation id.

Length1 <= length <= 64
target*
role*Role

owner: full control. admin: edit and manage. member: view.

Value in"owner""admin""member"
direction*string
Value in"sent""received"
status*string
Value in"pending""accepted""declined""expired""revoked"
invited*
invited_by*
delivery?|null
accept_url?|

For link invitations you sent: the link to pass on.

Formaturi
expires_at*string

Lapses.

Formatdate-time
created_at*string

Sent.

Formatdate-time
responded_at?|

Accepted or declined.

Formatdate-time
Example Request
curl -X POST 'https://api.matchai.co/v1/projects/string/invitations' \  -H 'Idempotency-Key: 6f1d3c2a-0b7e-4f5a-9c8d-1e2f3a4b5c6d' \  -H 'Content-Type: application/json' \  -d '{  "contact_id": null}'
Example Response
{  "id": "string",  "target": {    "type": "team",    "id": "string",    "name": "string"  },  "role": "owner",  "direction": "sent",  "status": "pending",  "invited": {    "display_name": "string",    "email": "user@example.com",    "phone": "string"  },  "invited_by": {    "user_id": "string",    "display_name": "string"  },  "delivery": {    "channel": "email",    "state": "pending"  },  "accept_url": "http://example.com",  "expires_at": "2019-08-24T14:15:22Z",  "created_at": "2019-08-24T14:15:22Z",  "responded_at": "2019-08-24T14:15:22Z"}