From 3a2444e11da4fdbbffc237382066d7194d1f148a Mon Sep 17 00:00:00 2001 From: Saleem Araidy Date: Tue, 8 Sep 2026 18:26:53 +0300 Subject: [PATCH 1/2] FA-9911: add optional bankId field to AchCapability Required for PSE-routed Ach on-ramps (e.g. COP), where the provider needs the payer's bank identifier to build the correct PSE redirect. Since AchAddress and OnRampRequestFrom's Ach branch both derive from AchCapability, this makes bankId available on-ramp requests, off-ramp addresses, and on-ramp payment instructions without further changes. Co-Authored-By: Claude Sonnet 5 --- v2/openapi/fb-provider-transfer-api.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/v2/openapi/fb-provider-transfer-api.yaml b/v2/openapi/fb-provider-transfer-api.yaml index daaaaa12..f197f5e8 100644 --- a/v2/openapi/fb-provider-transfer-api.yaml +++ b/v2/openapi/fb-provider-transfer-api.yaml @@ -913,6 +913,11 @@ components: $ref: '#/x-schemas/NationalCurrency' transferMethod: enum: [ Ach ] + bankId: + type: string + description: > + Identifier of the payer's bank, required for PSE-routed Ach + on-ramps (e.g. COP). Not applicable to standard Ach transfers. AchAddress: allOf: From 6d0dd473a7054a89c8471ff16ab99f7447bcdb0f Mon Sep 17 00:00:00 2001 From: Saleem Araidy Date: Wed, 9 Sep 2026 17:59:13 +0300 Subject: [PATCH 2/2] FA-9911: regenerate unified spec and client for bankId npm run make-unified-openapi / generate-openapi-client after the AchCapability.bankId change, per v2/api-validator/README.md's contributor workflow. Also picks up the AMOUNT_ABOVE_MAXIMUM enum value that FA-7791 added to the source spec but never regenerated into fb-unified-openapi.yaml / the generated client. Co-Authored-By: Claude Sonnet 5 --- .../src/client/generated/models/AchCapability.ts | 5 +++++ .../src/client/generated/models/BadRequestError.ts | 1 + v2/api-validator/src/client/generated/models/CommonRamp.ts | 1 + v2/openapi/fb-unified-openapi.yaml | 4 ++++ 4 files changed, 11 insertions(+) diff --git a/v2/api-validator/src/client/generated/models/AchCapability.ts b/v2/api-validator/src/client/generated/models/AchCapability.ts index 2c6fda4c..81d33575 100644 --- a/v2/api-validator/src/client/generated/models/AchCapability.ts +++ b/v2/api-validator/src/client/generated/models/AchCapability.ts @@ -8,6 +8,11 @@ import type { NationalCurrency } from './NationalCurrency'; export type AchCapability = { asset: NationalCurrency; transferMethod: AchCapability.transferMethod; + /** + * Identifier of the payer's bank, required for PSE-routed Ach on-ramps (e.g. COP). Not applicable to standard Ach transfers. + * + */ + bankId?: string; }; export namespace AchCapability { diff --git a/v2/api-validator/src/client/generated/models/BadRequestError.ts b/v2/api-validator/src/client/generated/models/BadRequestError.ts index e3a27fc7..30f9906b 100644 --- a/v2/api-validator/src/client/generated/models/BadRequestError.ts +++ b/v2/api-validator/src/client/generated/models/BadRequestError.ts @@ -42,6 +42,7 @@ export namespace BadRequestError { UNSUPPORTED_SOURCE_ASSET = 'unsupported-source-asset', UNSUPPORTED_DESTINATION_ASSET = 'unsupported-destination-asset', AMOUNT_BELOW_MINIMUM = 'amount-below-minimum', + AMOUNT_ABOVE_MAXIMUM = 'amount-above-maximum', PII_MISSING = 'pii-missing', UNSUPPORTED_EXTERNAL_SOURCE = 'unsupported-external-source', UNSUPPORTED_REGION = 'unsupported-region', diff --git a/v2/api-validator/src/client/generated/models/CommonRamp.ts b/v2/api-validator/src/client/generated/models/CommonRamp.ts index febc410f..98d75d0f 100644 --- a/v2/api-validator/src/client/generated/models/CommonRamp.ts +++ b/v2/api-validator/src/client/generated/models/CommonRamp.ts @@ -30,6 +30,7 @@ export namespace CommonRamp { UNSUPPORTED_SOURCE_ASSET = 'unsupported-source-asset', UNSUPPORTED_DESTINATION_ASSET = 'unsupported-destination-asset', AMOUNT_BELOW_MINIMUM = 'amount-below-minimum', + AMOUNT_ABOVE_MAXIMUM = 'amount-above-maximum', PII_MISSING = 'pii-missing', UNSUPPORTED_EXTERNAL_SOURCE = 'unsupported-external-source', UNSUPPORTED_REGION = 'unsupported-region', diff --git a/v2/openapi/fb-unified-openapi.yaml b/v2/openapi/fb-unified-openapi.yaml index 714f2c11..df9e7c05 100644 --- a/v2/openapi/fb-unified-openapi.yaml +++ b/v2/openapi/fb-unified-openapi.yaml @@ -3729,6 +3729,10 @@ components: transferMethod: enum: - Ach + bankId: + type: string + description: | + Identifier of the payer's bank, required for PSE-routed Ach on-ramps (e.g. COP). Not applicable to standard Ach transfers. AchAddress: allOf: - $ref: '#/components/schemas/AchCapability'