Create customer workspaces with the Partner API
Create customer workspaces from your own checkout or backend with a partner API key.
The Partner API creates customer workspaces from your own system, for example when an order is paid. Each call follows the same rules as Add customer in the Partner portal.
Before you begin
- Your Partner company has approved commercial terms, and you accepted the current Partner Terms.
- You are an admin of your Partner company.
- For Partner pays meetergo, the Partner billing setup is complete. See Create and set up a customer workspace.
Create an API key
- Open Partner portal > API.
- Select Create API key and give the key a name, for example "Production".
- Copy the key. It starts with
mgp_and is shown only once.
Store the key as a secret on your server. Never put it in a website or app: anyone with the key can create workspaces billed to you.
The key acts with your admin rights. It stops working when you revoke it, or when the person who created it is no longer an admin of your Partner company. You can have two active keys, so you can switch to a new key before revoking the old one.
Authentication
Send the key as a bearer token on every request:
Authorization: Bearer mgp_...
Base URL: https://api.meetergo.com
Create a customer
POST /v4/partner/customers
curl -X POST https://api.meetergo.com/v4/partner/customers \
-H "Authorization: Bearer $MEETERGO_PARTNER_KEY" \
-H "Content-Type: application/json" \
-d '{
"requestId": "6f1c2a8e-3b4d-4e5f-8a9b-0c1d2e3f4a5b",
"companyName": "Friseur Muster",
"adminFirstName": "Max",
"adminLastName": "Muster",
"adminEmail": "max@friseur-muster.de",
"language": "de",
"timezone": "Europe/Berlin",
"billingResponsibility": "partner",
"suiteTier": "suite",
"communicationOwner": "partner",
"contactConsentConfirmed": true
}'
| Field | Required | Meaning |
|---|---|---|
requestId | Yes | A UUID you create once per order. Makes retries safe. |
companyName | Yes | Name of the customer's company. |
adminFirstName, adminLastName | Yes | Name of the customer's first admin. |
adminEmail | Yes | Receives the invite. Must not have a meetergo account yet. |
language | Yes | Language for emails and the booking page, for example de. |
timezone | Yes | For example Europe/Berlin. |
billingResponsibility | Yes | partner: on your monthly Partner invoice. customer: the customer pays meetergo. |
suiteTier | For partner | light, suite or premium. |
communicationOwner | Yes | partner or meetergo: who contacts the customer about their account. |
contactConsentConfirmed | Yes | Must be true. Confirms the customer agreed to be set up and contacted. |
partnerRetailPricePerSeatEur | No | Your own price per seat, for your overview only, for example "19.00". |
extraEmails | No | More team members to invite, up to 100. |
The response contains the new customer with its companyId and bookingPageUrl. The customer's admin gets an invite email and sets their own password. The booking page takes bookings right away, before they accept.
Create requestId once per order and store it. If a request times out, send it again with the same requestId. You get the existing customer back instead of a second workspace.
List and read customers
curl "https://api.meetergo.com/v4/partner/customers?limit=50&offset=0" \
-H "Authorization: Bearer $MEETERGO_PARTNER_KEY"
curl https://api.meetergo.com/v4/partner/customers/{companyId} \
-H "Authorization: Bearer $MEETERGO_PARTNER_KEY"
The list returns your active customers, newest first. limit is 1 to 100. hasMore tells you whether another page exists.
Embed the booking page
Put the returned bookingPageUrl on the customer's website:
<div style="min-width:330px" class="meetergo-iframe" data-src="{bookingPageUrl}"></div>
<script src="https://cdn.meetergo.com/v4/integration.js"></script>
Errors
Errors return JSON with statusCode and message.
| Status | Meaning |
|---|---|
| 400 | The body is invalid. message lists each field and the problem. |
| 401 | The key is missing, wrong or revoked, or its creator is no longer an admin. |
| 403 | Your Partner access is inactive, or the current Partner Terms are not accepted yet. |
| 404 | No active customer with this companyId belongs to you. |
| 409 | The email already has an account, the requestId was used with different details, or Partner billing is not set up. |
| 429 | Too many requests. Wait a moment and retry with the same requestId. |
Revoke a key
Open Partner portal > API and select Revoke next to the key. Requests with it fail immediately. Customers you already created are not affected.
Was this article helpful?
Let us know if this article answered your questions.
Related articles
- Partner access, handover, and revocationUnderstand portal access, customer workspace access, commercial handover, and approval revocation.
- Partner billing, monthly statements, and invoicesSet up Stripe billing, understand month-end statements, and manage automatic Partner invoice collection.
- Partner content kit and media kitKeywords, video script skeletons, prompts, blog briefs, webinar format, and brand assets for meetergo Partners who publish content.
- Partner levels, pricing, and commissionSee how eligible revenue sets Refer commission and Resell wholesale discounts for meetergo Partners.