Skip to main content

Overview

This guide outlines the mandatory test scenarios for integrating with the MMR-SASK API. You must complete all test scenarios in the test environment before moving to production. See Testing for the test environment and the practices shared by every report.

Test Scenarios

Natural person accounts are reported with owner type F. This flow covers account creation, updates, and representative management.What you report for a natural person account:
  • Account details - IBAN, currency, account type, open/close dates
  • Owner information - Name, surname, birth date, address, nationality
  • Identification - Personal code or foreign identification code, document type and number
  • Representatives - Individuals authorized to manage the account on behalf of the owner
  • Beneficial owners (UBO) are not reported for natural person accounts.
  • Representatives can only be natural persons.
Objective: Report a newly opened account with owner and representatives to the tax authority.Use POST only for newly opened accounts. If the account was opened and closed on the same day, include closedDate in the request - no separate update is required.Request: POST /reports/sask/v1/accountsRequest Body:
The representatives array is optional. Include it when the account has authorized representatives.
Expected Response:
Store the returned refId for use in Test Cases 2, 3, and 4.
Objective: Update a previously reported account when account details or owner information changes.The refId from the original account submission is required to identify the record to update.Request: PUT /reports/sask/v1/accountsRequest Body:
Expected Response:
Objective: Add a new representative for an already reported account.The accountRefId in the URL must be the refId returned when the account was reported.Request: POST /reports/sask/v1/accounts/{accountRefId}/representativesRequest Body:
Expected Response:
Store the returned representative refId for Test Case 4.
Objective: Update a representative when their information changes, or end the representative relationship by adding dateTo.Request: PUT /reports/sask/v1/accounts/{accountRefId}/representativesRequest Body:
Expected Response:

Batch Submission Tests

Objective: Verify batch submission where all records are valid.Steps:
  1. Submit multiple valid records in a single request
  2. Verify HTTP 200 or 201 response
  3. Confirm all items have status: SUCCESS
Expected Result:
Objective: Verify batch submission where some records fail validation.Steps:
  1. Submit multiple records where at least one has invalid data
  2. Verify HTTP 207 response
  3. Confirm successful items have status: SUCCESS
  4. Confirm failed items have status: FAILED with error details
Expected Result:
Objective: Verify batch submission where all records fail validation.Steps:
  1. Submit multiple records where all have invalid data
  2. Verify HTTP 400 response
  3. Confirm all items have status: FAILED with error details
Expected Result:
Last modified on September 1, 2026