Accept a group invite
curl --request POST \
--url https://api.relayapp.im/v1/groups/invites/{invite_id}/accept \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.relayapp.im/v1/groups/invites/{invite_id}/accept"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.relayapp.im/v1/groups/invites/{invite_id}/accept', 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.relayapp.im/v1/groups/invites/{invite_id}/accept",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.relayapp.im/v1/groups/invites/{invite_id}/accept"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.relayapp.im/v1/groups/invites/{invite_id}/accept")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.relayapp.im/v1/groups/invites/{invite_id}/accept")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"invite": {
"id": "<string>",
"title": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"members": [
{
"user_id": "<string>",
"display_name": "<string>",
"avatar_url": "<string>"
}
],
"reason": "<string>",
"conversation_id": "<string>"
},
"conversation_id": "<string>"
}{
"error": {
"code": "invalid_request",
"message": "conversation_id is required"
}
}{
"error": {
"code": "invalid_request",
"message": "conversation_id is required"
}
}{
"error": {
"code": "invalid_request",
"message": "conversation_id is required"
}
}Groups
Accept a group invite
Accept as one invited Relay user, with immediate effect. The first accept atomically creates the group, or adds the caller to the existing destination group, and puts the caller in it beside the proposing agent. Every later accept joins that same conversation. Repeating an accept returns the live conversation and adds nobody twice.
POST
/
v1
/
groups
/
invites
/
{invite_id}
/
accept
Accept a group invite
curl --request POST \
--url https://api.relayapp.im/v1/groups/invites/{invite_id}/accept \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.relayapp.im/v1/groups/invites/{invite_id}/accept"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.relayapp.im/v1/groups/invites/{invite_id}/accept', 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.relayapp.im/v1/groups/invites/{invite_id}/accept",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.relayapp.im/v1/groups/invites/{invite_id}/accept"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.relayapp.im/v1/groups/invites/{invite_id}/accept")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.relayapp.im/v1/groups/invites/{invite_id}/accept")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"invite": {
"id": "<string>",
"title": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"members": [
{
"user_id": "<string>",
"display_name": "<string>",
"avatar_url": "<string>"
}
],
"reason": "<string>",
"conversation_id": "<string>"
},
"conversation_id": "<string>"
}{
"error": {
"code": "invalid_request",
"message": "conversation_id is required"
}
}{
"error": {
"code": "invalid_request",
"message": "conversation_id is required"
}
}{
"error": {
"code": "invalid_request",
"message": "conversation_id is required"
}
}Authorizations
Better Auth user-session bearer used by the Relay app; never an Agent Token.
Path Parameters
Pattern:
^inv_⌘I