curl --request GET \
--url https://api.replicas.dev/v1/workspaces \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.replicas.dev/v1/workspaces"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.replicas.dev/v1/workspaces', 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.replicas.dev/v1/workspaces",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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.replicas.dev/v1/workspaces"
req, _ := http.NewRequest("GET", 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.get("https://api.replicas.dev/v1/workspaces")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replicas.dev/v1/workspaces")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"workspaces": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "active",
"created_at": "2023-11-07T05:31:56Z",
"last_activity_at": "2023-11-07T05:31:56Z",
"source_link": {
"source": "slack",
"url": "<string>",
"label": "<string>"
}
}
],
"total": 123,
"page": 123,
"limit": 123,
"totalPages": 123,
"workspace_repositories": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"provider": "github",
"name": "<string>",
"url": "<string>",
"default_branch": "<string>"
}
],
"workspace_pull_requests": [
{
"workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "open",
"url": "<string>"
}
],
"workspace_turn_completed_at": {},
"creator_names": {},
"creator_avatar_urls": {},
"shared_with": {},
"viewer_share_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"contributors": {}
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}List Workspaces
Returns paginated workspaces with repository associations and pull request states.
curl --request GET \
--url https://api.replicas.dev/v1/workspaces \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.replicas.dev/v1/workspaces"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.replicas.dev/v1/workspaces', 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.replicas.dev/v1/workspaces",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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.replicas.dev/v1/workspaces"
req, _ := http.NewRequest("GET", 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.get("https://api.replicas.dev/v1/workspaces")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replicas.dev/v1/workspaces")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"workspaces": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "active",
"created_at": "2023-11-07T05:31:56Z",
"last_activity_at": "2023-11-07T05:31:56Z",
"source_link": {
"source": "slack",
"url": "<string>",
"label": "<string>"
}
}
],
"total": 123,
"page": 123,
"limit": 123,
"totalPages": 123,
"workspace_repositories": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"provider": "github",
"name": "<string>",
"url": "<string>",
"default_branch": "<string>"
}
],
"workspace_pull_requests": [
{
"workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "open",
"url": "<string>"
}
],
"workspace_turn_completed_at": {},
"creator_names": {},
"creator_avatar_urls": {},
"shared_with": {},
"viewer_share_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"contributors": {}
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}{
"error": "<string>",
"details": "<string>",
"code": "<string>"
}Authorizations
API key authentication. Obtain your API key from the Replicas dashboard under Organization → Settings → API Keys.
Query Parameters
x >= 1x >= 1Filter workspaces by name.
Comma-separated workspace views, such as owned,shared.
Controls whether archived workspaces are included.
include, exclude, only Comma-separated workspace IDs (max 100) to fetch directly, e.g. pinned workspaces beyond the loaded pages. Visibility filters still apply.
Response
Successful response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Latest completed turn timestamp by workspace ID.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Users who have sent messages in each workspace, keyed by workspace ID. A workspace with no messages yet is absent; clients fall back to creator_names and creator_avatar_urls.
Show child attributes
Show child attributes