Skip to content

feat(transfers): add remittanceInformation to transfer-out request#538

Open
pengying wants to merge 1 commit into
mainfrom
06-02-feat_transfers_add_remittanceinformation_to_transfer-out_request
Open

feat(transfers): add remittanceInformation to transfer-out request#538
pengying wants to merge 1 commit into
mainfrom
06-02-feat_transfers_add_remittanceinformation_to_transfer-out_request

Conversation

@pengying
Copy link
Copy Markdown
Contributor

@pengying pengying commented Jun 2, 2026

Summary

Adds an optional remittanceInformation field to the transfer-out request body (POST /transfers/transfer-out).

The field that this value populates depends on the payment rail:

  • ACH → Addenda record
  • FedNow / RTPremittanceInformation field
  • Wires → OBI (Originator to Beneficiary Information) / beneficiary information

Changes

  • Added remittanceInformation (string, optional) to TransferOutRequest.yaml with a rail-specific description
  • Added the field to the request example in transfer_out.yaml
  • Rebundled openapi.yaml and mintlify/openapi.yaml via make build

🤖 Generated with Claude Code

@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 2, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
grid-flow-builder Ignored Ignored Preview Jun 2, 2026 11:57pm

Request Review

@pengying pengying marked this pull request as ready for review June 2, 2026 19:04
Copy link
Copy Markdown
Contributor Author

pengying commented Jun 2, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 2, 2026

✱ Stainless preview builds for grid

This PR will update the grid SDKs with the following commit messages.

cli

feat(api): add remittance-information parameter to transfer out creation

csharp

feat(api): add remittance_information parameter to me/transfer_out create methods

go

feat(api): add remittance_information parameter to transfer out request

kotlin

feat(api): add remittanceInformation field to transfer out request

openapi

feat(api): add remittanceInformation parameter to transfer-out request

php

feat(api): add remittanceInformation parameter to transfer out methods

python

feat(api): add remittance_information parameter to transfer out methods

ruby

feat(api): add remittance_information parameter to transfer_out methods

typescript

feat(api): add remittanceInformation param to transferOut and agents.me methods

Edit this comment to update them. They will appear in their respective SDK's changelogs.

grid-openapi studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅

grid-ruby studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ✅test ✅

grid-kotlin studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ✅test ✅

grid-typescript studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ✅test ✅

npm install https://pkg.stainless.com/s/grid-typescript/06539b25dfa6e2809d1017b812fb96df76ff3209/dist.tar.gz
grid-python studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ❗test ❗

pip install https://pkg.stainless.com/s/grid-python/c41e6e6298f381d69883bc42847522216f932b27/grid-0.0.1-py3-none-any.whl
grid-csharp studio · code · diff

Your SDK build had at least one "warning" diagnostic, but this did not represent a regression.
generate ⚠️build ❗lint ✅test ❗

grid-go studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ❗test ❗

go get github.com/stainless-sdks/grid-go@6ffc29691bc638e7eab6f5686f259a1d897a6ec5
grid-php studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅lint ✅test ✅

grid-cli studio · code · diff

Your SDK build had at least one "warning" diagnostic, but this did not represent a regression.
generate ⚠️build ❗lint ❗test ❗


This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push.
If you push custom code to the preview branch, re-run this workflow to update the comment.
Last updated: 2026-06-03 00:02:25 UTC

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Jun 2, 2026

Greptile Summary

Adds an optional remittanceInformation string field to the POST /transfers/transfer-out request body, routing free-form payment notes to the appropriate rail-specific field (ACH addenda, FedNow/RTP remittance field, or wire OBI). All four files — the source schema, the path example, and both bundled openapi.yaml outputs — are updated consistently.

  • TransferOutRequest.yaml gains remittanceInformation as an optional string with maxLength: 80, covering the most restrictive rail (ACH NACHA 80-char addenda limit).
  • The per-rail description is clear about where the value is routed, and the bundled specs (openapi.yaml, mintlify/openapi.yaml) are in sync with the source.

Confidence Score: 5/5

This is a purely additive, backward-compatible schema change — existing clients are unaffected and the new optional field is consistent across all four touched files.

The change adds a single optional string field with a conservative character cap to the transfer-out request. The source schema, path example, and both bundled specs are in sync. No required fields, response shapes, or existing behavior are modified.

No files require special attention.

Important Files Changed

Filename Overview
openapi/components/schemas/transfers/TransferOutRequest.yaml Adds optional remittanceInformation string field with maxLength: 80 to the transfer-out schema; description explains per-rail behavior (ACH addenda, FedNow/RTP field, wire OBI).
openapi/paths/transfers/transfer_out.yaml Updates the inline request example to include remittanceInformation: '12345'; no other changes.
openapi.yaml Bundled output — mirrors the source-file changes; adds remittanceInformation to the TransferOutRequest component and updates the path example.
mintlify/openapi.yaml Bundled output for Mintlify docs — identical changes to openapi.yaml; correctly in sync with the source spec.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["POST /transfers/transfer-out\n{ remittanceInformation: string (≤80 chars) }"] --> B{Payment Rail?}
    B -->|ACH| C["Addenda Record\n(NACHA: 80-char limit)"]
    B -->|FedNow / RTP| D["remittanceInformation field\n(rail supports 140 chars; API caps at 80)"]
    B -->|Wire| E["OBI — Originator to Beneficiary Info\n(rail supports 140 chars; API caps at 80)"]
    B -->|Other / not provided| F["Field ignored / not applicable"]
Loading

Reviews (5): Last reviewed commit: "feat(transfers): add remittanceInformati..." | Re-trigger Greptile

Comment thread openapi/components/schemas/transfers/TransferOutRequest.yaml Outdated
@pengying pengying force-pushed the 06-02-feat_transfers_add_remittanceinformation_to_transfer-out_request branch 2 times, most recently from 95f76ee to 9a349d3 Compare June 2, 2026 23:45
Comment on lines +21 to +28
maxLength: 80
description: >-
Free-form information about the payment that travels with it to the
recipient. The field this populates depends on the payment rail: for ACH
it populates the Addenda record (max 80 characters), for FedNow and RTP
it populates the remittanceInformation field (max 140 characters), and for
wires it populates the OBI (Originator to Beneficiary Information) /
beneficiary information (max 140 characters).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Description contradicts enforced maxLength

The schema enforces maxLength: 80, but the description explicitly tells clients that FedNow/RTP and wire transfers support up to 140 characters. Any client that reads the description and sends a 100-character remittance note for a wire transfer will receive a schema-validation rejection — even though the underlying rail accepts it. The description should be updated to accurately reflect the 80-character API limit, or maxLength should be raised to 140 with per-rail enforcement happening server-side.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/transfers/TransferOutRequest.yaml
Line: 21-28

Comment:
**Description contradicts enforced `maxLength`**

The schema enforces `maxLength: 80`, but the description explicitly tells clients that FedNow/RTP and wire transfers support up to 140 characters. Any client that reads the description and sends a 100-character remittance note for a wire transfer will receive a schema-validation rejection — even though the underlying rail accepts it. The description should be updated to accurately reflect the 80-character API limit, or `maxLength` should be raised to 140 with per-rail enforcement happening server-side.

How can I resolve this? If you propose a fix, please make it concise.

@pengying pengying force-pushed the 06-02-feat_transfers_add_remittanceinformation_to_transfer-out_request branch from 9a349d3 to f571cfe Compare June 2, 2026 23:51
Add an optional remittanceInformation field (max 80 chars) to the
transfer-out request body. The field this populates depends on the payment
rail: ACH populates the Addenda record (max 80 chars), FedNow/RTP populate
remittanceInformation (max 140 chars), and wires populate the OBI /
beneficiary information (max 140 chars).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@pengying pengying force-pushed the 06-02-feat_transfers_add_remittanceinformation_to_transfer-out_request branch from f571cfe to c199bf2 Compare June 2, 2026 23:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant