diff --git a/mintlify/payouts-and-b2b/onboarding/disclosures.mdx b/mintlify/payouts-and-b2b/onboarding/disclosures.mdx
index 8b5f10e0..7f5be59d 100644
--- a/mintlify/payouts-and-b2b/onboarding/disclosures.mdx
+++ b/mintlify/payouts-and-b2b/onboarding/disclosures.mdx
@@ -19,9 +19,58 @@ Copy Lightspark's End User Terms and append them to your own terms of service, s
Present the combined terms in your onboarding or consent flow, and require each end user to affirmatively accept them (for example, an unchecked checkbox or an "I Agree" button) before they can use Grid.
-Use `GET /customers/end-user-terms` to retrieve the current terms URL and version. Record acceptance with the `endUserTermsConsent` field when you create or update the customer. The acceptance record includes the timestamp, device IP address, terms version, and acceptance method. Grid rejects versions that it does not recognize.
+## Record each acceptance
-For unregulated platforms, Grid does not open customer accounts until you record this acceptance. Customer responses include the full `endUserTermsConsent` object after acceptance is recorded.
+Send the evidence of acceptance as `endUserTermsConsent` when you create the customer. Collect it for **both `INDIVIDUAL` and `BUSINESS` customers**.
+
+
+Until a customer's acceptance is on file, Grid does not provision their internal accounts, and customer-scoped transactions are rejected with `403 END_USER_TERMS_NOT_ACCEPTED`.
+
+
+```bash
+curl -sS -X POST "https://api.lightspark.com/grid/2025-10-13/customers" \
+ -u "$GRID_CLIENT_ID:$GRID_CLIENT_SECRET" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "customerType": "INDIVIDUAL",
+ "platformCustomerId": "9f84e0c2a72c4fa",
+ "fullName": "Jane Doe",
+ "endUserTermsConsent": {
+ "acceptedAt": "2025-10-03T12:00:00Z",
+ "ipAddress": "198.51.100.24",
+ "termsVersion": "V1",
+ "acceptanceMethod": "CHECKBOX"
+ }
+ }'
+```
+
+| Field | Description |
+| --- | --- |
+| `acceptedAt` | When the customer accepted the terms (ISO 8601). |
+| `ipAddress` | IP address of the device the customer accepted from. |
+| `termsVersion` | Version identifier of the End User Terms the customer accepted. Send the version they actually accepted — Grid rejects a version it doesn't recognize with `400 END_USER_TERMS_VERSION_NOT_FOUND`. |
+| `acceptanceMethod` | How the customer accepted: `CHECKBOX` or `CLICK_TO_ACCEPT`. |
+
+The same field is accepted on `PATCH /customers/{customerId}`, so you can record consent for a customer that already exists — including customers you created before you started collecting it. `customerType` is required on the update:
+
+```bash
+curl -sS -X PATCH "https://api.lightspark.com/grid/2025-10-13/customers/{customerId}" \
+ -u "$GRID_CLIENT_ID:$GRID_CLIENT_SECRET" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "customerType": "INDIVIDUAL",
+ "endUserTermsConsent": {
+ "acceptedAt": "2025-10-03T12:00:00Z",
+ "ipAddress": "198.51.100.24",
+ "termsVersion": "V1",
+ "acceptanceMethod": "CLICK_TO_ACCEPT"
+ }
+ }'
+```
+
+Customer responses include the recorded `endUserTermsConsent` object once acceptance is on file, and omit it until then — read it back with `GET /customers/{customerId}` to confirm which customers still need consent.
+
+Regulated platforms rely on their own end user agreements and don't send this field.
## Provide evidence of your consent flow
diff --git a/mintlify/snippets/internal-accounts.mdx b/mintlify/snippets/internal-accounts.mdx
index 7aff338b..f0b39276 100644
--- a/mintlify/snippets/internal-accounts.mdx
+++ b/mintlify/snippets/internal-accounts.mdx
@@ -13,6 +13,14 @@ Internal accounts are created for both:
are created when you configure your platform with supported currencies.
+
+ On unregulated platforms, a customer's internal accounts aren't provisioned
+ until you record their End User Terms acceptance in `endUserTermsConsent`, and
+ customer-scoped transactions are rejected with `403
+ END_USER_TERMS_NOT_ACCEPTED` until then. See
+ [Disclosures](/payouts-and-b2b/onboarding/disclosures).
+
+
## How internal accounts work
Internal accounts act as an intermediary holding account in the payment flow: