Partner API
Invite users to a customer workspace
Sends the normal meetergo invite email. Partners never set passwords.
POST
/
v4
/
partner
/
customers
/
{companyId}
/
users
Invite users to a customer workspace
curl --request POST \
--url https://api.meetergo.com/v4/partner/customers/{companyId}/users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"emails": [
"jsmith@example.com"
]
}
'import requests
url = "https://api.meetergo.com/v4/partner/customers/{companyId}/users"
payload = { "emails": ["jsmith@example.com"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({emails: ['jsmith@example.com']})
};
fetch('https://api.meetergo.com/v4/partner/customers/{companyId}/users', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meetergo.com/v4/partner/customers/{companyId}/users",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'emails' => [
'jsmith@example.com'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.meetergo.com/v4/partner/customers/{companyId}/users"
payload := strings.NewReader("{\n \"emails\": [\n \"jsmith@example.com\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.meetergo.com/v4/partner/customers/{companyId}/users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"emails\": [\n \"jsmith@example.com\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetergo.com/v4/partner/customers/{companyId}/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"emails\": [\n \"jsmith@example.com\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"processedEmails": [
"<string>"
],
"unprocessedEmails": [
"<string>"
],
"deliveryFailedEmails": [
"<string>"
]
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}Authorizations
Partner API only (/v4/partner/*): a Partner API key (format: mgp_) from the Partner portal. Its workspace tokens (mgw…) authenticate on the other Platform API endpoints like an API key, for one customer workspace.
Path Parameters
The managed customer workspace (company id)
Body
application/json
Required array length:
1 - 100 elementsPattern:
^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$⌘I
Invite users to a customer workspace
curl --request POST \
--url https://api.meetergo.com/v4/partner/customers/{companyId}/users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"emails": [
"jsmith@example.com"
]
}
'import requests
url = "https://api.meetergo.com/v4/partner/customers/{companyId}/users"
payload = { "emails": ["jsmith@example.com"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({emails: ['jsmith@example.com']})
};
fetch('https://api.meetergo.com/v4/partner/customers/{companyId}/users', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meetergo.com/v4/partner/customers/{companyId}/users",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'emails' => [
'jsmith@example.com'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.meetergo.com/v4/partner/customers/{companyId}/users"
payload := strings.NewReader("{\n \"emails\": [\n \"jsmith@example.com\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.meetergo.com/v4/partner/customers/{companyId}/users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"emails\": [\n \"jsmith@example.com\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetergo.com/v4/partner/customers/{companyId}/users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"emails\": [\n \"jsmith@example.com\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"processedEmails": [
"<string>"
],
"unprocessedEmails": [
"<string>"
],
"deliveryFailedEmails": [
"<string>"
]
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}