Create a Conversation Group
curl --request POST \
--url https://schoolmaker.co/api/v1/conversations/groups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"message": "<string>",
"member_participants": [
"<string>"
],
"title": "<string>",
"sender_id": "school_owner_id",
"user_participants": [
"<string>"
]
}
'import requests
url = "https://schoolmaker.co/api/v1/conversations/groups"
payload = {
"message": "<string>",
"member_participants": ["<string>"],
"title": "<string>",
"sender_id": "school_owner_id",
"user_participants": ["<string>"]
}
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({
message: '<string>',
member_participants: ['<string>'],
title: '<string>',
sender_id: 'school_owner_id',
user_participants: ['<string>']
})
};
fetch('https://schoolmaker.co/api/v1/conversations/groups', 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://schoolmaker.co/api/v1/conversations/groups",
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([
'message' => '<string>',
'member_participants' => [
'<string>'
],
'title' => '<string>',
'sender_id' => 'school_owner_id',
'user_participants' => [
'<string>'
]
]),
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://schoolmaker.co/api/v1/conversations/groups"
payload := strings.NewReader("{\n \"message\": \"<string>\",\n \"member_participants\": [\n \"<string>\"\n ],\n \"title\": \"<string>\",\n \"sender_id\": \"school_owner_id\",\n \"user_participants\": [\n \"<string>\"\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://schoolmaker.co/api/v1/conversations/groups")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"message\": \"<string>\",\n \"member_participants\": [\n \"<string>\"\n ],\n \"title\": \"<string>\",\n \"sender_id\": \"school_owner_id\",\n \"user_participants\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://schoolmaker.co/api/v1/conversations/groups")
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 \"message\": \"<string>\",\n \"member_participants\": [\n \"<string>\"\n ],\n \"title\": \"<string>\",\n \"sender_id\": \"school_owner_id\",\n \"user_participants\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"group_id": "<string>"
}Conversations
Create a Conversation Group
Creates a conversation group and sends its first message to the selected participants. The message can contain plain text or supported Markdown.
POST
/
conversations
/
groups
Create a Conversation Group
curl --request POST \
--url https://schoolmaker.co/api/v1/conversations/groups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"message": "<string>",
"member_participants": [
"<string>"
],
"title": "<string>",
"sender_id": "school_owner_id",
"user_participants": [
"<string>"
]
}
'import requests
url = "https://schoolmaker.co/api/v1/conversations/groups"
payload = {
"message": "<string>",
"member_participants": ["<string>"],
"title": "<string>",
"sender_id": "school_owner_id",
"user_participants": ["<string>"]
}
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({
message: '<string>',
member_participants: ['<string>'],
title: '<string>',
sender_id: 'school_owner_id',
user_participants: ['<string>']
})
};
fetch('https://schoolmaker.co/api/v1/conversations/groups', 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://schoolmaker.co/api/v1/conversations/groups",
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([
'message' => '<string>',
'member_participants' => [
'<string>'
],
'title' => '<string>',
'sender_id' => 'school_owner_id',
'user_participants' => [
'<string>'
]
]),
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://schoolmaker.co/api/v1/conversations/groups"
payload := strings.NewReader("{\n \"message\": \"<string>\",\n \"member_participants\": [\n \"<string>\"\n ],\n \"title\": \"<string>\",\n \"sender_id\": \"school_owner_id\",\n \"user_participants\": [\n \"<string>\"\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://schoolmaker.co/api/v1/conversations/groups")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"message\": \"<string>\",\n \"member_participants\": [\n \"<string>\"\n ],\n \"title\": \"<string>\",\n \"sender_id\": \"school_owner_id\",\n \"user_participants\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://schoolmaker.co/api/v1/conversations/groups")
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 \"message\": \"<string>\",\n \"member_participants\": [\n \"<string>\"\n ],\n \"title\": \"<string>\",\n \"sender_id\": \"school_owner_id\",\n \"user_participants\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"group_id": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
The message to send. Accepts plain text or supported Markdown. Markdown is rendered as rich text in SchoolMaker. Existing plain-text messages remain supported.
Array of member email addresses or member IDs
The title is optional, by default it will just be the names of the participants
The ID of the admin or moderator sender. Default is the school owner.
Array of user email addresses or user IDs
Response
201 - application/json
Group created
The ID of the created conversation group
Was this page helpful?