Create Channel
curl --request POST \
--url https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"region": "global",
"retentionSeconds": 43200,
"presenceEnabled": true,
"maxConnections": 5000,
"maxMessagesPerSecond": 1250
}
'import requests
url = "https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels"
payload = {
"name": "<string>",
"region": "global",
"retentionSeconds": 43200,
"presenceEnabled": True,
"maxConnections": 5000,
"maxMessagesPerSecond": 1250
}
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({
name: '<string>',
region: 'global',
retentionSeconds: 43200,
presenceEnabled: true,
maxConnections: 5000,
maxMessagesPerSecond: 1250
})
};
fetch('https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels', 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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels",
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([
'name' => '<string>',
'region' => 'global',
'retentionSeconds' => 43200,
'presenceEnabled' => true,
'maxConnections' => 5000,
'maxMessagesPerSecond' => 1250
]),
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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"region\": \"global\",\n \"retentionSeconds\": 43200,\n \"presenceEnabled\": true,\n \"maxConnections\": 5000,\n \"maxMessagesPerSecond\": 1250\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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"region\": \"global\",\n \"retentionSeconds\": 43200,\n \"presenceEnabled\": true,\n \"maxConnections\": 5000,\n \"maxMessagesPerSecond\": 1250\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels")
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 \"name\": \"<string>\",\n \"region\": \"global\",\n \"retentionSeconds\": 43200,\n \"presenceEnabled\": true,\n \"maxConnections\": 5000,\n \"maxMessagesPerSecond\": 1250\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"environment": "<string>",
"status": "ready",
"region": "global",
"retentionSeconds": 43200,
"presenceEnabled": true,
"maxConnections": 5000,
"maxMessagesPerSecond": 1250,
"deliveryGuarantee": "at-most-once-live",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}realtime
Create Channel
Create a globally routed channel. Retention is disabled by default; enabling it permits bounded ordered replay.
POST
/
v1
/
orgs
/
{orgId}
/
projects
/
{projectId}
/
realtime
/
channels
Create Channel
curl --request POST \
--url https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"region": "global",
"retentionSeconds": 43200,
"presenceEnabled": true,
"maxConnections": 5000,
"maxMessagesPerSecond": 1250
}
'import requests
url = "https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels"
payload = {
"name": "<string>",
"region": "global",
"retentionSeconds": 43200,
"presenceEnabled": True,
"maxConnections": 5000,
"maxMessagesPerSecond": 1250
}
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({
name: '<string>',
region: 'global',
retentionSeconds: 43200,
presenceEnabled: true,
maxConnections: 5000,
maxMessagesPerSecond: 1250
})
};
fetch('https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels', 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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels",
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([
'name' => '<string>',
'region' => 'global',
'retentionSeconds' => 43200,
'presenceEnabled' => true,
'maxConnections' => 5000,
'maxMessagesPerSecond' => 1250
]),
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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"region\": \"global\",\n \"retentionSeconds\": 43200,\n \"presenceEnabled\": true,\n \"maxConnections\": 5000,\n \"maxMessagesPerSecond\": 1250\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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"region\": \"global\",\n \"retentionSeconds\": 43200,\n \"presenceEnabled\": true,\n \"maxConnections\": 5000,\n \"maxMessagesPerSecond\": 1250\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/realtime/channels")
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 \"name\": \"<string>\",\n \"region\": \"global\",\n \"retentionSeconds\": 43200,\n \"presenceEnabled\": true,\n \"maxConnections\": 5000,\n \"maxMessagesPerSecond\": 1250\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"environment": "<string>",
"status": "ready",
"region": "global",
"retentionSeconds": 43200,
"presenceEnabled": true,
"maxConnections": 5000,
"maxMessagesPerSecond": 1250,
"deliveryGuarantee": "at-most-once-live",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}Authorizations
apiKeysession
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The organization's id (UUID) or slug — either form is accepted.
The project's id (UUID) or slug — either form is accepted.
Query Parameters
Environment slug to scope this operation to. Defaults to "production". An environment that does not exist on the project answers 404. The channel is created in this environment.
Pattern:
^[a-z][a-z0-9-]{0,38}$Body
application/json
Response
Channel ready.
Pattern:
^[a-z][a-z0-9-]{1,61}$Available options:
ready, paused, failed Realtime channels are globally routed. The platform does not promise a storage jurisdiction.
Available options:
global Required range:
0 <= x <= 86400Required range:
1 <= x <= 10000Required range:
1 <= x <= 2500Available options:
at-most-once-live