Agreements
Updates an agreement
Updates one of the company’s agreements. Content is written in the locale given by language_iso, which is how you add translations after creating an agreement in English. agreement.title and agreement.description are required on every call. Passing enrollment_pack_id attaches the agreement to that enrollment pack, replacing any pack it was attached to before. Files listed in attachments_attributes are imported in the background, so they may not appear in attachments in this response. Requires permission to update agreements.
PUT
/
api
/
agreements
/
{id}
Updates an agreement
curl --request PUT \
--url https://api.fluid.app/api/agreements/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"agreement": {
"title": "Terms and Conditions",
"description": "<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>",
"show_at_checkout": true,
"default_checked": false,
"subscription_only": false,
"standalone_on_checkout": false
}
}
'import requests
url = "https://api.fluid.app/api/agreements/{id}"
payload = { "agreement": {
"title": "Terms and Conditions",
"description": "<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>",
"show_at_checkout": True,
"default_checked": False,
"subscription_only": False,
"standalone_on_checkout": False
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
agreement: {
title: 'Terms and Conditions',
description: '<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>',
show_at_checkout: true,
default_checked: false,
subscription_only: false,
standalone_on_checkout: false
}
})
};
fetch('https://api.fluid.app/api/agreements/{id}', 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.fluid.app/api/agreements/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'agreement' => [
'title' => 'Terms and Conditions',
'description' => '<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>',
'show_at_checkout' => true,
'default_checked' => false,
'subscription_only' => false,
'standalone_on_checkout' => false
]
]),
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://api.fluid.app/api/agreements/{id}"
payload := strings.NewReader("{\n \"agreement\": {\n \"title\": \"Terms and Conditions\",\n \"description\": \"<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>\",\n \"show_at_checkout\": true,\n \"default_checked\": false,\n \"subscription_only\": false,\n \"standalone_on_checkout\": false\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.fluid.app/api/agreements/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"agreement\": {\n \"title\": \"Terms and Conditions\",\n \"description\": \"<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>\",\n \"show_at_checkout\": true,\n \"default_checked\": false,\n \"subscription_only\": false,\n \"standalone_on_checkout\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/agreements/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"agreement\": {\n \"title\": \"Terms and Conditions\",\n \"description\": \"<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>\",\n \"show_at_checkout\": true,\n \"default_checked\": false,\n \"subscription_only\": false,\n \"standalone_on_checkout\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"agreement": {
"id": 48213,
"title": "Terms and Conditions",
"active": true,
"show_at_checkout": true,
"default_checked": false,
"required_on_checkout": true,
"subscription_only": false,
"standalone_on_checkout": false,
"content_digest": "4f7f9a2d0c6b1e8e3a5d9c7b2f1e0d4c8b6a5f3e2d1c0b9a8f7e6d5c4b3a2918",
"company_country_ids": [
2207
],
"description": "<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>",
"show_path": "/api/agreements/48213",
"language_iso": "en",
"required": true,
"enrollment_pack_id": null,
"created_at": "2026-09-14T15:22:08Z",
"updated_at": "2026-09-22T14:05:31Z",
"company_logo": "https://cdn.fluid.app/companies/1405/logo/dunder-mifflin-logo.png",
"attachments": [
{
"id": 9127,
"url": "https://cdn.fluid.app/companies/1405/agreements/dunder-mifflin-terms-of-sale.pdf",
"filename": "dunder-mifflin-terms-of-sale.pdf",
"content_type": "application/pdf",
"content_size": 184320,
"kind": "pdf",
"metadata": {}
}
]
},
"meta": {
"request_id": "7f3c2a91-5d4e-4b8a-9c61-2e8f0d3b5a47",
"timestamp": "2026-09-22T14:05:31Z"
}
}⌘I
Updates an agreement
curl --request PUT \
--url https://api.fluid.app/api/agreements/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"agreement": {
"title": "Terms and Conditions",
"description": "<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>",
"show_at_checkout": true,
"default_checked": false,
"subscription_only": false,
"standalone_on_checkout": false
}
}
'import requests
url = "https://api.fluid.app/api/agreements/{id}"
payload = { "agreement": {
"title": "Terms and Conditions",
"description": "<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>",
"show_at_checkout": True,
"default_checked": False,
"subscription_only": False,
"standalone_on_checkout": False
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
agreement: {
title: 'Terms and Conditions',
description: '<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>',
show_at_checkout: true,
default_checked: false,
subscription_only: false,
standalone_on_checkout: false
}
})
};
fetch('https://api.fluid.app/api/agreements/{id}', 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.fluid.app/api/agreements/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'agreement' => [
'title' => 'Terms and Conditions',
'description' => '<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>',
'show_at_checkout' => true,
'default_checked' => false,
'subscription_only' => false,
'standalone_on_checkout' => false
]
]),
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://api.fluid.app/api/agreements/{id}"
payload := strings.NewReader("{\n \"agreement\": {\n \"title\": \"Terms and Conditions\",\n \"description\": \"<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>\",\n \"show_at_checkout\": true,\n \"default_checked\": false,\n \"subscription_only\": false,\n \"standalone_on_checkout\": false\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.fluid.app/api/agreements/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"agreement\": {\n \"title\": \"Terms and Conditions\",\n \"description\": \"<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>\",\n \"show_at_checkout\": true,\n \"default_checked\": false,\n \"subscription_only\": false,\n \"standalone_on_checkout\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/agreements/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"agreement\": {\n \"title\": \"Terms and Conditions\",\n \"description\": \"<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>\",\n \"show_at_checkout\": true,\n \"default_checked\": false,\n \"subscription_only\": false,\n \"standalone_on_checkout\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"agreement": {
"id": 48213,
"title": "Terms and Conditions",
"active": true,
"show_at_checkout": true,
"default_checked": false,
"required_on_checkout": true,
"subscription_only": false,
"standalone_on_checkout": false,
"content_digest": "4f7f9a2d0c6b1e8e3a5d9c7b2f1e0d4c8b6a5f3e2d1c0b9a8f7e6d5c4b3a2918",
"company_country_ids": [
2207
],
"description": "<p>By placing an order with Dunder Mifflin Paper Company you agree to these terms of sale, shipping and returns.</p>",
"show_path": "/api/agreements/48213",
"language_iso": "en",
"required": true,
"enrollment_pack_id": null,
"created_at": "2026-09-14T15:22:08Z",
"updated_at": "2026-09-22T14:05:31Z",
"company_logo": "https://cdn.fluid.app/companies/1405/logo/dunder-mifflin-logo.png",
"attachments": [
{
"id": 9127,
"url": "https://cdn.fluid.app/companies/1405/agreements/dunder-mifflin-terms-of-sale.pdf",
"filename": "dunder-mifflin-terms-of-sale.pdf",
"content_type": "application/pdf",
"content_size": 184320,
"kind": "pdf",
"metadata": {}
}
]
},
"meta": {
"request_id": "7f3c2a91-5d4e-4b8a-9c61-2e8f0d3b5a47",
"timestamp": "2026-09-22T14:05:31Z"
}
}