Enrollments
Update enrollment field answer
Updates a previously submitted answer for the enrollment field
{field_id} on the enrollment {token}. {field_id} is the field’s
id, the same ID the submit operation takes, not its field_answer_id.
Public — no bearer token is required. Returns 404 when the enrollment
or field is not found, or when the enrollment has not answered the field
yet, and 422 when the answer fails validation.
PATCH
/
api
/
checkout
/
v2026-04
/
enrollments
/
{token}
/
fields
/
{field_id}
Update enrollment field answer
curl --request PATCH \
--url https://api.fluid.app/api/checkout/v2026-04/enrollments/{token}/fields/{field_id} \
--header 'Content-Type: application/json' \
--data '
{
"answer": "1971-03-16"
}
'import requests
url = "https://api.fluid.app/api/checkout/v2026-04/enrollments/{token}/fields/{field_id}"
payload = { "answer": "1971-03-16" }
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({answer: '1971-03-16'})
};
fetch('https://api.fluid.app/api/checkout/v2026-04/enrollments/{token}/fields/{field_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/checkout/v2026-04/enrollments/{token}/fields/{field_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'answer' => '1971-03-16'
]),
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.fluid.app/api/checkout/v2026-04/enrollments/{token}/fields/{field_id}"
payload := strings.NewReader("{\n \"answer\": \"1971-03-16\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.fluid.app/api/checkout/v2026-04/enrollments/{token}/fields/{field_id}")
.header("Content-Type", "application/json")
.body("{\n \"answer\": \"1971-03-16\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/checkout/v2026-04/enrollments/{token}/fields/{field_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"answer\": \"1971-03-16\"\n}"
response = http.request(request)
puts response.read_body{
"enrollment_field_answer": {
"form_element_id": 8841,
"id": 120557,
"response": "1971-03-16"
},
"meta": {
"request_id": "5b1f7d3a-8e2c-4a6b-9d40-2c7e1f5a8b96",
"timestamp": "2026-09-15T10:14:19Z"
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}Path Parameters
Enrollment token
Field ID (the field's id, not its field_answer_id)
Body
application/json
Updated field answer value. Optional; the controller guard (answer_param_valid?) accepts a string or null/absent value.
⌘I
Update enrollment field answer
curl --request PATCH \
--url https://api.fluid.app/api/checkout/v2026-04/enrollments/{token}/fields/{field_id} \
--header 'Content-Type: application/json' \
--data '
{
"answer": "1971-03-16"
}
'import requests
url = "https://api.fluid.app/api/checkout/v2026-04/enrollments/{token}/fields/{field_id}"
payload = { "answer": "1971-03-16" }
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({answer: '1971-03-16'})
};
fetch('https://api.fluid.app/api/checkout/v2026-04/enrollments/{token}/fields/{field_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/checkout/v2026-04/enrollments/{token}/fields/{field_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'answer' => '1971-03-16'
]),
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.fluid.app/api/checkout/v2026-04/enrollments/{token}/fields/{field_id}"
payload := strings.NewReader("{\n \"answer\": \"1971-03-16\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.fluid.app/api/checkout/v2026-04/enrollments/{token}/fields/{field_id}")
.header("Content-Type", "application/json")
.body("{\n \"answer\": \"1971-03-16\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/checkout/v2026-04/enrollments/{token}/fields/{field_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"answer\": \"1971-03-16\"\n}"
response = http.request(request)
puts response.read_body{
"enrollment_field_answer": {
"form_element_id": 8841,
"id": 120557,
"response": "1971-03-16"
},
"meta": {
"request_id": "5b1f7d3a-8e2c-4a6b-9d40-2c7e1f5a8b96",
"timestamp": "2026-09-15T10:14:19Z"
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"blocked_date": "2026-11-30",
"blocked_day": 30,
"allowed_date": "2026-11-28",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}