Transactions Endpoint

Understanding how the Transactions endpoint works.

Date Released: May 2023 Date Updated: May 2023

The Transaction API Transactions endpoint allows transaction data for a specified bank account to be sent into MYOB Business ledgers.

Supported Method Description HTTP Status Codes

POST

To provide transaction data for a specific bank account to be delivered to all feeds associated with this given account.

201 |  400 |  403 |  413 |  500 |  503

API Response Codes & Error Messages

201 Created

Description:  When the request is validated and successfully processed.

Context:  No response body, returns a HTTP status code 201 (Created) only.

See Transaction endpoints page for POST request and response samples
 
400 Bad Request

Description:  When request body is malformatted, missing the required fields such as account & transactions or containing violated fields.

Context:  Response contains a single error object in the errorDetails field stating the violation or error description.

Response type:  Single Error Message

Description:  When multiple transactions or both account and transaction/s have violated fields in request.

Response type:  Multiple Error Message

 
403 Forbidden

Description:  When a financial institution is not enabled to access this Transaction API endpoint.

Response type:  Single Error Message

 
413 Payload Too Large

Description:  When Transaction API is unable to process request due to the request payload exceeds limit of 415 transactions (262144 bytes).

Response type:  Single Error Message

 
500 Internal Server Error

Description:  When Transaction API is experiencing an internal error.

Response type:  Single Error Message

 
503 Service Unavailable

Description:  When Transaction API is unable to process requests due to an affiliated service being unavailable.

Response type:  Single Error Message

 

Error Response Attribute

  • titleString
  • Title of the error message
  • statusString
  • The returned HTTP status code
  • errorsArray
  • Contains one or many error objects
  • externalIdString
  • Unique financial institution account number
  • transactionIdString
  • Unique transaction identifier of the transaction with errors
  • errorDetailsString
  • Detailed error description

Single Error Message examples

When a financial institution is not enabled to access this Transaction API endpoint.

  • {
  • "title" : "Forbidden",
  • "status" : 403,
  • "errors" : [
    • {
      • "errorDetails" : "Institution not configured to use this endpoint"
      • }
    • ]
  • }
 

When a request has required fields that contain invalid value in the account details or a single transaction, an element in the “errors” array will present the related transactionId and the details of any invalid field violations.

  • {
  • "title" : "Invalid payload for transaction request",
  • "status" : 400,
  • "errors" : [
    • {
      • "transactionId" : "000112"
      • "errorDetails" : "transactionTypeCode: Field is required, currency: Field is required"
      • }
    • ]
  • }

Multiple Error Message examples

Where both account details and several transactions have violated fields, details of any field violations for the acccount and transactions are presented as an element in the “errors” array.

  • {
  • "title" : "Invalid payload for transaction request",
  • "status" : 400,
  • "errors" : [
      • {
      • "externalId" : "ty79v3-452iU-7op81z-AwMDIxMj"
      • "errorDetails" : "balanceUpdated: Must be in ISO_8601 DateTime format"
      • },
      • {
      • "transactionId" : "000113"
      • "errorDetails" : "transactionTypeCode: Field is required, currency: Field is required"
      • },
      • {
      • "transactionId" : "000114"
      • "errorDetails" : "narration: Field is required"
      • }
    • ]
  • }