CLI
# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api POST /v1/tos \
--body '<request-json>'Initiate ToS acceptance.
# Infinite MCP is read-only for this endpoint — use a dedicated MCP tool when one exists, otherwise run the CLI tab.import requests
url = "https://sandbox.api.infinite.dev/v1/tos"
payload = {
"organizationId": "org_abc123",
"customerId": "cus_abc123",
"verificationSessionId": "vsess_abc123"
}
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({
organizationId: 'org_abc123',
customerId: 'cus_abc123',
verificationSessionId: 'vsess_abc123'
})
};
fetch('https://sandbox.api.infinite.dev/v1/tos', 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://sandbox.api.infinite.dev/v1/tos",
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([
'organizationId' => 'org_abc123',
'customerId' => 'cus_abc123',
'verificationSessionId' => 'vsess_abc123'
]),
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://sandbox.api.infinite.dev/v1/tos"
payload := strings.NewReader("{\n \"organizationId\": \"org_abc123\",\n \"customerId\": \"cus_abc123\",\n \"verificationSessionId\": \"vsess_abc123\"\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://sandbox.api.infinite.dev/v1/tos")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"organizationId\": \"org_abc123\",\n \"customerId\": \"cus_abc123\",\n \"verificationSessionId\": \"vsess_abc123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/tos")
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 \"organizationId\": \"org_abc123\",\n \"customerId\": \"cus_abc123\",\n \"verificationSessionId\": \"vsess_abc123\"\n}"
response = http.request(request)
puts response.read_body{
"id": "tos_abc123"
}Terms of Service
Initiate ToS acceptance
Creates a ToS acceptance record with the agreement fields set to false or null. Returns an ID that must be used with the accept endpoint to complete the acceptance. This is the first step in a two-step process: first call initiate to get an ID, then call accept with that ID when the user actually accepts the agreements.
POST
/
v1
/
tos
CLI
# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api POST /v1/tos \
--body '<request-json>'Initiate ToS acceptance.
# Infinite MCP is read-only for this endpoint — use a dedicated MCP tool when one exists, otherwise run the CLI tab.import requests
url = "https://sandbox.api.infinite.dev/v1/tos"
payload = {
"organizationId": "org_abc123",
"customerId": "cus_abc123",
"verificationSessionId": "vsess_abc123"
}
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({
organizationId: 'org_abc123',
customerId: 'cus_abc123',
verificationSessionId: 'vsess_abc123'
})
};
fetch('https://sandbox.api.infinite.dev/v1/tos', 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://sandbox.api.infinite.dev/v1/tos",
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([
'organizationId' => 'org_abc123',
'customerId' => 'cus_abc123',
'verificationSessionId' => 'vsess_abc123'
]),
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://sandbox.api.infinite.dev/v1/tos"
payload := strings.NewReader("{\n \"organizationId\": \"org_abc123\",\n \"customerId\": \"cus_abc123\",\n \"verificationSessionId\": \"vsess_abc123\"\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://sandbox.api.infinite.dev/v1/tos")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"organizationId\": \"org_abc123\",\n \"customerId\": \"cus_abc123\",\n \"verificationSessionId\": \"vsess_abc123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/tos")
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 \"organizationId\": \"org_abc123\",\n \"customerId\": \"cus_abc123\",\n \"verificationSessionId\": \"vsess_abc123\"\n}"
response = http.request(request)
puts response.read_body{
"id": "tos_abc123"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Response
201 - application/json
ToS acceptance initiated
ToS acceptance ID
Example:
"tos_abc123"
Was this page helpful?