Skip to main content
POST
/
workspaces
/
{workspaceName}
/
join
Accept invitation to workspace
curl --request POST \
  --url https://api.blaxel.ai/v0/workspaces/{workspaceName}/join \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.blaxel.ai/v0/workspaces/{workspaceName}/join"

headers = {"Authorization": "Bearer <token>"}

response = requests.post(url, headers=headers)

print(response.text)
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.blaxel.ai/v0/workspaces/{workspaceName}/join', 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.blaxel.ai/v0/workspaces/{workspaceName}/join",
  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.blaxel.ai/v0/workspaces/{workspaceName}/join"

	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.blaxel.ai/v0/workspaces/{workspaceName}/join")
  .header("Authorization", "Bearer <token>")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.blaxel.ai/v0/workspaces/{workspaceName}/join")

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
{
  "email": "<string>",
  "workspace": {
    "createdAt": "<string>",
    "updatedAt": "<string>",
    "createdBy": "<string>",
    "updatedBy": "<string>",
    "accountId": "<string>",
    "displayName": "My Workspace",
    "groupMappings": [
      {
        "groupName": "Engineering",
        "role": "admin"
      }
    ],
    "hipaaInfo": {
      "accountEnabled": true,
      "unsafe": {
        "enabled": true,
        "updatedAt": "<string>",
        "updatedBy": "<string>"
      }
    },
    "id": "<string>",
    "labels": {},
    "name": "my-workspace",
    "region": "us-west-2",
    "resourceCounts": {},
    "runtime": {
      "generation": "mk3",
      "sandbox": {
        "disableProcessLogging": true
      }
    },
    "status": "ready",
    "statusReason": "<string>"
  }
}

Authorizations

Authorization
string
header
required

OAuth2 authentication with JWT tokens

Path Parameters

workspaceName
string
required

Name of the workspace

Response

Invitation successfully accepted

Pending invitation accept

email
string

User email

workspace
object

Tenant container that groups all Blaxel resources (agents, functions, models, etc.) with shared team access control and billing.

Last modified on July 1, 2026