Claim Seat
Intent
Runs the claim seat action.
When to call it
Call this when your workflow reaches the point where it must claim seat.
Access boundary
Use the credential type and authentication scheme shown for this operation.
Successful result
A successful request returns 200. The response schema below defines the body your integration receives.
POST
/
v1
/
customer-seats
/
claim
Claim Seat
curl --request POST \
--url https://api.getruba.com/v1/customer-seats/claim \
--header 'Content-Type: application/json' \
--data '
{
"invitation_token": "<string>"
}
'import requests
url = "https://api.getruba.com/v1/customer-seats/claim"
payload = { "invitation_token": "<string>" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({invitation_token: '<string>'})
};
fetch('https://api.getruba.com/v1/customer-seats/claim', 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.getruba.com/v1/customer-seats/claim",
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([
'invitation_token' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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.getruba.com/v1/customer-seats/claim"
payload := strings.NewReader("{\n \"invitation_token\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.getruba.com/v1/customer-seats/claim")
.header("Content-Type", "application/json")
.body("{\n \"invitation_token\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getruba.com/v1/customer-seats/claim")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"invitation_token\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"seat": {
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"subscription_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"order_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"member_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"member": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"customer_id": "<string>",
"email": "<string>",
"name": "Jane Doe",
"external_id": "usr_1337"
},
"email": "<string>",
"customer_email": "<string>",
"invitation_token_expires_at": "2023-11-07T05:31:56Z",
"claimed_at": "2023-11-07T05:31:56Z",
"revoked_at": "2023-11-07T05:31:56Z",
"seat_metadata": {}
},
"customer_session_token": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Body
application/json
Invitation Token: Invitation token to claim the seat.
Previous
Resend Invitation### Intent
Runs the resend invitation action.
### When to call it
Call this when your workflow reaches the point where it must resend invitation.
### Access boundary
Authorize the request with a token that carries `customer_seats:write`.
### Successful result
A successful request returns `200`. The response schema below defines the body your integration receives.
Next
⌘I
Claim Seat
curl --request POST \
--url https://api.getruba.com/v1/customer-seats/claim \
--header 'Content-Type: application/json' \
--data '
{
"invitation_token": "<string>"
}
'import requests
url = "https://api.getruba.com/v1/customer-seats/claim"
payload = { "invitation_token": "<string>" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({invitation_token: '<string>'})
};
fetch('https://api.getruba.com/v1/customer-seats/claim', 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.getruba.com/v1/customer-seats/claim",
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([
'invitation_token' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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.getruba.com/v1/customer-seats/claim"
payload := strings.NewReader("{\n \"invitation_token\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.getruba.com/v1/customer-seats/claim")
.header("Content-Type", "application/json")
.body("{\n \"invitation_token\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getruba.com/v1/customer-seats/claim")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"invitation_token\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"seat": {
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"subscription_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"order_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"member_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"member": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"customer_id": "<string>",
"email": "<string>",
"name": "Jane Doe",
"external_id": "usr_1337"
},
"email": "<string>",
"customer_email": "<string>",
"invitation_token_expires_at": "2023-11-07T05:31:56Z",
"claimed_at": "2023-11-07T05:31:56Z",
"revoked_at": "2023-11-07T05:31:56Z",
"seat_metadata": {}
},
"customer_session_token": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}