Account Invitations
Create account invitation
Invite someone to the current account and email them the invitation.
If an invitation already exists for that email address it is resent
rather than duplicated, and the response is 200 instead of 201.
Invited users join as account admins.
POST
/
account-invitations
Create account invitation
curl --request POST \
--url https://cookiechimp.com/api/v1/account-invitations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_invitation": {
"name": "Grace Hopper",
"email": "newmember@cookiechimp.com"
}
}
'import requests
url = "https://cookiechimp.com/api/v1/account-invitations"
payload = { "account_invitation": {
"name": "Grace Hopper",
"email": "newmember@cookiechimp.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({account_invitation: {name: 'Grace Hopper', email: 'newmember@cookiechimp.com'}})
};
fetch('https://cookiechimp.com/api/v1/account-invitations', 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://cookiechimp.com/api/v1/account-invitations",
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([
'account_invitation' => [
'name' => 'Grace Hopper',
'email' => 'newmember@cookiechimp.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://cookiechimp.com/api/v1/account-invitations"
payload := strings.NewReader("{\n \"account_invitation\": {\n \"name\": \"Grace Hopper\",\n \"email\": \"newmember@cookiechimp.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://cookiechimp.com/api/v1/account-invitations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"account_invitation\": {\n \"name\": \"Grace Hopper\",\n \"email\": \"newmember@cookiechimp.com\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cookiechimp.com/api/v1/account-invitations")
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 \"account_invitation\": {\n \"name\": \"Grace Hopper\",\n \"email\": \"newmember@cookiechimp.com\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "inv123",
"name": "Grace Hopper",
"email": "newmember@cookiechimp.com",
"invite_url": "https://cookiechimp.com/account_invitations/inv123",
"roles": {
"admin": true
},
"created_at": "2023-01-25T09:30:20Z",
"updated_at": "2023-01-25T09:30:20Z",
"invited_by": {
"id": "usr123",
"name": "Ada Lovelace",
"email": "admin@example.com"
}
}
}{
"data": {
"id": "inv123",
"name": "Grace Hopper",
"email": "newmember@cookiechimp.com",
"invite_url": "https://cookiechimp.com/account_invitations/inv123",
"roles": {
"admin": true
},
"created_at": "2023-01-25T09:30:20Z",
"updated_at": "2023-01-25T09:30:20Z",
"invited_by": {
"id": "usr123",
"name": "Ada Lovelace",
"email": "admin@example.com"
}
}
}{
"errors": [
{
"code": 401,
"message": "API key must belong to an account"
}
]
}{
"errors": [
{
"error": "Name can't be blank"
}
]
}{
"errors": [
{
"code": 429,
"message": "Too many requests. Please retry later."
}
]
}Authorizations
API token obtained from the login endpoint or the dashboard
Body
application/json
Invitation to create
Show child attributes
Show child attributes
Response
An invitation already existed for this email and was resent
Show child attributes
Show child attributes
Example:
{
"id": "inv123",
"name": "Grace Hopper",
"email": "newmember@cookiechimp.com",
"invite_url": "https://cookiechimp.com/account_invitations/inv123",
"roles": { "admin": true },
"created_at": "2023-01-25T09:30:20Z",
"updated_at": "2023-01-25T09:30:20Z",
"invited_by": {
"id": "usr123",
"name": "Ada Lovelace",
"email": "admin@example.com"
}
}
Was this page helpful?
⌘I
Create account invitation
curl --request POST \
--url https://cookiechimp.com/api/v1/account-invitations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_invitation": {
"name": "Grace Hopper",
"email": "newmember@cookiechimp.com"
}
}
'import requests
url = "https://cookiechimp.com/api/v1/account-invitations"
payload = { "account_invitation": {
"name": "Grace Hopper",
"email": "newmember@cookiechimp.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({account_invitation: {name: 'Grace Hopper', email: 'newmember@cookiechimp.com'}})
};
fetch('https://cookiechimp.com/api/v1/account-invitations', 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://cookiechimp.com/api/v1/account-invitations",
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([
'account_invitation' => [
'name' => 'Grace Hopper',
'email' => 'newmember@cookiechimp.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://cookiechimp.com/api/v1/account-invitations"
payload := strings.NewReader("{\n \"account_invitation\": {\n \"name\": \"Grace Hopper\",\n \"email\": \"newmember@cookiechimp.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://cookiechimp.com/api/v1/account-invitations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"account_invitation\": {\n \"name\": \"Grace Hopper\",\n \"email\": \"newmember@cookiechimp.com\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cookiechimp.com/api/v1/account-invitations")
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 \"account_invitation\": {\n \"name\": \"Grace Hopper\",\n \"email\": \"newmember@cookiechimp.com\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "inv123",
"name": "Grace Hopper",
"email": "newmember@cookiechimp.com",
"invite_url": "https://cookiechimp.com/account_invitations/inv123",
"roles": {
"admin": true
},
"created_at": "2023-01-25T09:30:20Z",
"updated_at": "2023-01-25T09:30:20Z",
"invited_by": {
"id": "usr123",
"name": "Ada Lovelace",
"email": "admin@example.com"
}
}
}{
"data": {
"id": "inv123",
"name": "Grace Hopper",
"email": "newmember@cookiechimp.com",
"invite_url": "https://cookiechimp.com/account_invitations/inv123",
"roles": {
"admin": true
},
"created_at": "2023-01-25T09:30:20Z",
"updated_at": "2023-01-25T09:30:20Z",
"invited_by": {
"id": "usr123",
"name": "Ada Lovelace",
"email": "admin@example.com"
}
}
}{
"errors": [
{
"code": 401,
"message": "API key must belong to an account"
}
]
}{
"errors": [
{
"error": "Name can't be blank"
}
]
}{
"errors": [
{
"code": 429,
"message": "Too many requests. Please retry later."
}
]
}