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/<id>/accept \
--body '<request-json>'Accept Terms of Service (<id>).
# 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/{id}/accept"
payload = {
"infiniteAgreementsAccepted": True,
"ereborAgreementsAccepted": True,
"oneMoneyAgreementsAccepted": True,
"dueAgreementsAccepted": True,
"customerId": "cus_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({
infiniteAgreementsAccepted: true,
ereborAgreementsAccepted: true,
oneMoneyAgreementsAccepted: true,
dueAgreementsAccepted: true,
customerId: 'cus_abc123'
})
};
fetch('https://sandbox.api.infinite.dev/v1/tos/{id}/accept', 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/{id}/accept",
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([
'infiniteAgreementsAccepted' => true,
'ereborAgreementsAccepted' => true,
'oneMoneyAgreementsAccepted' => true,
'dueAgreementsAccepted' => true,
'customerId' => 'cus_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/{id}/accept"
payload := strings.NewReader("{\n \"infiniteAgreementsAccepted\": true,\n \"ereborAgreementsAccepted\": true,\n \"oneMoneyAgreementsAccepted\": true,\n \"dueAgreementsAccepted\": true,\n \"customerId\": \"cus_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/{id}/accept")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"infiniteAgreementsAccepted\": true,\n \"ereborAgreementsAccepted\": true,\n \"oneMoneyAgreementsAccepted\": true,\n \"dueAgreementsAccepted\": true,\n \"customerId\": \"cus_abc123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/tos/{id}/accept")
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 \"infiniteAgreementsAccepted\": true,\n \"ereborAgreementsAccepted\": true,\n \"oneMoneyAgreementsAccepted\": true,\n \"dueAgreementsAccepted\": true,\n \"customerId\": \"cus_abc123\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Terms of Service accepted successfully",
"acceptanceId": "tos_abc123"
}Terms of Service
Accept Terms of Service
Updates an existing ToS acceptance record with the agreement acceptance fields and acceptance timestamp. This is the second step in the two-step process: you must first call initiate to get an ID, then call this endpoint with that ID when the user accepts the agreements. This endpoint captures IP address and user agent for audit purposes.
POST
/
v1
/
tos
/
{id}
/
accept
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/<id>/accept \
--body '<request-json>'Accept Terms of Service (<id>).
# 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/{id}/accept"
payload = {
"infiniteAgreementsAccepted": True,
"ereborAgreementsAccepted": True,
"oneMoneyAgreementsAccepted": True,
"dueAgreementsAccepted": True,
"customerId": "cus_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({
infiniteAgreementsAccepted: true,
ereborAgreementsAccepted: true,
oneMoneyAgreementsAccepted: true,
dueAgreementsAccepted: true,
customerId: 'cus_abc123'
})
};
fetch('https://sandbox.api.infinite.dev/v1/tos/{id}/accept', 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/{id}/accept",
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([
'infiniteAgreementsAccepted' => true,
'ereborAgreementsAccepted' => true,
'oneMoneyAgreementsAccepted' => true,
'dueAgreementsAccepted' => true,
'customerId' => 'cus_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/{id}/accept"
payload := strings.NewReader("{\n \"infiniteAgreementsAccepted\": true,\n \"ereborAgreementsAccepted\": true,\n \"oneMoneyAgreementsAccepted\": true,\n \"dueAgreementsAccepted\": true,\n \"customerId\": \"cus_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/{id}/accept")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"infiniteAgreementsAccepted\": true,\n \"ereborAgreementsAccepted\": true,\n \"oneMoneyAgreementsAccepted\": true,\n \"dueAgreementsAccepted\": true,\n \"customerId\": \"cus_abc123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/tos/{id}/accept")
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 \"infiniteAgreementsAccepted\": true,\n \"ereborAgreementsAccepted\": true,\n \"oneMoneyAgreementsAccepted\": true,\n \"dueAgreementsAccepted\": true,\n \"customerId\": \"cus_abc123\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Terms of Service accepted successfully",
"acceptanceId": "tos_abc123"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
ToS acceptance ID
Body
application/json
Whether the Infinite agreements were accepted
Example:
true
Whether the Erebor agreements were accepted
Example:
true
Whether the 1Money agreements were accepted
Example:
true
Whether the Due agreements were accepted
Example:
true
Customer ID (if known)
Example:
"cus_abc123"
Was this page helpful?