September 2026
Sep 29, 2026
Closing Date on Internal Accounts
Internal accounts have a new closedAt field. It is the time the bank closed the account, or null while the account is open.
List Internal Accounts and Get an Internal Account still return closed accounts, with their statements and transactions. Nothing else changes, so existing integrations keep working. The Acme NetSuite bank feed uses the field to stop reporting a closed account as failed.
Affected pages:
Sep 29, 2026
Citi China SAFE BOP Checked When a Payment Is Created
CN_TT_INTL and CN_TT_DOM payments are now rejected on create when the SAFE BOP declaration is missing something Citi requires. Before, these payments were accepted and then held by Citi China operations until the declaration was amended in CitiDirect.
- The
/CNS1/remark is required on overseas (O) declarations and must be in Chinese. A/CNS2/remark, if given, must also be in Chinese. - The contract number (
regulatoryInformation[5]) and invoice number (/CNIN/) are always required. SendN/Aif there is none. - The SAFE register number (
regulatoryInformation[3]) is required when BOP transaction code 1 starts with5,6,7,8or9. - The BOP declaration type, BOP transaction code 1, payment purpose, applicant name, bonded goods flag, applicant phone, unit code and resident country must be present. BOP transaction codes must be 6 digits.
- The guide now explains how to choose a BOP transaction code, that the resident country is the counterparty's country of registration, and the applicant phone format.
Payments that followed the earlier examples, for example with an English remark or an empty contract slot, are now rejected. See Mandatory sub-fields.
Affected pages:
Sep 29, 2026
OCBC Singapore ISO 20022 (CBPR+) Payment Rules for MEPS and TT
OCBC is moving MEPS and TT payments to SWIFT ISO 20022 (CBPR+). We updated the OCBC Singapore MEPS and TT payment rules to the new rules. They apply once your organization is migrated to CBPR+.
receiver.namemax length increases from 35 to 140 characters.receiver.address.cityis now required for MEPS and TT.receiver.addressandreceiver.address.countryare now required for MEPS. They were already required for TT.paymentDetailsis now required for TT. It stays optional for MEPS.receiver.address.postalCodemax length is reduced from 35 (the limit for each address field before) to 16 characters.receiver.address.line1andline2are joined by a space and must total 70 characters or fewer.- ACT, FAST, GIRO and PayNow are not affected.
Affected pages:
Sep 25, 2026
Request Bodies Shown by Country, with Real Request Samples
Some endpoints accept a different request body per country or per type. The reference pages listed every variant one after another, which made the fields hard to follow.
- Each variant now has its own tab, for example Singapore, Malaysia and Hong Kong.
- Select a tab to see only the fields for that variant.
- The request sample on Create a Direct Debit Authorization now has one example per country: Singapore (eGIRO), Malaysia (FPX) and Hong Kong (eDDA).
- Each example carries only the fields that country accepts, with real values in place of
"string"placeholders. - Nothing changed in the API. Only the documentation changed.
Affected pages:
- Create a Direct Debit Authorization
- Create a Hosted Payment
- Create a payment QR code
- Look up a payment proxy address
- Create a Digital Asset Transfer
Sep 24, 2026
Bank References on Payments
Payments now carry the bank's reference for more banks, so you can match a payment to the bank's transaction record.
bankReferenceandbankReferencesare always present on payment responses andpayments.*webhooks. Until the bank returns a reference,bankReferenceisnullandbankReferencesis{}.bankReferencesis keyed by the bank's own field names and includes the main reference.- The fields are now filled in when the payment completes for CIMB Singapore
BKTR, DBS SingaporeTT(API and H2H), Standard CharteredTTand Zand. - Payments completed before this change are not updated.
Affected pages:
- Get a Payment
- Acme webhook examples
- Acme CIMB Singapore Payments (API)
- Acme DBS Singapore Payments (API)
- Acme DBS Singapore Payments (H2H)
- Acme Standard Chartered Bank Singapore Payments (API)
- Acme Standard Chartered Bank Hong Kong Payments (API)
- Acme Standard Chartered Bank UAE Payments (API)
- Acme Standard Chartered Bank Great Britain Payments (API)
- Acme Zand Bank UAE Payments (API)
Sep 17, 2026
Batch Direct Debit Collection Samples Corrected
The sample response on Create a Batch Direct Debit Collection showed one batch mixing directDebitAuthorizationId and directDebitAuthorizationInformation. The API rejects such a request. A batch must use one kind of authorization for every collection.
- The page now shows two samples. One uses Acme-maintained authorizations, the other external authorizations.
- Nothing changed in the API. Only the sample was wrong.
Affected pages:
Sep 17, 2026
UOB Singapore Creditor Purpose of Payment Codes Reference
We added a dedicated Acme UOB Singapore Creditor Purpose of Payment Codes page covering the outgoingPurposeCode field on UOB Singapore TT payments.
- It lists the purpose codes UOB requires for beneficiary banks in China, Malaysia, Indonesia and Thailand, and the general list for every other country.
- The
outgoingPurposeCodedescriptions on the Create a Payment and Create a Batch Payment reference pages now link to it. - The UOB Singapore payment rules now mark the field as mandatory for those four beneficiary countries.
Affected pages:
- Acme UOB Singapore Creditor Purpose of Payment Codes
- Acme UOB Singapore Payments
- Create a Payment
- Create a Batch Payment
Sep 15, 2026
outgoingPurposeCode Added to the API Reference
The outgoingPurposeCode field now appears on the Create a Payment and Create a Batch Payment reference pages. The description states where the field applies.
- Batch payments:
TTfrom DBS Singapore and UOB Singapore. - Single payments:
TTfrom DBS Singapore on the V6 Payment API.
Affected pages:
Sep 10, 2026
Direct Debit Authorization Test Mode: Mock payerIdType and payerIdHash Are Now Opt-In (API)
Successful Singapore eGIRO Direct Debit Authorizations in test mode once again return null for payerIdType and payerIdHash by default. The mock values introduced on Aug 14, 2026 are still available, but only on request.
- To receive them, create the authorization with
billReferenceNumberset toS1234567D.payerIdTypeis thenNRICandpayerIdHashis the SHA-256 hex digest of uppercasedS1234567D. - Any other bill reference number returns
nullfor both fields. - Live mode, Malaysia, and Hong Kong are unchanged.
Affected pages:
Sep 9, 2026
Sample Responses for Payments and Collections
The API reference now shows worked sample responses for the payment and collection endpoints, with one sample per supported country for direct debit and hosted payments.
Every endpoint also documents its 429 rate limit response, and endpoints that take input document
the 400 response with INVALID_REQUEST_PARAMETER.
Affected pages:
- Create a Payment
- Get a Payment
- Create a Batch Payment
- Create a Direct Debit Authorization
- Create a Direct Debit Collection
- Create a Hosted Payment
Sep 8, 2026
Beneficiary Bank Name for Citi Taiwan and Philippines Domestic Payments
Citi rejects Taiwan and Philippines domestic files without a beneficiary bank name, so
receiver.bankName is now required on TW_ACH, TW_RTGS and PH_PESONET. It is
the bank's name, not a BIC.
Affected pages:
Sep 7, 2026
ANZ Australia Address Field Limits Corrected
The Acme ANZ Australia Payments guide described receiver.address as
three fields of 35 characters. That was not accurate. The post code accepts at most 16 characters,
because it maps to PstCd in the ISO 20022 pain.001 message. The guide now lists each address
subfield with its own limit, for both TT and AU_HVCS.
The guide also listed receiver.address as optional for TT. It is mandatory. The country is
always required. If neither address line is given, the city, state and post code are all required.
Nothing changed in the API. Acme has always validated the address this way. Only the guide was wrong.
Affected pages:
Sep 4, 2026
API Rate Limits
We now enforce rate limits on the Acme API, per API key and HTTP method. A request over the limit
receives HTTP 429 with a Retry-After header. The limits are sized well above observed
integration traffic, and can be raised per API key on request. See the new
Rate limits guide.
Affected pages:
Sep 3, 2026
Standard Chartered Hong Kong and UAE Payment Rules
We published payment rules for Standard Chartered Hong Kong and Standard Chartered UAE over the SCB Open Banking API. The Hong Kong page covers HK_FPS_PROXY, HK_FPS_ACCOUNT, HK_ACH, HK_CHATS, BKTR, and TT, including the FPS proxy formats and the per-rail currency restrictions. The UAE page covers UAE_IBFT, UAE_FTS, TT, and BKTR, including the mandatory Purpose of Payment code, UAE IBAN handling, and the supported sender account currencies.
Link to payment rules:
- Acme Standard Chartered Bank Hong Kong Payments (API)
- Acme Standard Chartered Bank UAE Payments (API)
Sep 1, 2026
DBS Singapore Receiving Party Purpose Codes Reference
We added a dedicated Acme DBS Singapore Receiving Party Purpose Codes page covering the outgoingPurposeCode field on DBS Singapore TT payments. It lists the country-specific purpose code list for each corridor that requires one.