PlayPay HMRC Integration

HMRC Integration Test Report

Run Date
27 Apr 2026 at 09:49 UTC
NINO
WL254177A
Tax Year
2025-26
Period
2025-04-06 – 2025-07-05
Tests 88Passed 75Failed 6Skipped 7

Integration Summary

PlayPay routes HMRC traffic through its Cloudflare Worker instead of calling HMRC directly from the app. The worker starts HMRC OAuth, applies the required fraud-prevention headers, proxies supported MTD endpoints, and returns business, obligations, submission, and calculation data back to PlayPay.

Show details

PLAYPAY -> CLOUDFLARE -> HMRC

  • App requestsPlayPay sends HMRC connect, identity, obligations, and submission journeys to the Cloudflare Worker rather than calling HMRC directly.
  • Cloudflare orchestrationThe worker at https://playpay-mtd-auth-worker-dev.playpay.workers.dev runs the OAuth hand-off, enforces the relay-token-backed flow, and attaches the fraud-prevention headers HMRC expects.
  • HMRC responsesThe worker forwards typed requests to https://test-api.service.hmrc.gov.uk, then returns consistent business, obligations, submission, and calculation results back to PlayPay.
PlayPay to HMRC integration flow A high level diagram showing the PlayPay app sending requests to a Cloudflare Worker, which then talks to HMRC OAuth and HMRC APIs before returning responses to the app. APP CALLS OAUTH SIGNED API CALLS NORMALISED RESPONSES PlayPay App Connect HMRC Show obligations Submit updates Cloudflare edge Cloudflare Worker OAuth redirect + callback Relay token + typed proxy Fraud-prevention headers HMRC OAuth Consent Code Token HMRC APIs Identity Obligations Submissions + calc
Worker https://playpay-mtd-auth-worker-dev.playpay.workers.dev brokers requests to https://test-api.service.hmrc.gov.uk.

Security and Compliance Controls

Secure token handling — no tokens in logs

  • Apple identity token is never logged in full: the app redacts it to `{"idToken":"***"}` in every `HmrcCallLog` entry before writing to the audit store.
  • The relay token returned by the worker is masked to a `prefix…suffix` form by `_maskToken` in `CloudflareMtdRelayHttpClient` before appearing in any log.
  • Response headers (`Authorization`, `Cookie`, `Set-Cookie`, `x-auth-token`, `x-api-key`) are replaced with `***` by `_redactHeaders` before the log entry is saved.
  • HMRC OAuth refresh and access tokens are encrypted at rest in Cloudflare KV with AES-256-GCM (`encryptToken`) using a per-deployment `TOKEN_ENCRYPTION_KEY` secret; no plaintext token ever touches KV.
  • The relay token is stored on-device in the iOS Keychain via `SecureKeychainStore`, not in app preferences or local Hive storage.
  • Worker `logAudit` entries record `userId`, `action`, and HTTP status codes only — no raw token values appear in KV audit logs or console output.

Replay protection

  • The OAuth `state` parameter is an AES-GCM encrypted blob containing the user ID and a `createdAt` timestamp; the worker rejects any state token older than 10 minutes (`OAUTH_STATE_MAX_AGE_MS = 600_000 ms`) before exchanging the authorization code.
  • Relay tokens are HS256-signed JWTs with a 15-minute `exp` claim; `verifyJwt` checks expiry on every authenticated request, so expired tokens are rejected outright.
  • Each relay JWT now carries a `jti` UUID generated by `handleAppleAuth` at issuance. The worker stores the current `jti` per user in KV (`relay-jti:{sub}`, TTL 900 s). `requireRelayAuth` rejects any token whose `jti` does not match the stored value, so re-authenticating immediately invalidates the previous session.

Idempotency keys

  • The worker now enforces idempotency for all five mutating submission paths (period-summary, cumulative, annual, annual-supplemental, final-declaration) via `enforceSubmissionIdempotency`. The key is `SHA-256(userId:route:payloadHash)`; first call records it in KV with a 5-minute TTL, duplicate calls within that window receive a `200 { idempotent: true }` without reaching HMRC.
  • For the annual-data fan-out (which retries on 429/5xx with back-off via `ANNUAL_DATA_FAN_OUT_RETRY_DELAYS_MS`), the idempotency check fires before the fan-out starts, so a client retry of the entire batch cannot trigger a second fan-out run.

Rate limiting

  • The worker enforces per-IP, per-route rate limits in four named buckets: `callback` 20/min, `incident` 6/min, `read` 60/min, `submit` 10/min.
  • Rate-limit mode auto-selects: KV-backed (distributed, production) when `RATE_LIMIT_KV` is bound; in-memory otherwise. `RATE_LIMIT_MODE=off` disables enforcement for local testing.
  • Every endpoint that touches HMRC (obligations, businesses, quarterly submit, annual submit, final declaration, supplemental fan-out) is guarded by `enforceRateLimit` before any HMRC call is made.
  • Rate-limit breaches return HTTP 429 and are captured to Sentry with a stable fingerprint (`["rate_limit_exceeded", bucket, route]`) to surface sustained abuse patterns.

Submission audit logs

  • The Cloudflare Worker calls `logAudit` on every meaningful action: OAuth authorize, OAuth callback, business lookup, obligations fetch, quarterly submit, annual submit, supplemental fan-out, and final declaration. Entries are written to KV (`audit:{timestamp}:{uuid}`) in production or to console in dev.
  • The app writes a `MtdSubmissionAuditEvent` to CloudKit for every submission attempt, capturing NINO, businessId, periodKey, HTTP status code, HMRC correlation ID, request payload JSON, response payload JSON, fraud-header JSON, and baseline coverage status.
  • HMRC correlation IDs (`x-correlationid`) are extracted from every HMRC response and stored in both the worker audit log and the app CloudKit audit event, enabling end-to-end traceability from app through worker to HMRC.
  • The post-submission background task monitors baseline-item coverage and retries lookup until complete, logging progress and failures at each attempt.

Clear user confirmation screens

  • A confirmation modal (`_showSubmitConfirmationModal`) is presented before every quarterly submission. It names the period being submitted, warns if the period has not yet ended, and flags any payments or expenses not yet assigned to a business.
  • Annual amendments display a per-quarter change diff (previous value vs new value per field) before the user confirms, so nothing is submitted silently.
  • The final declaration flow steps through calculation review, extra-info collection, and a dedicated final confirmation screen before the API call is made.
  • The final declaration screen (`_MtdFinalDeclarationWarningScreen`) requires the user to toggle a `CupertinoSwitch` labelled "I declare that, to the best of my knowledge, the information in this return is correct and complete, and I am ready to submit this final declaration to HMRC." before the Submit button becomes active. This statutory-grade declaration is a prerequisite for the irreversible HMRC call.

Proper error propagation from HMRC APIs

  • The worker's `buildHmrcProxyErrorResponse` parses HMRC's JSON error body and forwards the HTTP status code, HMRC correlation ID, and structured error detail back to the app as a consistent JSON envelope.
  • `HmrcWorkerException` carries `statusCode` and `message`; Sentry captures every HMRC failure with the full call record including request/response headers and body, so errors are observable without exposing them to the user.
  • The fan-out retry logic (`shouldRetryAnnualDataFanOutCall`) distinguishes retriable errors (429, 5xx) from terminal failures, surfaces terminal errors immediately, and records every attempt in the audit log.

Run Metadata

Environment and version details for this test run.

Show details
Harness
hmrc_integration_test
HMRC endpoint
https://test-api.service.hmrc.gov.uk
Cloudflare Worker
https://playpay-mtd-auth-worker-dev.playpay.workers.dev

API Version Review

Lists the HMRC API's used by playpay, split between the core MTD journey and the extra-info APIs used during annual review flows.

Show details

MTD

Core MTD APIs that PlayPay uses to authorise HMRC access, identify the business, validate headers, check obligations, and submit or finalise self-employment data.

  • Business Details APIPlayPay uses this API to list the user's HMRC businesses and match the selected self-employment business.Specv2.0latest
  • Fraud Prevention Headers APIPlayPay uses this API to validate the fraud-prevention headers the worker sends with HMRC requests.Specv1.0latest
  • Individual Calculations APIPlayPay uses this API to trigger tax calculations, fetch the result, and complete the final declaration flow.Specv8.0latest
  • OAuth AuthorisationPlayPay uses this API to start HMRC user authorisation so the app can access the customer's MTD data.Specoverviewlatest
  • Obligations APIPlayPay uses this API to fetch quarterly and final declaration obligations so the app can show deadlines and submission status.Specv3.0latest
  • Self Employment Business APIPlayPay uses this API to submit and retrieve quarterly and annual self-employment updates for the selected business.Specv5.0latest

Extra Info

Extra-info APIs that PlayPay uses to save supporting income, relief, benefit, and disclosure data alongside the main MTD submission flow.

  • Individual Losses APIPlayPay uses this API to submit year-end loss claims for the selected self-employment business.Specv6.0latest
  • Individuals Capital Gains Income APIPlayPay uses this API to submit other capital gains and disposal details captured during final review.Specv3.0latest
  • Individuals Charges APIPlayPay uses this API to submit High Income Child Benefit Charge details collected in the year-end review.Specv3.0latest
  • Individuals Disclosures APIPlayPay uses this API to submit Marriage Allowance disclosures collected in the year-end review.Specv2.0latest
  • Individuals Dividends Income APIPlayPay uses this API to submit UK and other dividend income collected in the year-end review.Specv2.0latest
  • Individuals Employments Income APIPlayPay uses this API to submit employment income details collected in the year-end review.Specv2.0latest
  • Individuals Expenses APIPlayPay uses this API to submit deductible personal expenses that sit outside the main self-employment update.Specv3.0latest
  • Individuals Foreign Income APIPlayPay uses this API to submit foreign earnings and related foreign income details from the year-end review.Specv2.0latest
  • Individuals Other Income APIPlayPay uses this API to submit other non-self-employment income captured during final review.Specv2.0latest
  • Individuals Pensions Income APIPlayPay uses this API to submit taxable pension income collected in the year-end review.Specv2.0latest
  • Individuals Reliefs APIPlayPay uses this API to submit pension relief details collected in the year-end review.Specv3.0latest
  • Individuals Savings Income APIPlayPay uses this API to submit savings interest details collected in the year-end review.Specv2.0latest
  • Individuals State Benefits APIPlayPay uses this API to submit taxable state benefits collected in the year-end review.Specv2.0latest

Standard Cloudflare Response

Every Cloudflare request made by playpay to support HMRC submissions returns the same response envelope so the app can consume results consistently.

Show details
  • request records the PlayPay call sent to the worker.
  • apiRequests keeps each relayed HMRC request and response pair, including HMRC API metadata.
  • response.payload is always a list so one Cloudflare route can return one or many app-facing payloads.
  • response.payload excludes hmrcApi metadata. If the worker returns the HMRC body unchanged, the entry matches hmrc-response.payload. If the worker maps the HMRC body, the mapped shape appears here instead.
  • details stores scenario-specific assertions and metadata only, without copying response bodies again.
  • status captures the scenario outcome, worker HTTP status, and timing.
{
  "request": {
    "method": "GET | POST | PUT",
    "path": "/hmrc/...",
    "headers": {
      "authorization": "Bearer ...",
      "...": "..."
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET | POST | PUT",
        "path": "/...",
        "headers": {
          "...": "..."
        },
        "hmrcApi": {
          "apiName": "...",
          "operation": "...",
          "method": "...",
          "version": "...",
          "documentationUrl": "...",
          "pathTemplate": "/..."
        }
      },
      "hmrc-response": {
        "status": 200,
        "payload": {
          "...": "..."
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "...": "..."
      }
    ]
  },
  "details": {
    "...": "..."
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 123
  }
}

Application Tests

These tests mimic application flow and Cloudflare requests a user makes when checking for businesses and obligations, making quarterly submissions, sending extra info and reviewing and submitting their annual return.

🌱 Seeded businesses
Business A
Name
Pilates Studio
ID
X4IS27198436836
Business B
Name
Harbour Music Lessons
ID
X1IS73403316474
Check your Obligations with HMRCPlayPay gets the user's sole trader and property businesses from HMRC. Then, for each, it requests open and fulfilled quarterly obligations and a final declaration obligation.Tests 3Passed 1Skipped 2

Multiple Businesses | Business Details API GET /hmrc/identity returns all seeded businesses

PASSED

PlayPay queries the businesses using the national insurance number.

Started 2026-04-27T09:49:56.097384Z Duration 280 ms
  • PASSHarness-seeded identity read-back used Gov-Test-Scenario: STATEFUL.
  • PASSHMRC identity returned 2 business(es); all 2 seeded business(es) matched.
Cloudflare request and standard response
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/identity?nino=WL254177A&gov-test-scenario=STATEFUL",
    "path": "/hmrc/identity",
    "queryParameters": {
      "nino": "WL254177A",
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb8aa83deb14",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/details/WL254177A/list",
        "path": "/individuals/business/details/WL254177A/list",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "BusinessDetails",
          "operation": "ListBusinesses",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/business-details-api/2.0",
          "pathTemplate": "/individuals/business/details/{nino}/list",
          "path": "/individuals/business/details/WL254177A/list"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e39e5f90-2a02-4177-ac73-5183e3f2e84c",
        "payload": {
          "listOfBusinesses": [
            {
              "typeOfBusiness": "self-employment",
              "businessId": "X1IS73403316474",
              "tradingName": "Harbour Music Lessons"
            },
            {
              "typeOfBusiness": "self-employment",
              "businessId": "X4IS27198436836",
              "tradingName": "Pilates Studio"
            }
          ]
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "nino": "WL254177A",
        "businesses": [
          {
            "businessId": "X1IS73403316474",
            "businessName": "Harbour Music Lessons"
          },
          {
            "businessId": "X4IS27198436836",
            "businessName": "Pilates Studio"
          }
        ]
      }
    ]
  },
  "details": {
    "businessCount": 2,
    "seededBusinessCount": 2,
    "matchedSeededCount": 2,
    "allSeededBusinessesMatched": true,
    "seededBusinessReadBackValidated": true,
    "identityReadBackAttempts": 1,
    "identityReadBackUsedStatefulScenario": true,
    "seededBusinessIdentityLagAccepted": false,
    "seededBusinessProofLimitedByStub": false
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 149
  }
}

Multiple Businesses | Obligations API GET /hmrc/obligations returns open quarterly obligations

SKIPPED

PlayPay fetches open quarterly obligations and builds the quarterly deadlines from them. We skip this test in the sandbox because the api is stateless and does not return the quarters seed. The Individual API Tests below still prove the endpoint can be called.

Started 2026-04-27T09:49:56.381150Z Duration 1 ms
  • WARNHMRC Obligations API is non-stateful in the sandbox. The Individual API Tests below still prove the endpoint can be called, but 8 open quarterly obligation(s) across 2 business(es) are saved from the harness seed response and reused later for quarterly submissions.
Cloudflare request and standard response
{
  "request": {},
  "apiRequests": [],
  "response": {
    "payload": []
  },
  "details": {
    "skipReason": "HMRC Obligations API is non-stateful in the sandbox. The Individual API Tests below still prove the endpoint can be called, but 8 open quarterly obligation(s) across 2 business(es) are saved from the harness seed response and reused later for quarterly submissions."
  },
  "status": {
    "scenario": "skipped"
  }
}

Multiple Businesses | Obligations API GET /hmrc/obligations/final-declaration returns open final declaration obligations

SKIPPED

PlayPay checks whether the final declaration is open before guiding the user into the year-end flow. We skip this test in the sandbox because the api is stateless and does not return the seeded final declaration state. The Individual API Tests below still prove the endpoint can be called.

Started 2026-04-27T09:49:56.383475Z Duration 0 ms
  • WARNHMRC Obligations API is non-stateful in the sandbox. The Individual API Tests below still prove the endpoint can be called, but final declaration obligation checks across 2 business(es) are saved from the harness seed response and reused later for final annual submissions.
Cloudflare request and standard response
{
  "request": {},
  "apiRequests": [],
  "response": {
    "payload": []
  },
  "details": {
    "skipReason": "HMRC Obligations API is non-stateful in the sandbox. The Individual API Tests below still prove the endpoint can be called, but final declaration obligation checks across 2 business(es) are saved from the harness seed response and reused later for final annual submissions."
  },
  "status": {
    "scenario": "skipped"
  }
}
Submit Quarterly ReturnsPlayPay submits Q1–Q4 quarterly returns for each seeded business. Each business is grouped below so the Q1–Q4 sequence is easier to scan. Each PUT is immediately read back with a GET for test-only verification (the app reads cumulative data from local storage, not HMRC).Tests 8Passed 7Failed 1
Business A - Pilates StudioTests 4Passed 3Failed 1
Q1

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q1 quarterly update

FAILED

PlayPay submits the quarter's income and expense totals through the worker to HMRC, then reads the saved summary back to verify the stored figures match what was sent.

Started 2026-04-27T09:49:56.384848Z Duration 481 ms
  • FAILScenario failed: HmrcWorkerException(404): { "error": "Failed to retrieve cumulative summary.", "hmrcStatus": 404, "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d", "body": { "code": "MATCHING_RESOURCE_NOT_FOUND", "message": "Matching resource not found" }, "hmrcApi": { "apiName": "SelfEmployment", "operation": "GetCumulativePeriodSummary", "method": "GET", "acceptHeader": "application/vnd.hmrc.5.0+json", "version": "5.0", "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0", "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}", "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26" }, "request": { "method": "GET", "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL", "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26", "queryParameters": { "gov-test-scenario": "STATEFUL" }, "headers": { "accept": "application/json", "accept-encoding": "gzip, br", "authorization": "Bearer eyJhbGciOiJ...K8", "cf-connecting-ip": "209.x.x.x", "cf-ipcountry": "GB", "cf-ray": "9f2ceb8d5df25395", "cf-visitor": "{\"scheme\":\"https\"}", "connection": "Keep-Alive", "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev", "user-agent": "Dart/3.9 (dart:io)", "x-forwarded-proto": "https", "x-playpay-trace": "1", "x-real-ip": "209.x.x.x" } }, "apiRequests": [ { "relayed-request": { "method": "GET", "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26", "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26", "headers": { "authorization": "Bearer 403be4fa2d5...c3", "accept": "application/vnd.hmrc.5.0+json", "gov-client-connection-method": "MOBILE_APP_DIRECT", "gov-client-device-id": "playpay-bdd...ce", "gov-client-timezone": "UTC+00:00", "gov-client-user-ids": "os=playpay-bdd-smoke", "gov-uk-originator-id": "playpay-bdd...ke", "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x", "gov-vendor-license-ids": "playpay=hmrc-bdd-smoke-license", "gov-vendor-product-name": "PlayPay", "gov-vendor-public-ip": "198.x.x.x", "gov-vendor-version": "playpay=hmrc-bdd-smoke-1", "Gov-Test-Scenario": "STATEFUL" }, "hmrcApi": { "apiName": "SelfEmployment", "operation": "GetCumulativePeriodSummary", "method": "GET", "acceptHeader": "application/vnd.hmrc.5.0+json", "version": "5.0", "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0", "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}", "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26" } }, "hmrc-response": { "status": 404, "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d", "payload": { "code": "MATCHING_RESOURCE_NOT_FOUND", "message": "Matching resource not found" } } } ], "response": { "status": 404, "payload": { "error": "Failed to retrieve cumulative summary.", "hmrcStatus": 404, "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d", "body": { "code": "MATCHING_RESOURCE_NOT_FOUND", "message": "Matching resource not found" }, "hmrcApi": { "apiName": "SelfEmployment", "operation": "GetCumulativePeriodSummary", "method": "GET", "acceptHeader": "application/vnd.hmrc.5.0+json", "version": "5.0", "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0", "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}", "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26" } } } }
Error
HmrcWorkerException(404): {
  "error": "Failed to retrieve cumulative summary.",
  "hmrcStatus": 404,
  "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d",
  "body": {
    "code": "MATCHING_RESOURCE_NOT_FOUND",
    "message": "Matching resource not found"
  },
  "hmrcApi": {
    "apiName": "SelfEmployment",
    "operation": "GetCumulativePeriodSummary",
    "method": "GET",
    "acceptHeader": "application/vnd.hmrc.5.0+json",
    "version": "5.0",
    "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
    "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
    "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
  },
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb8d5df25395",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd-smoke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-smoke-license",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 404,
        "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d",
        "payload": {
          "code": "MATCHING_RESOURCE_NOT_FOUND",
          "message": "Matching resource not found"
        }
      }
    }
  ],
  "response": {
    "status": 404,
    "payload": {
      "error": "Failed to retrieve cumulative summary.",
      "hmrcStatus": 404,
      "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d",
      "body": {
        "code": "MATCHING_RESOURCE_NOT_FOUND",
        "message": "Matching resource not found"
      },
      "hmrcApi": {
        "apiName": "SelfEmployment",
        "operation": "GetCumulativePeriodSummary",
        "method": "GET",
        "acceptHeader": "application/vnd.hmrc.5.0+json",
        "version": "5.0",
        "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
        "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
      }
    }
  }
}
Cloudflare request and standard response
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb8d5df25395",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 404,
        "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d",
        "payload": {
          "code": "MATCHING_RESOURCE_NOT_FOUND",
          "message": "Matching resource not found"
        }
      }
    }
  ],
  "response": {
    "status": 404,
    "payload": [
      {
        "error": "Failed to retrieve cumulative summary.",
        "hmrcStatus": 404,
        "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d",
        "body": {
          "code": "MATCHING_RESOURCE_NOT_FOUND",
          "message": "Matching resource not found"
        }
      }
    ]
  },
  "details": {
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        },
        "request": {
          "method": "GET",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL",
          "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
          "queryParameters": {
            "gov-test-scenario": "STATEFUL"
          },
          "headers": {
            "accept": "application/json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2ceb8d5df25395",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "GET",
              "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
              "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.5.0+json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "STATEFUL"
              },
              "hmrcApi": {
                "apiName": "SelfEmployment",
                "operation": "GetCumulativePeriodSummary",
                "method": "GET",
                "acceptHeader": "application/vnd.hmrc.5.0+json",
                "version": "5.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
                "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
                "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "SelfEmployment",
              "operation": "GetCumulativePeriodSummary",
              "method": "GET",
              "acceptHeader": "application/vnd.hmrc.5.0+json",
              "version": "5.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
              "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
              "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "failed",
    "http": 404,
    "durationMs": 210
  }
}
Q2 2025-04-06 to 2025-10-05

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q2 quarterly update

PASSED

PlayPay submits the quarter's income and expense totals through the worker to HMRC, then reads the saved summary back to verify the stored figures match what was sent.

Started 2026-04-27T09:49:56.873214Z Duration 720 ms
  • PASSBusiness A Q2 quarterly submission returned worker status 200.
  • PASSBusiness A Q2 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness A Q2 cumulative read-back matched the submitted period, income, and expense fields.
Cloudflare request and standard response
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb91eb4ea14b",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2025-10-05"
          },
          "periodIncome": {
            "turnover": 3975.5,
            "other": 45,
            "taxTakenOffTradingIncome": 0
          },
          "periodExpenses": {
            "adminCosts": 332.4
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 18.75
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "88734716-29d7-49bb-8e80-480c2ba2a2ae",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "407b4d0d-bb90-46f4-b7a3-1e5057e99ea8",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2025-10-05"
          },
          "periodIncome": {
            "turnover": 3975.5,
            "other": 45,
            "taxTakenOffTradingIncome": 0
          },
          "periodExpenses": {
            "adminCosts": 332.4
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 18.75
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2025-10-05"
        },
        "periodIncome": {
          "turnover": 3975.5,
          "other": 45,
          "taxTakenOffTradingIncome": 0
        },
        "periodExpenses": {
          "adminCosts": 332.4
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 18.75
        }
      }
    ]
  },
  "details": {
    "business": "A",
    "businessId": "X4IS27198436836",
    "quarter": "Q2",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "88734716-29d7-49bb-8e80-480c2ba2a2ae",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2025-10-05T00:00:00.000Z",
      "periodKey": "Q2"
    },
    "submissionPayload": {
      "periodIncome": {
        "other": 45.0,
        "taxTakenOffTradingIncome": 0.0
      }
    },
    "verification": {
      "subject": "Business A Q2 cumulative summary",
      "verified": true,
      "expectedPayload": {
        "periodIncome": {
          "other": 45.0,
          "taxTakenOffTradingIncome": 0.0
        }
      }
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 208
  }
}
Q3 2025-04-06 to 2026-01-05

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q3 quarterly update

PASSED

PlayPay submits the quarter's income and expense totals through the worker to HMRC, then reads the saved summary back to verify the stored figures match what was sent.

Started 2026-04-27T09:49:57.595161Z Duration 720 ms
  • PASSBusiness A Q3 quarterly submission returned worker status 200.
  • PASSBusiness A Q3 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness A Q3 cumulative read-back matched the submitted period, income, and expense fields.
Cloudflare request and standard response
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb96befdeb18",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-01-05"
          },
          "periodIncome": {
            "turnover": 6420.75,
            "other": 92.5,
            "taxTakenOffTradingIncome": 21.1
          },
          "periodExpenses": {
            "adminCosts": 517.9
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 30.25
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c218b5ca-1987-4ec6-887e-ed3be7850fd2",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "96afc568-0503-4ab5-8d3b-f5921838c45e",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-01-05"
          },
          "periodIncome": {
            "turnover": 6420.75,
            "other": 92.5,
            "taxTakenOffTradingIncome": 21.1
          },
          "periodExpenses": {
            "adminCosts": 517.9
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 30.25
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2026-01-05"
        },
        "periodIncome": {
          "turnover": 6420.75,
          "other": 92.5,
          "taxTakenOffTradingIncome": 21.1
        },
        "periodExpenses": {
          "adminCosts": 517.9
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 30.25
        }
      }
    ]
  },
  "details": {
    "business": "A",
    "businessId": "X4IS27198436836",
    "quarter": "Q3",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "c218b5ca-1987-4ec6-887e-ed3be7850fd2",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2026-01-05T00:00:00.000Z",
      "periodKey": "Q3"
    },
    "verification": {
      "subject": "Business A Q3 cumulative summary",
      "verified": true
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 159
  }
}
Q4 2025-04-06 to 2026-04-05

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q4 quarterly update

PASSED

PlayPay submits the quarter's income and expense totals through the worker to HMRC, then reads the saved summary back to verify the stored figures match what was sent.

Started 2026-04-27T09:49:58.318859Z Duration 873 ms
  • PASSBusiness A Q4 quarterly submission returned worker status 200.
  • PASSBusiness A Q4 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness A Q4 cumulative read-back matched the submitted period, income, and expense fields.
Cloudflare request and standard response
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb9c3c072196",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-04-05"
          },
          "periodIncome": {
            "turnover": 9088,
            "other": 130,
            "taxTakenOffTradingIncome": 37.65
          },
          "periodExpenses": {
            "adminCosts": 748.2
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 45
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "1fea0463-0634-42a3-b416-7b53485303bc",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "3eebf896-5049-4d59-ab18-22c63b2676f4",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-04-05"
          },
          "periodIncome": {
            "turnover": 9088,
            "other": 130,
            "taxTakenOffTradingIncome": 37.65
          },
          "periodExpenses": {
            "adminCosts": 748.2
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 45
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2026-04-05"
        },
        "periodIncome": {
          "turnover": 9088,
          "other": 130,
          "taxTakenOffTradingIncome": 37.65
        },
        "periodExpenses": {
          "adminCosts": 748.2
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 45
        }
      }
    ]
  },
  "details": {
    "business": "A",
    "businessId": "X4IS27198436836",
    "quarter": "Q4",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "1fea0463-0634-42a3-b416-7b53485303bc",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2026-04-05T00:00:00.000Z",
      "periodKey": "Q4"
    },
    "submissionPayload": {
      "periodIncome": {
        "turnover": 9088.0,
        "other": 130.0
      },
      "periodDisallowableExpenses": {
        "adminCostsDisallowable": 45.0
      }
    },
    "verification": {
      "subject": "Business A Q4 cumulative summary",
      "verified": true,
      "expectedPayload": {
        "periodIncome": {
          "turnover": 9088.0,
          "other": 130.0
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 45.0
        }
      }
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 157
  }
}
Business B - Harbour Music LessonsTests 4Passed 4
Q1 2025-04-06 to 2025-07-05

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q1 quarterly update

PASSED

PlayPay submits the quarter's income and expense totals through the worker to HMRC, then reads the saved summary back to verify the stored figures match what was sent.

Started 2026-04-27T09:49:59.194517Z Duration 723 ms
  • PASSBusiness B Q1 quarterly submission returned worker status 200.
  • PASSBusiness B Q1 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness B Q1 cumulative read-back matched the submitted period, income, and expense fields.
Cloudflare request and standard response
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceba07cc43607",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2025-07-05"
          },
          "periodIncome": {
            "turnover": 2465.65,
            "other": 18.75,
            "taxTakenOffTradingIncome": 0
          },
          "periodExpenses": {
            "adminCosts": 204.4
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 15.7
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "af1e976e-6687-4629-95c1-cff2d7410419",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b732756f-5924-4a7b-849e-a7950cbdfd20",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2025-07-05"
          },
          "periodIncome": {
            "turnover": 2465.65,
            "other": 18.75,
            "taxTakenOffTradingIncome": 0
          },
          "periodExpenses": {
            "adminCosts": 204.4
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 15.7
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2025-07-05"
        },
        "periodIncome": {
          "turnover": 2465.65,
          "other": 18.75,
          "taxTakenOffTradingIncome": 0
        },
        "periodExpenses": {
          "adminCosts": 204.4
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 15.7
        }
      }
    ]
  },
  "details": {
    "business": "B",
    "businessId": "X1IS73403316474",
    "quarter": "Q1",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "af1e976e-6687-4629-95c1-cff2d7410419",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2025-07-05T00:00:00.000Z",
      "periodKey": "Q1"
    },
    "submissionPayload": {
      "periodIncome": {
        "taxTakenOffTradingIncome": 0.0
      }
    },
    "verification": {
      "subject": "Business B Q1 cumulative summary",
      "verified": true,
      "expectedPayload": {
        "periodIncome": {
          "taxTakenOffTradingIncome": 0.0
        }
      }
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 203
  }
}
Q2 2025-04-06 to 2025-10-05

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q2 quarterly update

PASSED

PlayPay submits the quarter's income and expense totals through the worker to HMRC, then reads the saved summary back to verify the stored figures match what was sent.

Started 2026-04-27T09:49:59.921442Z Duration 988 ms
  • PASSBusiness B Q2 quarterly submission returned worker status 200.
  • PASSBusiness B Q2 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness B Q2 cumulative read-back matched the submitted period, income, and expense fields.
Cloudflare request and standard response
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceba5af1fb34c",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2025-10-05"
          },
          "periodIncome": {
            "turnover": 4600.9,
            "other": 63.75,
            "taxTakenOffTradingIncome": 4.25
          },
          "periodExpenses": {
            "adminCosts": 391
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 24.95
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8ed471aa-b957-4686-b16d-56acc531df7a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2a9b3feb-f143-4124-b4dd-21f5d7ba9e5a",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2025-10-05"
          },
          "periodIncome": {
            "turnover": 4600.9,
            "other": 63.75,
            "taxTakenOffTradingIncome": 4.25
          },
          "periodExpenses": {
            "adminCosts": 391
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 24.95
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2025-10-05"
        },
        "periodIncome": {
          "turnover": 4600.9,
          "other": 63.75,
          "taxTakenOffTradingIncome": 4.25
        },
        "periodExpenses": {
          "adminCosts": 391
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 24.95
        }
      }
    ]
  },
  "details": {
    "business": "B",
    "businessId": "X1IS73403316474",
    "quarter": "Q2",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "8ed471aa-b957-4686-b16d-56acc531df7a",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2025-10-05T00:00:00.000Z",
      "periodKey": "Q2"
    },
    "submissionPayload": {
      "periodExpenses": {
        "adminCosts": 391.0
      }
    },
    "verification": {
      "subject": "Business B Q2 cumulative summary",
      "verified": true,
      "expectedPayload": {
        "periodExpenses": {
          "adminCosts": 391.0
        }
      }
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 364
  }
}
Q3 2025-04-06 to 2026-01-05

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q3 quarterly update

PASSED

PlayPay submits the quarter's income and expense totals through the worker to HMRC, then reads the saved summary back to verify the stored figures match what was sent.

Started 2026-04-27T09:50:00.912742Z Duration 822 ms
  • PASSBusiness B Q3 quarterly submission returned worker status 200.
  • PASSBusiness B Q3 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness B Q3 cumulative read-back matched the submitted period, income, and expense fields.
Cloudflare request and standard response
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebabdae5b378",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-01-05"
          },
          "periodIncome": {
            "turnover": 7046.15,
            "other": 111.25,
            "taxTakenOffTradingIncome": 25.35
          },
          "periodExpenses": {
            "adminCosts": 576.5
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 36.45
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "92fa7d85-8032-4923-a40d-b08b17245966",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "138bc63b-5255-4802-9119-c746122a96bb",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-01-05"
          },
          "periodIncome": {
            "turnover": 7046.15,
            "other": 111.25,
            "taxTakenOffTradingIncome": 25.35
          },
          "periodExpenses": {
            "adminCosts": 576.5
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 36.45
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2026-01-05"
        },
        "periodIncome": {
          "turnover": 7046.15,
          "other": 111.25,
          "taxTakenOffTradingIncome": 25.35
        },
        "periodExpenses": {
          "adminCosts": 576.5
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 36.45
        }
      }
    ]
  },
  "details": {
    "business": "B",
    "businessId": "X1IS73403316474",
    "quarter": "Q3",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "92fa7d85-8032-4923-a40d-b08b17245966",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2026-01-05T00:00:00.000Z",
      "periodKey": "Q3"
    },
    "verification": {
      "subject": "Business B Q3 cumulative summary",
      "verified": true
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 201
  }
}
Q4 2025-04-06 to 2026-04-05

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q4 quarterly update

PASSED

PlayPay submits the quarter's income and expense totals through the worker to HMRC, then reads the saved summary back to verify the stored figures match what was sent.

Started 2026-04-27T09:50:01.738365Z Duration 729 ms
  • PASSBusiness B Q4 quarterly submission returned worker status 200.
  • PASSBusiness B Q4 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness B Q4 cumulative read-back matched the submitted period, income, and expense fields.
Cloudflare request and standard response
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb0aca2b0dd",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-04-05"
          },
          "periodIncome": {
            "turnover": 9713.4,
            "other": 148.75,
            "taxTakenOffTradingIncome": 41.9
          },
          "periodExpenses": {
            "adminCosts": 806.8
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 51.2
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "1a799295-b04a-45c9-887b-9e349f08ceb6",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b0df4c5d-0896-4dc0-a4ec-b00fa09ecba8",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-04-05"
          },
          "periodIncome": {
            "turnover": 9713.4,
            "other": 148.75,
            "taxTakenOffTradingIncome": 41.9
          },
          "periodExpenses": {
            "adminCosts": 806.8
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 51.2
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2026-04-05"
        },
        "periodIncome": {
          "turnover": 9713.4,
          "other": 148.75,
          "taxTakenOffTradingIncome": 41.9
        },
        "periodExpenses": {
          "adminCosts": 806.8
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 51.2
        }
      }
    ]
  },
  "details": {
    "business": "B",
    "businessId": "X1IS73403316474",
    "quarter": "Q4",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "1a799295-b04a-45c9-887b-9e349f08ceb6",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2026-04-05T00:00:00.000Z",
      "periodKey": "Q4"
    },
    "verification": {
      "subject": "Business B Q4 cumulative summary",
      "verified": true
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 163
  }
}
Final Quarterly UpdatesIf quarterly figures have changed since initial submission, PlayPay re-submits the latest cumulative period for each seeded business before proceeding to the final annual review. Each business is grouped below so the amendment evidence is easy to scan.Tests 2Passed 2

Multiple Businesses | Business A | Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits latest cumulative amendment before final annual review

PASSED

PlayPay re-submits the latest cumulative period for this business when changed quarterly figures need to be reflected before the final annual review.

Started 2026-04-27T09:50:02.471277Z Duration 162 ms
  • WARNAmendment detection is UI-side; this scenario exercises the submission path by re-submitting Business A Q4 with STATEFUL.
  • PASSBusiness A Q4 amendment returned worker status 200.
  • PASSBusiness A Q4 amendment used Gov-Test-Scenario: STATEFUL.
Cloudflare request and standard response
{
  "request": {
    "stage": "Cumulative submission",
    "method": "PUT",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "headers": {
      "accept": "application/json",
      "authorization": "Bearer ***",
      "content-type": "application/json",
      "X-PlayPay-Trace": "1",
      "Gov-Test-Scenario": "STATEFUL"
    },
    "body": {
      "periodDates": {
        "periodStartDate": "2025-04-06",
        "periodEndDate": "2026-04-05"
      },
      "periodIncome": {
        "turnover": 9088.0,
        "other": 130.0,
        "taxTakenOffTradingIncome": 37.65
      },
      "periodExpenses": {
        "adminCosts": 748.2
      },
      "periodDisallowableExpenses": {
        "adminCostsDisallowable": 45.0
      }
    }
  },
  "apiRequests": [],
  "response": {
    "status": 200,
    "payload": [
      {
        "message": "Already submitted.",
        "idempotent": true
      }
    ]
  },
  "details": {
    "amendedQuarter": "Q4",
    "amendedBusiness": "A",
    "businessId": "X4IS27198436836",
    "businessName": "Pilates Studio",
    "statusCode": 200,
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2026-04-05T00:00:00.000Z",
      "periodKey": "Q4"
    },
    "submissionPayload": {
      "periodDates": {
        "periodStartDate": "2025-04-06",
        "periodEndDate": "2026-04-05"
      },
      "periodIncome": {
        "turnover": 9088.0,
        "other": 130.0,
        "taxTakenOffTradingIncome": 37.65
      },
      "periodExpenses": {
        "adminCosts": 748.2
      },
      "periodDisallowableExpenses": {
        "adminCostsDisallowable": 45.0
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 29
  }
}

Multiple Businesses | Business B | Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits latest cumulative amendment before final annual review

PASSED

PlayPay re-submits the latest cumulative period for this business when changed quarterly figures need to be reflected before the final annual review.

Started 2026-04-27T09:50:02.634773Z Duration 167 ms
  • WARNAmendment detection is UI-side; this scenario exercises the submission path by re-submitting Business B Q4 with STATEFUL.
  • PASSBusiness B Q4 amendment returned worker status 200.
  • PASSBusiness B Q4 amendment used Gov-Test-Scenario: STATEFUL.
Cloudflare request and standard response
{
  "request": {
    "stage": "Cumulative submission",
    "method": "PUT",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
    "path": "/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
    "headers": {
      "accept": "application/json",
      "authorization": "Bearer ***",
      "content-type": "application/json",
      "X-PlayPay-Trace": "1",
      "Gov-Test-Scenario": "STATEFUL"
    },
    "body": {
      "periodDates": {
        "periodStartDate": "2025-04-06",
        "periodEndDate": "2026-04-05"
      },
      "periodIncome": {
        "turnover": 9713.4,
        "other": 148.75,
        "taxTakenOffTradingIncome": 41.9
      },
      "periodExpenses": {
        "adminCosts": 806.8
      },
      "periodDisallowableExpenses": {
        "adminCostsDisallowable": 51.2
      }
    }
  },
  "apiRequests": [],
  "response": {
    "status": 200,
    "payload": [
      {
        "message": "Already submitted.",
        "idempotent": true
      }
    ]
  },
  "details": {
    "amendedQuarter": "Q4",
    "amendedBusiness": "B",
    "businessId": "X1IS73403316474",
    "businessName": "Harbour Music Lessons",
    "statusCode": 200,
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2026-04-05T00:00:00.000Z",
      "periodKey": "Q4"
    },
    "submissionPayload": {
      "periodDates": {
        "periodStartDate": "2025-04-06",
        "periodEndDate": "2026-04-05"
      },
      "periodIncome": {
        "turnover": 9713.4,
        "other": 148.75,
        "taxTakenOffTradingIncome": 41.9
      },
      "periodExpenses": {
        "adminCosts": 806.8
      },
      "periodDisallowableExpenses": {
        "adminCostsDisallowable": 51.2
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 38
  }
}
Adjustments, capital allowances and extra infoThe app shows a form in the final submission that lets the user add adjustments and allowances per business and any extra info required in the final submission e.g. dividends. Once all the info is input it fans out calling multiple hmrc endpoints to update the annual info for the user.Tests 1Passed 1

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED

PlayPay sends the annual Extra Info flow through the worker: `/hmrc/annual-data` carries the selected extra income, benefit, relief, and disclosure sections, and the self-employment annual update route saves the final values once for each business before the tax calculation is triggered.

Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Cloudflare request and standard response
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}
Review tax calculation before SubmissionOnce all information has been submitted PlayPay retrieves the final tax calculation for review.Tests 1Passed 1

Multiple Businesses | Individual Calculations API POST /hmrc/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/intent-to-finalise triggers a tax calculation

PASSED

PlayPay asks HMRC to prepare the tax calculation that the user reviews before the final declaration can be submitted.

Started 2026-04-27T09:50:07.995390Z Duration 0 ms
  • PASSTax calculation already triggered in the Single Business section; reusing calculationId f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c for all businesses.
Cloudflare request and standard response
{
  "request": {},
  "apiRequests": [],
  "response": {
    "payload": []
  },
  "details": {
    "calculationId": "f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c",
    "reused": true,
    "businessCount": 2
  },
  "status": {
    "scenario": "passed"
  }
}
Submit Final Annual ReturnOnce the use is happy with tax calculation then can submits the single final declaration that covers all businesses for the tax year. The tax calculation id is passed back to the HMRC and is required when making a final declaration, if successful HMRC returns a correlation Id.Tests 1Passed 1

Multiple Businesses | Individual Calculations API POST /hmrc/individuals/calculations/{nino}/self-assessment/{taxYear}/{calculationId}/final-declaration submits the final declaration

PASSED

PlayPay submits the final declaration after the user accepts the reviewed tax calculation. A single final declaration covers all businesses registered under the NINO.

Started 2026-04-27T09:50:07.996581Z Duration 158 ms
  • PASSFinal declaration (all businesses) returned worker status 200.
Cloudflare request and standard response
{
  "request": {
    "stage": "Final declaration",
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c/final-declaration",
    "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c/final-declaration",
    "headers": {
      "accept": "application/vnd.hmrc.8.0+json",
      "authorization": "Bearer ***",
      "X-PlayPay-Trace": "1"
    }
  },
  "apiRequests": [],
  "response": {
    "status": 200,
    "payload": [
      {
        "message": "Already submitted.",
        "idempotent": true
      }
    ]
  },
  "details": {
    "calculationId": "f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c",
    "statusCode": 200
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 32
  }
}

Individual API Tests

These tests exercise Cloudflare endpoints that relay the requests to single HMRC API endpoint so each HMRC integration route can be verified one call at a time.

MTD

Core MTD APIs that PlayPay uses to authorise HMRC access, identify the business, validate headers, check obligations, and submit or finalise self-employment data.

Business Details APISpecversion 2.0PlayPay uses this API to list the user's HMRC businesses and match the selected self-employment business.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/business/details/{nino}/listTests 7Passed 7

Business Details API GET /hmrc/identity

HMRC Scenario: PROPERTY. Simulates a successful response with a UK-property business.

PASSED
Started 2026-04-27T09:50:08.157647Z Duration 315 ms
  • PASS1 business found.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/identity?nino=WL254177A&gov-test-scenario=PROPERTY",
    "path": "/hmrc/identity",
    "queryParameters": {
      "nino": "WL254177A",
      "gov-test-scenario": "PROPERTY"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebd61ca5d404",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/details/WL254177A/list",
        "path": "/individuals/business/details/WL254177A/list",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "PROPERTY"
        },
        "hmrcApi": {
          "apiName": "BusinessDetails",
          "operation": "ListBusinesses",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/business-details-api/2.0",
          "pathTemplate": "/individuals/business/details/{nino}/list",
          "path": "/individuals/business/details/WL254177A/list"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "13e57cfc-cebc-46b5-959d-ec8025cf676f",
        "payload": {
          "listOfBusinesses": [
            {
              "typeOfBusiness": "uk-property",
              "businessId": "XPIS12345678901"
            }
          ]
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "nino": "WL254177A",
        "businesses": [
          {
            "businessId": "XPIS12345678901",
            "businessName": "XPIS12345678901"
          }
        ]
      }
    ]
  },
  "details": {
    "scenario": "PROPERTY",
    "businessCount": 1
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 180
  }
}

Business Details API GET /hmrc/identity

HMRC Scenario: FOREIGN_PROPERTY. Simulates a successful response with a foreign-property business.

PASSED
Started 2026-04-27T09:50:08.473551Z Duration 431 ms
  • PASS1 business found.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/identity?nino=WL254177A&gov-test-scenario=FOREIGN_PROPERTY",
    "path": "/hmrc/identity",
    "queryParameters": {
      "nino": "WL254177A",
      "gov-test-scenario": "FOREIGN_PROPERTY"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebd81a8326aa",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/details/WL254177A/list",
        "path": "/individuals/business/details/WL254177A/list",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "FOREIGN_PROPERTY"
        },
        "hmrcApi": {
          "apiName": "BusinessDetails",
          "operation": "ListBusinesses",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/business-details-api/2.0",
          "pathTemplate": "/individuals/business/details/{nino}/list",
          "path": "/individuals/business/details/WL254177A/list"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e322070c-2f51-417e-a4b7-0b8a49185a78",
        "payload": {
          "listOfBusinesses": [
            {
              "typeOfBusiness": "foreign-property",
              "businessId": "XFIS12345678901"
            }
          ]
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "nino": "WL254177A",
        "businesses": [
          {
            "businessId": "XFIS12345678901",
            "businessName": "XFIS12345678901"
          }
        ]
      }
    ]
  },
  "details": {
    "scenario": "FOREIGN_PROPERTY",
    "businessCount": 1
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 300
  }
}

Business Details API GET /hmrc/identity

HMRC Scenario: BUSINESS_AND_PROPERTY. Simulates a successful response with a self-employment, UK-property and foreign-property business.

PASSED
Started 2026-04-27T09:50:08.907019Z Duration 406 ms
  • PASS3 businesses found.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/identity?nino=WL254177A&gov-test-scenario=BUSINESS_AND_PROPERTY",
    "path": "/hmrc/identity",
    "queryParameters": {
      "nino": "WL254177A",
      "gov-test-scenario": "BUSINESS_AND_PROPERTY"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebdacc2b3477",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/details/WL254177A/list",
        "path": "/individuals/business/details/WL254177A/list",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "BUSINESS_AND_PROPERTY"
        },
        "hmrcApi": {
          "apiName": "BusinessDetails",
          "operation": "ListBusinesses",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/business-details-api/2.0",
          "pathTemplate": "/individuals/business/details/{nino}/list",
          "path": "/individuals/business/details/WL254177A/list"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "5fdf8db6-7334-44c9-bd8e-4d1a67aeec34",
        "payload": {
          "listOfBusinesses": [
            {
              "typeOfBusiness": "self-employment",
              "businessId": "XBIS12345678901",
              "tradingName": "Company X"
            },
            {
              "typeOfBusiness": "uk-property",
              "businessId": "XPIS12345678901"
            },
            {
              "typeOfBusiness": "foreign-property",
              "businessId": "XFIS12345678901"
            }
          ]
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "nino": "WL254177A",
        "businesses": [
          {
            "businessId": "XBIS12345678901",
            "businessName": "Company X"
          },
          {
            "businessId": "XPIS12345678901",
            "businessName": "XPIS12345678901"
          },
          {
            "businessId": "XFIS12345678901",
            "businessName": "XFIS12345678901"
          }
        ]
      }
    ]
  },
  "details": {
    "scenario": "BUSINESS_AND_PROPERTY",
    "businessCount": 3
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 263
  }
}

Business Details API GET /hmrc/identity

HMRC Scenario: UNSPECIFIED. Simulates a successful response with a property-unspecified business.

PASSED
Started 2026-04-27T09:50:09.314521Z Duration 300 ms
  • PASS1 business found.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/identity?nino=WL254177A&gov-test-scenario=UNSPECIFIED",
    "path": "/hmrc/identity",
    "queryParameters": {
      "nino": "WL254177A",
      "gov-test-scenario": "UNSPECIFIED"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebdd4980eb13",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/details/WL254177A/list",
        "path": "/individuals/business/details/WL254177A/list",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "UNSPECIFIED"
        },
        "hmrcApi": {
          "apiName": "BusinessDetails",
          "operation": "ListBusinesses",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/business-details-api/2.0",
          "pathTemplate": "/individuals/business/details/{nino}/list",
          "path": "/individuals/business/details/WL254177A/list"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "7ffc401e-e8c5-4169-a5bb-cfa8238e5dc7",
        "payload": {
          "listOfBusinesses": [
            {
              "typeOfBusiness": "property-unspecified",
              "businessId": "XAIS12345678901"
            }
          ]
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "nino": "WL254177A",
        "businesses": [
          {
            "businessId": "XAIS12345678901",
            "businessName": "XAIS12345678901"
          }
        ]
      }
    ]
  },
  "details": {
    "scenario": "UNSPECIFIED",
    "businessCount": 1
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 167
  }
}

Business Details API GET /hmrc/identity

HMRC Scenario: NOT_FOUND. Simulates the scenario where no data is found.

PASSED
Started 2026-04-27T09:50:09.618436Z Duration 338 ms
  • PASS0 businesses found.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/identity?nino=WL254177A&gov-test-scenario=NOT_FOUND",
    "path": "/hmrc/identity",
    "queryParameters": {
      "nino": "WL254177A",
      "gov-test-scenario": "NOT_FOUND"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebdf4cd3f469",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/details/WL254177A/list",
        "path": "/individuals/business/details/WL254177A/list",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "NOT_FOUND"
        },
        "hmrcApi": {
          "apiName": "BusinessDetails",
          "operation": "ListBusinesses",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/business-details-api/2.0",
          "pathTemplate": "/individuals/business/details/{nino}/list",
          "path": "/individuals/business/details/WL254177A/list"
        }
      },
      "hmrc-response": {
        "status": 404,
        "correlationId": "cb258958-3037-49c6-804c-71bf54cf258c",
        "payload": {
          "code": "MATCHING_RESOURCE_NOT_FOUND",
          "message": "Matching resource not found"
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "nino": "WL254177A",
        "businesses": []
      }
    ]
  },
  "details": {
    "scenario": "NOT_FOUND",
    "businessCount": 0
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 191
  }
}

Business Details API GET /hmrc/identity returns the configured business

PASSED
Started 2026-04-27T09:49:53.221534Z Duration 321 ms
  • PASSHarness-seeded identity read-back used Gov-Test-Scenario: STATEFUL.
  • PASS2 businesses found.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/identity?nino=WL254177A&gov-test-scenario=STATEFUL",
    "path": "/hmrc/identity",
    "queryParameters": {
      "nino": "WL254177A",
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb78ce3ab13e",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/details/WL254177A/list",
        "path": "/individuals/business/details/WL254177A/list",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "BusinessDetails",
          "operation": "ListBusinesses",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/business-details-api/2.0",
          "pathTemplate": "/individuals/business/details/{nino}/list",
          "path": "/individuals/business/details/WL254177A/list"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "72688586-aac5-48c8-9425-6bb48b2ba733",
        "payload": {
          "listOfBusinesses": [
            {
              "typeOfBusiness": "self-employment",
              "businessId": "X1IS73403316474",
              "tradingName": "Harbour Music Lessons"
            },
            {
              "typeOfBusiness": "self-employment",
              "businessId": "X4IS27198436836",
              "tradingName": "Pilates Studio"
            }
          ]
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "nino": "WL254177A",
        "businesses": [
          {
            "businessId": "X1IS73403316474",
            "businessName": "Harbour Music Lessons"
          },
          {
            "businessId": "X4IS27198436836",
            "businessName": "Pilates Studio"
          }
        ]
      }
    ]
  },
  "details": {
    "businessCount": 2,
    "matchedConfiguredBusiness": true,
    "identityReadBackAttempts": 1,
    "identityReadBackUsedStatefulScenario": true,
    "seededBusinessIdentityReadBackValidated": true,
    "seededBusinessIdentityLagAccepted": false
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 182
  }
}

Multiple Businesses | Business Details API GET /hmrc/identity returns all seeded businesses

PASSED
Started 2026-04-27T09:49:56.097384Z Duration 280 ms
  • PASSHarness-seeded identity read-back used Gov-Test-Scenario: STATEFUL.
  • PASSHMRC identity returned 2 business(es); all 2 seeded business(es) matched.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/identity?nino=WL254177A&gov-test-scenario=STATEFUL",
    "path": "/hmrc/identity",
    "queryParameters": {
      "nino": "WL254177A",
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb8aa83deb14",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/details/WL254177A/list",
        "path": "/individuals/business/details/WL254177A/list",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "BusinessDetails",
          "operation": "ListBusinesses",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/business-details-api/2.0",
          "pathTemplate": "/individuals/business/details/{nino}/list",
          "path": "/individuals/business/details/WL254177A/list"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e39e5f90-2a02-4177-ac73-5183e3f2e84c",
        "payload": {
          "listOfBusinesses": [
            {
              "typeOfBusiness": "self-employment",
              "businessId": "X1IS73403316474",
              "tradingName": "Harbour Music Lessons"
            },
            {
              "typeOfBusiness": "self-employment",
              "businessId": "X4IS27198436836",
              "tradingName": "Pilates Studio"
            }
          ]
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "nino": "WL254177A",
        "businesses": [
          {
            "businessId": "X1IS73403316474",
            "businessName": "Harbour Music Lessons"
          },
          {
            "businessId": "X4IS27198436836",
            "businessName": "Pilates Studio"
          }
        ]
      }
    ]
  },
  "details": {
    "businessCount": 2,
    "seededBusinessCount": 2,
    "matchedSeededCount": 2,
    "allSeededBusinessesMatched": true,
    "seededBusinessReadBackValidated": true,
    "identityReadBackAttempts": 1,
    "identityReadBackUsedStatefulScenario": true,
    "seededBusinessIdentityLagAccepted": false,
    "seededBusinessProofLimitedByStub": false
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 149
  }
}
Fraud Prevention Headers APISpecversion 1.0PlayPay uses this API to validate the fraud-prevention headers the worker sends with HMRC requests.Tests 1Skipped 1

Fraud Prevention Headers API GET /hmrc/fraud-prevention-headers/validate validates the smoke fraud header profile

SKIPPED
Started 2026-04-27T09:49:53.547438Z Duration 0 ms
  • WARNHMRC sandbox is currently returning upstream 500 responses from the fraud-prevention validator endpoint, so this QA-only live check is skipped.
Data
{
  "request": {},
  "apiRequests": [],
  "response": {
    "payload": []
  },
  "details": {
    "skipReason": "HMRC sandbox is currently returning upstream 500 responses from the fraud-prevention validator endpoint, so this QA-only live check is skipped."
  },
  "status": {
    "scenario": "skipped"
  }
}
Individual Calculations APISpecversion 8.0PlayPay uses this API to trigger tax calculations, fetch the result, and complete the final declaration flow.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/calculations/{nino}/self-assessment/{taxYear}Tests 11Passed 11

Individual Calculations API GET /hmrc/individuals/calculations/{nino}/self-assessment/{taxYear}/{calculationId} retrieves the triggered tax calculation

PASSED
Started 2026-04-27T09:49:55.380497Z Duration 328 ms
  • PASSTax calculation retrieval returned worker status 200 after 1 attempt(s).
  • PASSRetrieved tax calculation metadata included calculationId f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/c75dbb53-6237-49e2-b05a-60ef221f0260",
    "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/c75dbb53-6237-49e2-b05a-60ef221f0260",
    "headers": {
      "accept": "application/vnd.hmrc.8.0+json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb863bcb3aad",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/c75dbb53-6237-49e2-b05a-60ef221f0260",
        "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/c75dbb53-6237-49e2-b05a-60ef221f0260",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.8.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "GetTaxCalculation",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/{calculationId}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/c75dbb53-6237-49e2-b05a-60ef221f0260"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "552dc2fa-ff2c-46c3-91a3-7b819d3451b0",
        "payload": {
          "metadata": {
            "calculationId": "f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c",
            "taxYear": "2025-26",
            "requestedBy": "customer",
            "requestedTimestamp": "2025-04-15T09:35:15.094Z",
            "calculationReason": "customer-request",
            "calculationTimestamp": "2025-04-15T09:35:15.094Z",
            "calculationType": "intent-to-amend",
            "finalisationTimestamp": "2025-04-15T09:35:15.094Z",
            "confirmationTimestamp": "2025-04-15T09:35:15.094Z",
            "periodFrom": "2025-04-06",
            "periodTo": "2026-04-05"
          },
          "inputs": {
            "personalInformation": {
              "identifier": "VO123456A",
              "dateOfBirth": "2018-04-06",
              "taxRegime": "uk",
              "statePensionAgeDate": "2050-04-06",
              "studentLoanPlan": [
                {
                  "planType": "plan1"
                }
              ],
              "class2VoluntaryContributions": true,
              "marriageAllowance": "transferor",
              "uniqueTaxpayerReference": "1234567890",
              "itsaStatus": "No Status"
            },
            "incomeSources": {
              "businessIncomeSources": [
                {
                  "incomeSourceId": "000000000000210",
                  "incomeSourceType": "self-employment",
                  "incomeSourceName": "string",
                  "accountingPeriodStartDate": "2018-04-06",
                  "accountingPeriodEndDate": "2019-04-05",
                  "source": "MTD-SA",
                  "commencementDate": "2018-04-06",
                  "cessationDate": "2019-04-05",
                  "latestPeriodEndDate": "2021-12-02",
                  "latestReceivedDateTime": "2021-12-02T15:25:48.475Z",
                  "submissionPeriod": {
                    "submissionId": "001",
                    "startDate": "2018-04-06",
                    "endDate": "2019-04-05",
                    "receivedDateTime": "2019-02-15T09:35:04.843Z"
                  }
                }
              ],
              "nonBusinessIncomeSources": [
                {
                  "incomeSourceId": "000000000000210",
                  "incomeSourceType": "uk-savings-and-gains",
                  "incomeSourceName": "Savings Account 1",
                  "startDate": "2018-04-06",
                  "endDate": "2019-04-05",
                  "source": "MTD-SA",
                  "periodId": "001",
                  "latestReceivedDateTime": "2019-08-01T13:02:09.775Z"
                }
              ]
            },
            "annualAdjustments": [
              {
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "self-employment",
                "bsasId": "123a456b-789c-1d23-845e-678b9d1bd2ab",
                "receivedDateTime": "2021-12-02T15:25:48.475Z",
                "applied": true
              }
            ],
            "lossesBroughtForward": [
              {
                "lossId": "0yriP9QrW2jTa6n",
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "self-employment",
                "submissionTimestamp": "2021-12-02T15:25:48.475Z",
                "lossType": "income",
                "taxYearLossIncurred": "2017-18",
                "currentLossValue": 12500,
                "mtdLoss": false
              }
            ],
            "claims": [
              {
                "claimId": "0vayS9JrW2jTa6n",
                "originatingClaimId": "0vayS9JrW2jTa6n",
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "self-employment",
                "submissionTimestamp": "2021-12-02T15:25:48.475Z",
                "taxYearClaimMade": "2017-18",
                "claimType": "carry-forward",
                "sequence": 1
              }
            ],
            "constructionIndustryScheme": [
              {
                "employerRef": "123/AA12345",
                "contractorName": "string",
                "periodData": [
                  {
                    "deductionFromDate": "2021-12-02",
                    "deductionToDate": "2021-12-02",
                    "submissionTimestamp": "2021-12-02T15:25:48.475Z",
                    "source": "contractor",
                    "deductionAmount": 5000.99
                  }
                ]
              }
            ],
            "allowancesReliefsAndDeductions": [
              {
                "type": "investment-reliefs",
                "submittedTimestamp": "2021-12-02T15:25:48.475Z",
                "startDate": "2021-12-02",
                "endDate": "2021-12-02",
                "source": "MTD-SA"
              }
            ],
            "pensionContributionAndCharges": [
              {
                "type": "pension-reliefs",
                "submissionTimestamp": "2021-12-02T15:25:48.475Z",
                "startDate": "2021-12-02",
                "endDate": "2021-12-02",
                "source": "customer"
              }
            ],
            "other": [
              {
                "type": "coding-out",
                "submittedOn": "2021-12-02T15:25:48.475Z"
              }
            ]
          },
          "calculation": {
            "taxCalculation": {
              "incomeTax": {
                "totalIncomeReceivedFromAllSources": 12500,
                "totalAllowancesAndDeductions": 12500,
                "totalTaxableIncome": 12500,
                "payPensionsProfit": {
                  "incomeReceived": 12500,
                  "allowancesAllocated": 12500,
                  "taxableIncome": 12500,
                  "incomeTaxAmount": 5000.99,
                  "taxBands": [
                    {
                      "name": "savings-starter-rate",
                      "rate": 20.99,
                      "bandLimit": 12500,
                      "apportionedBandLimit": 12500,
                      "income": 12500,
                      "taxAmount": 5000.99
                    }
                  ]
                },
                "savingsAndGains": {
                  "incomeReceived": 12500,
                  "allowancesAllocated": 12500,
                  "taxableIncome": 12500,
                  "incomeTaxAmount": 5000.99,
                  "taxBands": [
                    {
                      "name": "savings-starter-rate",
                      "rate": 20.99,
                      "bandLimit": 12500,
                      "apportionedBandLimit": 12500,
                      "income": 12500,
                      "taxAmount": 5000.99
                    }
                  ]
                },
                "dividends": {
                  "incomeReceived": 12500,
                  "allowancesAllocated": 12500,
                  "taxableIncome": 12500,
                  "incomeTaxAmount": 5000.99,
                  "taxBands": [
                    {
                      "name": "savings-starter-rate",
                      "rate": 20.99,
                      "bandLimit": 12500,
                      "apportionedBandLimit": 12500,
                      "income": 12500,
                      "taxAmount": 5000.99
                    }
                  ]
                },
                "lumpSums": {
                  "incomeReceived": 12500,
                  "allowancesAllocated": 12500,
                  "taxableIncome": 12500,
                  "incomeTaxAmount": 5000.99,
                  "taxBands": [
                    {
                      "name": "savings-starter-rate",
                      "rate": 20.99,
                      "bandLimit": 12500,
                      "apportionedBandLimit": 12500,
                      "income": 12500,
                      "taxAmount": 5000.99
                    }
                  ]
                },
                "gainsOnLifePolicies": {
                  "incomeReceived": 12500,
                  "allowancesAllocated": 12500,
                  "taxableIncome": 12500,
                  "incomeTaxAmount": 5000.99,
                  "taxBands": [
                    {
                      "name": "savings-starter-rate",
                      "rate": 20.99,
                      "bandLimit": 12500,
                      "apportionedBandLimit": 12500,
                      "income": 12500,
                      "taxAmount": 5000.99
                    }
                  ]
                },
                "incomeTaxCharged": 5000.99,
                "totalReliefs": 5000.99,
                "incomeTaxDueAfterReliefs": -99999999999.99,
                "totalNotionalTax": 5000.99,
                "marriageAllowanceRelief": 5000.99,
                "incomeTaxDueAfterTaxReductions": 5000.99,
                "incomeTaxDueAfterGiftAid": 5000.99,
                "totalPensionSavingsTaxCharges": 5000.99,
                "statePensionLumpSumCharges": 5000.99,
                "payeUnderpaymentsCodedOut": 5000.99,
                "totalIncomeTaxDue": 5000.99,
                "giftAidTaxChargeWhereBasicRateDiffers": 5000.99,
                "highIncomeBenefitCharge": 5000.99
              },
              "nics": {
                "class2Nics": {
                  "amount": 5000.99,
                  "weeklyRate": 5000.99,
                  "weeks": 0,
                  "limit": 12500,
                  "apportionedLimit": 12500,
                  "underSmallProfitThreshold": true,
                  "underLowerProfitThreshold": true,
                  "actualClass2Nic": true
                },
                "class4Nics": {
                  "totalIncomeLiableToClass4Charge": 12500,
                  "totalClass4LossesAvailable": 12500,
                  "totalClass4LossesUsed": 12500,
                  "totalClass4LossesCarriedForward": 12500,
                  "totalIncomeChargeableToClass4": 12500,
                  "totalAmount": 5000.99,
                  "nic4Bands": [
                    {
                      "name": "zero-rate",
                      "rate": 20.99,
                      "threshold": 12500,
                      "apportionedThreshold": 12500,
                      "income": 12500,
                      "amount": 5000.99
                    }
                  ]
                },
                "nic2NetOfDeductions": -99999999999.99,
                "nic4NetOfDeductions": -99999999999.99,
                "totalNic": -99999999999.99
              },
              "totalTaxDeductedBeforeCodingOut": 5000.99,
              "saUnderpaymentsCodedOut": 5000.99,
              "totalIncomeTaxNicsCharged": -99999999999.99,
              "totalStudentLoansRepaymentAmount": 5000.99,
              "totalAnnuityPaymentsTaxCharged": 12500.25,
              "totalRoyaltyPaymentsTaxCharged": 5000.99,
              "totalTaxDeducted": -99999999999.99,
              "totalIncomeTaxAndNicsDue": -99999999999.99,
              "capitalGainsTax": {
                "totalCapitalGainsIncome": 5000.99,
                "annualExemptionAmount": 5000.99,
                "totalTaxableGains": 5000.99,
                "businessAssetsDisposalsAndInvestorsRel": {
                  "gainsIncome": 5000.99,
                  "lossesBroughtForward": 5000.99,
                  "lossesArisingThisYear": 5000.99,
                  "gainsAfterLosses": 5000.99,
                  "annualExemptionAmount": 5000.99,
                  "taxableGains": 5000.99,
                  "rate": 20.99,
                  "taxAmount": 5000.99
                },
                "residentialPropertyAndCarriedInterest": {
                  "gainsIncome": 5000.99,
                  "lossesBroughtForward": 5000.99,
                  "lossesArisingThisYear": 5000.99,
                  "gainsAfterLosses": 5000.99,
                  "annualExemptionAmount": 5000.99,
                  "taxableGains": 5000.99,
                  "cgtTaxBands": [
                    {
                      "name": "lower-rate",
                      "rate": 20.99,
                      "income": 5000.99,
                      "taxAmount": 5000.99
                    }
                  ],
                  "totalTaxAmount": 5000.99
                },
                "otherGains": {
                  "gainsIncome": 5000.99,
                  "lossesBroughtForward": 5000.99,
                  "lossesArisingThisYear": 5000.99,
                  "gainsAfterLosses": 5000.99,
                  "attributedGains": 5000.99,
                  "netGains": 5000.99,
                  "annualExemptionAmount": 5000.99,
                  "taxableGains": 5000.99,
                  "cgtTaxBands": [
                    {
                      "name": "lower-rate",
                      "rate": 20.99,
                      "income": 5000.99,
                      "taxAmount": 5000.99
                    }
                  ],
                  "totalTaxAmount": 5000.99
                },
                "capitalGainsTaxAmount": 5000.99,
                "adjustments": -99999999999.99,
                "adjustedCapitalGainsTax": 5000.99,
                "foreignTaxCreditRelief": 5000.99,
                "capitalGainsTaxAfterFTCR": 5000.99,
                "taxOnGainsAlreadyPaid": 5000.99,
                "capitalGainsTaxDue": 5000.99,
                "capitalGainsOverpaid": 5000.99
              },
              "totalIncomeTaxAndNicsAndCgt": 5000.99
            },
            "chargeableEventGainsIncome": {
              "totalOfAllGains": 12500,
              "totalGainsWithTaxPaid": 12500,
              "gainsWithTaxPaidDetail": [
                {
                  "type": "life-insurance",
                  "customerReference": "string",
                  "gainAmount": 5000.99,
                  "yearsHeld": 0,
                  "yearsHeldSinceLastGain": 0
                }
              ],
              "totalGainsWithNoTaxPaidAndVoidedIsa": 12500,
              "gainsWithNoTaxPaidAndVoidedIsaDetail": [
                {
                  "type": "life-insurance",
                  "customerReference": "string",
                  "gainAmount": 5000.99,
                  "yearsHeld": 0,
                  "yearsHeldSinceLastGain": 0,
                  "voidedIsaTaxPaid": 5000.99
                }
              ],
              "totalForeignGainsOnLifePoliciesTaxPaid": 12500,
              "foreignGainsOnLifePoliciesTaxPaidDetail": [
                {
                  "customerReference": "string",
                  "gainAmount": 5000.99,
                  "taxPaidAmount": 5000.99,
                  "yearsHeld": 0
                }
              ],
              "totalForeignGainsOnLifePoliciesNoTaxPaid": 12500,
              "foreignGainsOnLifePoliciesNoTaxPaidDetail": [
                {
                  "customerReference": "string",
                  "gainAmount": 5000.99,
                  "yearsHeld": 0
                }
              ]
            },
            "transitionProfit": {
              "totalTaxableTransitionProfit": 2000,
              "transitionProfitDetail": [
                {
                  "incomeSourceId": "SAVKB2UVwUTBQGJ",
                  "incomeSourceName": "Savings Account",
                  "transitionProfitAmount": 2000.99,
                  "transitionProfitAccelerationAmount": 2000.99,
                  "totalTransitionProfit": 2000,
                  "remainingBroughtForwardIncomeTaxLosses": 2000,
                  "broughtForwardIncomeTaxLossesUsed": 2000,
                  "transitionProfitsAfterIncomeTaxLossDeductions": 2000
                }
              ]
            },
            "studentLoans": [
              {
                "planType": "plan1",
                "studentLoanTotalIncomeAmount": 5000.99,
                "studentLoanChargeableIncomeAmount": 5000.99,
                "studentLoanRepaymentAmount": 5000.99,
                "studentLoanDeductionsFromEmployment": 5000.99,
                "studentLoanRepaymentAmountNetOfDeductions": 5000.99,
                "studentLoanApportionedIncomeThreshold": 12500,
                "studentLoanRate": 20.99,
                "payeIncomeForStudentLoan": 5000.99,
                "nonPayeIncomeForStudentLoan": 5000.99
              }
            ],
            "foreignIncome": {
              "chargeableOverseasPensionsStateBenefitsRoyalties": 5000.99,
              "overseasPensionsStateBenefitsRoyaltiesDetail": [
                {
                  "countryCode": "FRA",
                  "grossIncome": 5000.99,
                  "netIncome": 5000.99,
                  "taxDeducted": 5000.99,
                  "foreignTaxCreditRelief": true
                }
              ],
              "chargeableAllOtherIncomeReceivedWhilstAbroad": 5000.99,
              "allOtherIncomeReceivedWhilstAbroadDetail": [
                {
                  "countryCode": "FRA",
                  "grossIncome": 5000.99,
                  "netIncome": 5000.99,
                  "taxDeducted": 5000.99,
                  "foreignTaxCreditRelief": true
                }
              ],
              "overseasIncomeAndGains": {
                "gainAmount": 5000.99
              },
              "totalForeignBenefitsAndGifts": 5000.99,
              "chargeableForeignBenefitsAndGiftsDetail": {
                "transactionBenefit": 5000.99,
                "protectedForeignIncomeSourceBenefit": 5000.99,
                "protectedForeignIncomeOnwardGift": 5000.99,
                "benefitReceivedAsASettler": 5000.99,
                "onwardGiftReceivedAsASettler": 5000.99
              }
            },
            "royaltyPayments": {
              "royaltyPaymentsAmount": 12500,
              "rate": 20.99,
              "grossRoyaltyPayments": 12500
            },
            "lossesAndClaims": {
              "resultOfClaimsApplied": [
                {
                  "claimId": "0vayS9JrW2jTa6n",
                  "originatingClaimId": "0vayS9JrW2jTa6n",
                  "incomeSourceId": "000000000000210",
                  "incomeSourceType": "self-employment",
                  "taxYearClaimMade": "2017-18",
                  "claimType": "carry-forward",
                  "mtdLoss": false,
                  "taxYearLossIncurred": "2017-18",
                  "lossAmountUsed": 12500,
                  "remainingLossValue": 12500,
                  "lossType": "income"
                }
              ],
              "unclaimedLosses": [
                {
                  "incomeSourceId": "000000000000210",
                  "incomeSourceType": "self-employment",
                  "taxYearLossIncurred": "2017-18",
                  "currentLossValue": 12500,
                  "lossType": "income"
                }
              ],
              "carriedForwardLosses": [
                {
                  "claimId": "0vayS9JrW2jTa6n",
                  "originatingClaimId": "0vayS9JrW2jTa6n",
                  "incomeSourceId": "000000000000210",
                  "incomeSourceType": "self-employment",
                  "claimType": "carry-forward",
                  "taxYearClaimMade": "2017-18",
                  "taxYearLossIncurred": "2017-18",
                  "currentLossValue": 12500,
                  "lossType": "income"
                }
              ],
              "defaultCarriedForwardLosses": [
                {
                  "incomeSourceId": "000000000000210",
                  "incomeSourceType": "self-employment",
                  "taxYearLossIncurred": "2017-18",
                  "currentLossValue": 12500
                }
              ],
              "claimsNotApplied": [
                {
                  "claimId": "0vayS9JrW2jTa6n",
                  "incomeSourceId": "000000000000210",
                  "incomeSourceType": "self-employment",
                  "taxYearClaimMade": "2017-18",
                  "claimType": "carry-forward"
                }
              ]
            },
            "employmentExpenses": {
              "totalEmploymentExpenses": 5000.99,
              "employmentExpensesDetail": {
                "businessTravelCosts": 5000.99,
                "jobExpenses": 5000.99,
                "flatRateJobExpenses": 5000.99,
                "professionalSubscriptions": 5000.99,
                "hotelAndMealExpenses": 5000.99,
                "otherAndCapitalAllowances": 5000.99,
                "vehicleExpenses": 5000.99,
                "mileageAllowanceRelief": 5000.99
              }
            },
            "savingsAndGainsIncome": {
              "totalChargeableSavingsAndGains": 12500,
              "totalUkSavingsAndGains": 12500,
              "ukSavingsAndGainsIncome": [
                {
                  "incomeSourceId": "000000000000210",
                  "incomeSourceType": "uk-savings-and-gains",
                  "incomeSourceName": "My Savings Account 1",
                  "grossIncome": 5000.99,
                  "netIncome": 5000.99,
                  "taxDeducted": 5000.99
                }
              ],
              "chargeableForeignSavingsAndGains": 12500,
              "foreignSavingsAndGainsIncome": [
                {
                  "incomeSourceType": "foreign-savings-and-gains",
                  "countryCode": "DEU",
                  "grossIncome": 5000.99,
                  "netIncome": 5000.99,
                  "taxDeducted": 5000.99,
                  "foreignTaxCreditRelief": true
                }
              ]
            },
            "reliefs": {
              "residentialFinanceCosts": {
                "adjustedTotalIncome": 5000.99,
                "totalAllowableAmount": 5000.99,
                "relievableAmount": 5000.99,
                "rate": 20.99,
                "totalResidentialFinanceCostsRelief": 5000.99,
                "ukProperty": {
                  "amountClaimed": 12500,
                  "allowableAmount": 5000.99,
                  "carryForwardAmount": 5000.99
                },
                "foreignProperty": {
                  "totalForeignPropertyAllowableAmount": 5000.99,
                  "foreignPropertyRfcDetail": [
                    {
                      "countryCode": "FRA",
                      "amountClaimed": 12500,
                      "allowableAmount": 5000.99,
                      "carryForwardAmount": 5000.99
                    }
                  ]
                },
                "allOtherIncomeReceivedWhilstAbroad": {
                  "totalOtherIncomeAllowableAmount": 5000.99,
                  "otherIncomeRfcDetail": [
                    {
                      "countryCode": "FRA",
                      "residentialFinancialCostAmount": 5000.99,
                      "broughtFwdResidentialFinancialCostAmount": 5000.99
                    }
                  ]
                }
              },
              "reliefsClaimed": [
                {
                  "type": "vct-subscriptions",
                  "amountClaimed": 5000.99,
                  "allowableAmount": 5000.99,
                  "amountUsed": 5000.99,
                  "rate": 20.99,
                  "reliefsClaimedDetail": [
                    {
                      "amountClaimed": 5000.99,
                      "uniqueInvestmentRef": "string",
                      "name": "string",
                      "companyName": "string",
                      "deficiencyReliefType": "life-insurance",
                      "customerReference": "string"
                    }
                  ]
                }
              ],
              "foreignTaxCreditRelief": {
                "customerCalculatedRelief": true,
                "totalForeignTaxCreditRelief": 5000.99,
                "foreignTaxCreditReliefOnProperty": 5000.99,
                "foreignTaxCreditReliefOnDividends": 5000.99,
                "foreignTaxCreditReliefOnSavings": 5000.99,
                "foreignTaxCreditReliefOnForeignIncome": 5000.99,
                "foreignTaxCreditReliefDetail": [
                  {
                    "incomeSourceType": "foreign-property",
                    "incomeSourceId": "000000000000210",
                    "countryCode": "FRA",
                    "foreignIncome": 5000.99,
                    "foreignTax": 5000.99,
                    "dtaRate": 20.99,
                    "dtaAmount": 5000.99,
                    "ukLiabilityOnIncome": 5000.99,
                    "foreignTaxCredit": 5000.99,
                    "employmentLumpSum": true
                  }
                ]
              },
              "topSlicingRelief": {
                "amount": 5000.99
              },
              "basicRateExtension": {
                "totalBasicRateExtension": 5000.99,
                "giftAidRelief": 3000,
                "pensionContributionReliefs": 5000.58
              },
              "giftAidTaxReductionWhereBasicRateDiffers": {
                "amount": 5000.99
              }
            },
            "highIncomeChildBenefitCharge": {
              "adjustedNetIncome": 2000.01,
              "amountOfChildBenefitReceived": 2000.01,
              "incomeThreshold": 60000,
              "childBenefitChargeTaper": 200,
              "rate": 10.25,
              "highIncomeBenefitCharge": 32000.01
            },
            "stateBenefitsIncome": {
              "totalStateBenefitsIncome": 5000.99,
              "totalStateBenefitsTaxPaid": -99999999999.99,
              "stateBenefitsDetail": {
                "incapacityBenefit": [
                  {
                    "incomeSourceId": "8d52ce90-44d7-4f54-a852-c3649c032ad2",
                    "amount": 5000.99,
                    "taxPaid": 5000.99,
                    "source": "customer"
                  }
                ],
                "statePension": [
                  {
                    "incomeSourceId": "b3c35b58-f922-45f2-b9ce-bf5d8d02ae1d",
                    "amount": 5000.99,
                    "source": "customer"
                  }
                ],
                "statePensionLumpSum": [
                  {
                    "incomeSourceId": "98c46e27-5a68-424b-9529-08a955ebed14",
                    "amount": 5000.99,
                    "taxPaid": 5000.99,
                    "rate": 20.99,
                    "source": "customer"
                  }
                ],
                "employmentSupportAllowance": [
                  {
                    "incomeSourceId": "5d8c1388-2fe6-4383-9dbb-714c5691fa0d",
                    "amount": 5000.99,
                    "taxPaid": -99999999999.99,
                    "source": "customer"
                  }
                ],
                "jobSeekersAllowance": [
                  {
                    "incomeSourceId": "1d6e0bed-9515-4a53-8b8f-f64602511a79",
                    "amount": 5000.99,
                    "taxPaid": -99999999999.99,
                    "source": "customer"
                  }
                ],
                "bereavementAllowance": [
                  {
                    "incomeSourceId": "fee9c698-4920-4aed-9d34-482b7de4765f",
                    "amount": 5000.99,
                    "source": "customer"
                  }
                ],
                "otherStateBenefits": [
                  {
                    "incomeSourceId": "69e598f6-7f99-40d6-998f-bfca16c20d12",
                    "amount": 5000.99,
                    "source": "customer"
                  }
                ]
              },
              "totalStateBenefitsIncomeExcStatePensionLumpSum": 5000.99
            },
            "incomeSummaryTotals": {
              "totalSelfEmploymentProfit": 12500,
              "totalPropertyProfit": 12500,
              "totalUKOtherPropertyProfit": 12500,
              "totalForeignPropertyProfit": 12500,
              "totalEmploymentIncome": 12500
            },
            "employmentAndPensionsIncome": {
              "totalPayeEmploymentAndLumpSumIncome": 5000.99,
              "totalOccupationalPensionIncome": 5000.99,
              "totalBenefitsInKind": 5000.99,
              "tipsIncome": 5000.99,
              "employmentAndPensionsIncomeDetail": [
                {
                  "incomeSourceId": "07cedb23-ecdf-4bce-919b-e4be46a98704",
                  "source": "customer",
                  "occupationalPension": true,
                  "employerRef": "123/AA12345",
                  "employerName": "string",
                  "offPayrollWorker": true,
                  "payrollId": "YDIAHPcYFQbOXLCKQ",
                  "startDate": "2021-12-02",
                  "dateEmploymentEnded": "2021-12-02",
                  "taxablePayToDate": 5000.99,
                  "totalTaxToDate": -99999999999.99,
                  "disguisedRemuneration": true,
                  "lumpSums": {
                    "totalLumpSum": 5000.99,
                    "totalTaxPaid": 5000.99,
                    "lumpSumsDetail": {
                      "taxableLumpSumsAndCertainIncome": {
                        "amount": 5000.99,
                        "taxPaid": 5000.99,
                        "taxTakenOffInEmployment": true
                      },
                      "benefitFromEmployerFinancedRetirementScheme": {
                        "amount": 5000.99,
                        "exemptAmount": 5000.99,
                        "taxPaid": 5000.99,
                        "taxTakenOffInEmployment": true
                      },
                      "redundancyCompensationPaymentsOverExemption": {
                        "amount": 5000.99,
                        "taxPaid": 5000.99,
                        "taxTakenOffInEmployment": true
                      },
                      "redundancyCompensationPaymentsUnderExemption": {
                        "amount": 5000.99
                      }
                    }
                  },
                  "studentLoans": {
                    "uglDeductionAmount": 5000.99,
                    "pglDeductionAmount": 5000.99
                  },
                  "benefitsInKind": {
                    "totalBenefitsInKindReceived": 5000.99,
                    "benefitsInKindDetail": {
                      "apportionedVanFuel": 5000.99,
                      "apportionedIncomeTaxPaidByDirector": 5000.99,
                      "apportionedNonQualifyingRelocationExpenses": 5000.99,
                      "apportionedEmployerProvidedProfessionalSubscriptions": 5000.99,
                      "apportionedCar": 5000.99,
                      "apportionedNonCash": 5000.99,
                      "apportionedMedicalInsurance": 5000.99,
                      "apportionedEducationalServices": 5000.99,
                      "apportionedTaxableExpenses": 5000.99,
                      "apportionedExpenses": 5000.99,
                      "apportionedBeneficialLoan": 5000.99,
                      "apportionedOtherItems": 5000.99,
                      "apportionedVan": 5000.99,
                      "apportionedVouchersAndCreditCards": 5000.99,
                      "apportionedAccommodation": 5000.99,
                      "apportionedEmployerProvidedServices": 5000.99,
                      "apportionedNurseryPlaces": 5000.99,
                      "apportionedEntertaining": 5000.99,
                      "apportionedPersonalIncidentalExpenses": 5000.99,
                      "apportionedTravelAndSubsistence": 5000.99,
                      "apportionedTelephone": 5000.99,
                      "apportionedAssetTransfer": 5000.99,
                      "apportionedCarFuel": 5000.99,
                      "apportionedPaymentsOnEmployeesBehalf": 5000.99,
                      "apportionedService": 5000.99,
                      "apportionedMileage": 5000.99,
                      "apportionedQualifyingRelocationExpenses": 5000.99,
                      "apportionedAssets": 5000.99
                    }
                  }
                }
              ]
            },
            "foreignTaxForFtcrNotClaimed": {
              "foreignTaxOnForeignEmployment": 5000.99
            },
            "marriageAllowanceTransferredIn": {
              "amount": 5000.99,
              "rate": 20.99
            },
            "pensionContributionReliefs": {
              "totalPensionContributionReliefs": 5000.99,
              "pensionContributionDetail": {
                "regularPensionContributions": 5000.99,
                "oneOffPensionContributionsPaid": 5000.99
              }
            },
            "seafarersDeductions": {
              "totalSeafarersDeduction": 5000.99,
              "seafarersDeductionDetail": [
                {
                  "nameOfShip": "string",
                  "amountDeducted": 5000.99
                }
              ]
            },
            "allowancesAndDeductions": {
              "personalAllowance": 12500,
              "marriageAllowanceTransferOut": {
                "personalAllowanceBeforeTransferOut": 5000.99,
                "transferredOutAmount": 5000.99
              },
              "reducedPersonalAllowance": 12500,
              "giftOfInvestmentsAndPropertyToCharity": 12500,
              "blindPersonsAllowance": 12500,
              "lossesAppliedToGeneralIncome": 12500,
              "cgtLossSetAgainstInYearGeneralIncome": 12500,
              "qualifyingLoanInterestFromInvestments": 5000.99,
              "postCessationTradeReceipts": 5000.99,
              "paymentsToTradeUnionsForDeathBenefits": 5000.99,
              "grossAnnuityPayments": 5000.99,
              "annuityPayments": {
                "reliefClaimed": 5000.99,
                "rate": 20.99
              },
              "pensionContributions": 5000.99,
              "pensionContributionsDetail": {
                "retirementAnnuityPayments": 5000.99,
                "paymentToEmployersSchemeNoTaxRelief": 5000.99,
                "overseasPensionSchemeContributions": 5000.99
              }
            },
            "pensionSavingsTaxCharges": {
              "totalPensionCharges": 5000.99,
              "totalTaxPaid": 5000.99,
              "totalPensionChargesDue": 5000.99,
              "pensionSavingsTaxChargesDetail": {
                "pensionSchemeUnauthorisedPayments": {
                  "totalChargeableAmount": 5000.99,
                  "totalTaxPaid": 5000.99,
                  "pensionSchemeUnauthorisedPaymentsSurcharge": {
                    "amount": 5000.99,
                    "taxPaid": 5000.99,
                    "rate": 20.99,
                    "chargeableAmount": 5000.99
                  },
                  "pensionSchemeUnauthorisedPaymentsNonSurcharge": {
                    "amount": 5000.99,
                    "taxPaid": 5000.99,
                    "rate": 20.99,
                    "chargeableAmount": 5000.99
                  }
                },
                "pensionSchemeOverseasTransfers": {
                  "transferCharge": 5000.99,
                  "transferChargeTaxPaid": 5000.99,
                  "rate": 20.99,
                  "chargeableAmount": 5000.99
                },
                "pensionContributionsInExcessOfTheAnnualAllowance": {
                  "totalContributions": 5000.99,
                  "totalPensionCharge": 5000.99,
                  "annualAllowanceTaxPaid": 5000.99,
                  "totalPensionChargeDue": 5000.99,
                  "pensionBands": [
                    {
                      "name": "basic-rate",
                      "rate": 20.99,
                      "bandLimit": 12500,
                      "apportionedBandLimit": 12500,
                      "contributionAmount": 5000.99,
                      "pensionCharge": 5000.99
                    }
                  ]
                },
                "overseasPensionContributions": {
                  "totalShortServiceRefund": 5000.99,
                  "totalShortServiceRefundCharge": 5000.99,
                  "shortServiceRefundTaxPaid": 5000.99,
                  "totalShortServiceRefundChargeDue": 5000.99,
                  "shortServiceRefundBands": [
                    {
                      "name": "lower-band",
                      "rate": 20.99,
                      "bandLimit": 12500,
                      "apportionedBandLimit": 12500,
                      "shortServiceRefundAmount": 5000.99,
                      "shortServiceRefundCharge": 5000.99
                    }
                  ]
                }
              }
            },
            "giftAid": {
              "grossGiftAidPayments": 12500,
              "rate": 20.99,
              "giftAidTax": 5000.99,
              "giftAidTaxReductions": 5000.99,
              "incomeTaxChargedAfterGiftAidTaxReductions": 5000.99,
              "giftAidCharge": 5000.99
            },
            "previousCalculation": {
              "calculationTimestamp": "2021-12-02T15:25:48.475Z",
              "calculationId": "f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c",
              "totalIncomeTaxAndNicsDue": -99999999999.99,
              "cgtTaxDue": 5000.99,
              "totalIncomeTaxAndNicsAndCgtDue": 5000.99,
              "incomeTaxNicDueThisPeriod": -99999999999.99,
              "cgtDueThisPeriod": -99999999999.99,
              "totalIncomeTaxAndNicsAndCgtDueThisPeriod": 5000.99
            },
            "otherIncome": {
              "totalOtherIncome": 2000,
              "postCessationIncome": {
                "totalPostCessationReceipts": 2000,
                "postCessationReceipts": [
                  {
                    "amount": 100,
                    "taxYearIncomeToBeTaxed": "2019-20"
                  }
                ]
              }
            },
            "shareSchemesIncome": {
              "totalIncome": 5000.99,
              "shareSchemeDetail": [
                {
                  "type": "share-option",
                  "employerName": "string",
                  "employerRef": "123/AA12345",
                  "taxableAmount": 5000.99
                }
              ]
            },
            "taxDeductedAtSource": {
              "bbsi": 5000.99,
              "ukLandAndProperty": 5000.99,
              "cis": 5000.99,
              "securities": 5000.99,
              "voidedIsa": 5000.99,
              "payeEmployments": 5000.99,
              "occupationalPensions": 5000.99,
              "stateBenefits": -99999999999.99,
              "specialWithholdingTaxOrUkTaxPaid": 5000.99,
              "inYearAdjustmentCodedInLaterTaxYear": 5000.99,
              "taxTakenOffTradingIncome": 5000.99
            },
            "endOfYearEstimate": {
              "incomeSource": [
                {
                  "incomeSourceId": "000000000000210",
                  "incomeSourceType": "self-employment",
                  "incomeSourceName": "string",
                  "taxableIncome": 12500
                }
              ],
              "totalEstimatedIncome": 12500,
              "totalAllowancesAndDeductions": 5311,
              "totalTaxableIncome": 12500,
              "incomeTaxAmount": 5000.99,
              "nic2": 5000.99,
              "nic4": 5000.99,
              "totalTaxDeductedBeforeCodingOut": 5000.99,
              "saUnderpaymentsCodedOut": 5000.99,
              "totalNicAmount": 5000.99,
              "totalStudentLoansRepaymentAmount": 5000.99,
              "totalAnnuityPaymentsTaxCharged": 5000.99,
              "totalRoyaltyPaymentsTaxCharged": 5000.99,
              "totalTaxDeducted": -99999999999.99,
              "incomeTaxNicAmount": -99999999999.99,
              "cgtAmount": 5000.99,
              "incomeTaxNicAndCgtAmount": 5000.99
            },
            "foreignPropertyIncome": [
              {
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "foreign-property",
                "countryCode": "FRA",
                "totalIncome": 5000.99,
                "totalExpenses": 5000.99,
                "netProfit": 5000.99,
                "netLoss": 5000.99,
                "totalAdditions": 5000.99,
                "totalDeductions": 5000.99,
                "taxableProfit": 5000.99,
                "adjustedIncomeTaxLoss": 5000.99
              }
            ],
            "notionalTax": {
              "chargeableGains": 5000.99
            },
            "codedOutUnderpayments": {
              "totalPayeUnderpayments": 5000.99,
              "payeUnderpaymentsDetail": [
                {
                  "amount": 5000.99,
                  "relatedTaxYear": "2019-20",
                  "source": "customer"
                }
              ],
              "totalSelfAssessmentUnderpayments": 5000.99,
              "totalCollectedSelfAssessmentUnderpayments": 5000.99,
              "totalUncollectedSelfAssessmentUnderpayments": 5000.99,
              "selfAssessmentUnderpaymentsDetail": [
                {
                  "amount": 5000.99,
                  "relatedTaxYear": "2019-20",
                  "source": "customer",
                  "collectedAmount": 5000.99,
                  "uncollectedAmount": 5000.99
                }
              ]
            },
            "dividendsIncome": {
              "totalChargeableDividends": 12500,
              "totalUkDividends": 12500,
              "ukDividends": {
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "uk-dividends",
                "dividends": 12500,
                "otherUkDividends": 12500
              },
              "otherDividends": [
                {
                  "typeOfDividend": "stock-dividend",
                  "customerReference": "string",
                  "grossAmount": 5000.99
                }
              ],
              "chargeableForeignDividends": 12500,
              "foreignDividends": [
                {
                  "incomeSourceType": "foreign-dividends",
                  "countryCode": "ZZZ",
                  "grossIncome": 5000.99,
                  "netIncome": 5000.99,
                  "taxDeducted": 5000.99,
                  "foreignTaxCreditRelief": true
                }
              ],
              "dividendIncomeReceivedWhilstAbroad": [
                {
                  "incomeSourceType": "foreign-dividends",
                  "countryCode": "ZZZ",
                  "grossIncome": 5000.99,
                  "netIncome": 5000.99,
                  "taxDeducted": 5000.99,
                  "foreignTaxCreditRelief": true
                }
              ]
            },
            "businessProfitAndLoss": [
              {
                "broughtForwardClass4LossesUsed": 12500,
                "incomeSourceType": "self-employment",
                "totalIncome": 5000.99,
                "netProfit": 5000.99,
                "netLoss": 5000.99,
                "totalIncomeTaxLossesCarriedForward": 12500,
                "totalClass4LossesCarriedForward": 12500,
                "incomeSourceName": "string",
                "totalExpenses": -99999999999.99,
                "totalAdditions": -99999999999.99,
                "taxableProfit": 12500,
                "totalBroughtForwardIncomeTaxLosses": 12500,
                "adjustedIncomeTaxLoss": 12500,
                "adjustedProfit": 5000.99,
                "carrySidewaysIncomeTaxLossesUsed": 12500,
                "class4Loss": 12500,
                "carrySidewaysClass4LossesUsed": 12500,
                "broughtForwardCarrySidewaysIncomeTaxLossesUsed": 12500,
                "broughtForwardIncomeTaxLossesUsed": 12500,
                "outstandingBusinessIncome": 5000.99,
                "incomeSourceId": "000000000000210",
                "totalDeductions": 5000.99,
                "taxableProfitAfterIncomeTaxLossesDeduction": 12500,
                "totalBroughtForwardClass4Losses": 12500,
                "accountingAdjustments": -99999999999.99
              }
            ]
          },
          "messages": {
            "info": [
              {
                "id": "C22201",
                "text": "Your BRT limit has been increased by 6375 to 40875 for Gift Aid payments."
              }
            ],
            "warnings": [
              {
                "id": "C11009",
                "text": "Period submissions include gaps"
              }
            ],
            "errors": [
              {
                "id": "C95005",
                "text": "Final confirmation of income and expenses for all business sources has not been provided"
              }
            ]
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "metadata": {
          "calculationId": "f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c",
          "taxYear": "2025-26",
          "requestedBy": "customer",
          "requestedTimestamp": "2025-04-15T09:35:15.094Z",
          "calculationReason": "customer-request",
          "calculationTimestamp": "2025-04-15T09:35:15.094Z",
          "calculationType": "intent-to-amend",
          "finalisationTimestamp": "2025-04-15T09:35:15.094Z",
          "confirmationTimestamp": "2025-04-15T09:35:15.094Z",
          "periodFrom": "2025-04-06",
          "periodTo": "2026-04-05"
        },
        "inputs": {
          "personalInformation": {
            "identifier": "VO123456A",
            "dateOfBirth": "2018-04-06",
            "taxRegime": "uk",
            "statePensionAgeDate": "2050-04-06",
            "studentLoanPlan": [
              {
                "planType": "plan1"
              }
            ],
            "class2VoluntaryContributions": true,
            "marriageAllowance": "transferor",
            "uniqueTaxpayerReference": "1234567890",
            "itsaStatus": "No Status"
          },
          "incomeSources": {
            "businessIncomeSources": [
              {
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "self-employment",
                "incomeSourceName": "string",
                "accountingPeriodStartDate": "2018-04-06",
                "accountingPeriodEndDate": "2019-04-05",
                "source": "MTD-SA",
                "commencementDate": "2018-04-06",
                "cessationDate": "2019-04-05",
                "latestPeriodEndDate": "2021-12-02",
                "latestReceivedDateTime": "2021-12-02T15:25:48.475Z",
                "submissionPeriod": {
                  "submissionId": "001",
                  "startDate": "2018-04-06",
                  "endDate": "2019-04-05",
                  "receivedDateTime": "2019-02-15T09:35:04.843Z"
                }
              }
            ],
            "nonBusinessIncomeSources": [
              {
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "uk-savings-and-gains",
                "incomeSourceName": "Savings Account 1",
                "startDate": "2018-04-06",
                "endDate": "2019-04-05",
                "source": "MTD-SA",
                "periodId": "001",
                "latestReceivedDateTime": "2019-08-01T13:02:09.775Z"
              }
            ]
          },
          "annualAdjustments": [
            {
              "incomeSourceId": "000000000000210",
              "incomeSourceType": "self-employment",
              "bsasId": "123a456b-789c-1d23-845e-678b9d1bd2ab",
              "receivedDateTime": "2021-12-02T15:25:48.475Z",
              "applied": true
            }
          ],
          "lossesBroughtForward": [
            {
              "lossId": "0yriP9QrW2jTa6n",
              "incomeSourceId": "000000000000210",
              "incomeSourceType": "self-employment",
              "submissionTimestamp": "2021-12-02T15:25:48.475Z",
              "lossType": "income",
              "taxYearLossIncurred": "2017-18",
              "currentLossValue": 12500,
              "mtdLoss": false
            }
          ],
          "claims": [
            {
              "claimId": "0vayS9JrW2jTa6n",
              "originatingClaimId": "0vayS9JrW2jTa6n",
              "incomeSourceId": "000000000000210",
              "incomeSourceType": "self-employment",
              "submissionTimestamp": "2021-12-02T15:25:48.475Z",
              "taxYearClaimMade": "2017-18",
              "claimType": "carry-forward",
              "sequence": 1
            }
          ],
          "constructionIndustryScheme": [
            {
              "employerRef": "123/AA12345",
              "contractorName": "string",
              "periodData": [
                {
                  "deductionFromDate": "2021-12-02",
                  "deductionToDate": "2021-12-02",
                  "submissionTimestamp": "2021-12-02T15:25:48.475Z",
                  "source": "contractor",
                  "deductionAmount": 5000.99
                }
              ]
            }
          ],
          "allowancesReliefsAndDeductions": [
            {
              "type": "investment-reliefs",
              "submittedTimestamp": "2021-12-02T15:25:48.475Z",
              "startDate": "2021-12-02",
              "endDate": "2021-12-02",
              "source": "MTD-SA"
            }
          ],
          "pensionContributionAndCharges": [
            {
              "type": "pension-reliefs",
              "submissionTimestamp": "2021-12-02T15:25:48.475Z",
              "startDate": "2021-12-02",
              "endDate": "2021-12-02",
              "source": "customer"
            }
          ],
          "other": [
            {
              "type": "coding-out",
              "submittedOn": "2021-12-02T15:25:48.475Z"
            }
          ]
        },
        "calculation": {
          "taxCalculation": {
            "incomeTax": {
              "totalIncomeReceivedFromAllSources": 12500,
              "totalAllowancesAndDeductions": 12500,
              "totalTaxableIncome": 12500,
              "payPensionsProfit": {
                "incomeReceived": 12500,
                "allowancesAllocated": 12500,
                "taxableIncome": 12500,
                "incomeTaxAmount": 5000.99,
                "taxBands": [
                  {
                    "name": "savings-starter-rate",
                    "rate": 20.99,
                    "bandLimit": 12500,
                    "apportionedBandLimit": 12500,
                    "income": 12500,
                    "taxAmount": 5000.99
                  }
                ]
              },
              "savingsAndGains": {
                "incomeReceived": 12500,
                "allowancesAllocated": 12500,
                "taxableIncome": 12500,
                "incomeTaxAmount": 5000.99,
                "taxBands": [
                  {
                    "name": "savings-starter-rate",
                    "rate": 20.99,
                    "bandLimit": 12500,
                    "apportionedBandLimit": 12500,
                    "income": 12500,
                    "taxAmount": 5000.99
                  }
                ]
              },
              "dividends": {
                "incomeReceived": 12500,
                "allowancesAllocated": 12500,
                "taxableIncome": 12500,
                "incomeTaxAmount": 5000.99,
                "taxBands": [
                  {
                    "name": "savings-starter-rate",
                    "rate": 20.99,
                    "bandLimit": 12500,
                    "apportionedBandLimit": 12500,
                    "income": 12500,
                    "taxAmount": 5000.99
                  }
                ]
              },
              "lumpSums": {
                "incomeReceived": 12500,
                "allowancesAllocated": 12500,
                "taxableIncome": 12500,
                "incomeTaxAmount": 5000.99,
                "taxBands": [
                  {
                    "name": "savings-starter-rate",
                    "rate": 20.99,
                    "bandLimit": 12500,
                    "apportionedBandLimit": 12500,
                    "income": 12500,
                    "taxAmount": 5000.99
                  }
                ]
              },
              "gainsOnLifePolicies": {
                "incomeReceived": 12500,
                "allowancesAllocated": 12500,
                "taxableIncome": 12500,
                "incomeTaxAmount": 5000.99,
                "taxBands": [
                  {
                    "name": "savings-starter-rate",
                    "rate": 20.99,
                    "bandLimit": 12500,
                    "apportionedBandLimit": 12500,
                    "income": 12500,
                    "taxAmount": 5000.99
                  }
                ]
              },
              "incomeTaxCharged": 5000.99,
              "totalReliefs": 5000.99,
              "incomeTaxDueAfterReliefs": -99999999999.99,
              "totalNotionalTax": 5000.99,
              "marriageAllowanceRelief": 5000.99,
              "incomeTaxDueAfterTaxReductions": 5000.99,
              "incomeTaxDueAfterGiftAid": 5000.99,
              "totalPensionSavingsTaxCharges": 5000.99,
              "statePensionLumpSumCharges": 5000.99,
              "payeUnderpaymentsCodedOut": 5000.99,
              "totalIncomeTaxDue": 5000.99,
              "giftAidTaxChargeWhereBasicRateDiffers": 5000.99,
              "highIncomeBenefitCharge": 5000.99
            },
            "nics": {
              "class2Nics": {
                "amount": 5000.99,
                "weeklyRate": 5000.99,
                "weeks": 0,
                "limit": 12500,
                "apportionedLimit": 12500,
                "underSmallProfitThreshold": true,
                "underLowerProfitThreshold": true,
                "actualClass2Nic": true
              },
              "class4Nics": {
                "totalIncomeLiableToClass4Charge": 12500,
                "totalClass4LossesAvailable": 12500,
                "totalClass4LossesUsed": 12500,
                "totalClass4LossesCarriedForward": 12500,
                "totalIncomeChargeableToClass4": 12500,
                "totalAmount": 5000.99,
                "nic4Bands": [
                  {
                    "name": "zero-rate",
                    "rate": 20.99,
                    "threshold": 12500,
                    "apportionedThreshold": 12500,
                    "income": 12500,
                    "amount": 5000.99
                  }
                ]
              },
              "nic2NetOfDeductions": -99999999999.99,
              "nic4NetOfDeductions": -99999999999.99,
              "totalNic": -99999999999.99
            },
            "totalTaxDeductedBeforeCodingOut": 5000.99,
            "saUnderpaymentsCodedOut": 5000.99,
            "totalIncomeTaxNicsCharged": -99999999999.99,
            "totalStudentLoansRepaymentAmount": 5000.99,
            "totalAnnuityPaymentsTaxCharged": 12500.25,
            "totalRoyaltyPaymentsTaxCharged": 5000.99,
            "totalTaxDeducted": -99999999999.99,
            "totalIncomeTaxAndNicsDue": -99999999999.99,
            "capitalGainsTax": {
              "totalCapitalGainsIncome": 5000.99,
              "annualExemptionAmount": 5000.99,
              "totalTaxableGains": 5000.99,
              "businessAssetsDisposalsAndInvestorsRel": {
                "gainsIncome": 5000.99,
                "lossesBroughtForward": 5000.99,
                "lossesArisingThisYear": 5000.99,
                "gainsAfterLosses": 5000.99,
                "annualExemptionAmount": 5000.99,
                "taxableGains": 5000.99,
                "rate": 20.99,
                "taxAmount": 5000.99
              },
              "residentialPropertyAndCarriedInterest": {
                "gainsIncome": 5000.99,
                "lossesBroughtForward": 5000.99,
                "lossesArisingThisYear": 5000.99,
                "gainsAfterLosses": 5000.99,
                "annualExemptionAmount": 5000.99,
                "taxableGains": 5000.99,
                "cgtTaxBands": [
                  {
                    "name": "lower-rate",
                    "rate": 20.99,
                    "income": 5000.99,
                    "taxAmount": 5000.99
                  }
                ],
                "totalTaxAmount": 5000.99
              },
              "otherGains": {
                "gainsIncome": 5000.99,
                "lossesBroughtForward": 5000.99,
                "lossesArisingThisYear": 5000.99,
                "gainsAfterLosses": 5000.99,
                "attributedGains": 5000.99,
                "netGains": 5000.99,
                "annualExemptionAmount": 5000.99,
                "taxableGains": 5000.99,
                "cgtTaxBands": [
                  {
                    "name": "lower-rate",
                    "rate": 20.99,
                    "income": 5000.99,
                    "taxAmount": 5000.99
                  }
                ],
                "totalTaxAmount": 5000.99
              },
              "capitalGainsTaxAmount": 5000.99,
              "adjustments": -99999999999.99,
              "adjustedCapitalGainsTax": 5000.99,
              "foreignTaxCreditRelief": 5000.99,
              "capitalGainsTaxAfterFTCR": 5000.99,
              "taxOnGainsAlreadyPaid": 5000.99,
              "capitalGainsTaxDue": 5000.99,
              "capitalGainsOverpaid": 5000.99
            },
            "totalIncomeTaxAndNicsAndCgt": 5000.99
          },
          "chargeableEventGainsIncome": {
            "totalOfAllGains": 12500,
            "totalGainsWithTaxPaid": 12500,
            "gainsWithTaxPaidDetail": [
              {
                "type": "life-insurance",
                "customerReference": "string",
                "gainAmount": 5000.99,
                "yearsHeld": 0,
                "yearsHeldSinceLastGain": 0
              }
            ],
            "totalGainsWithNoTaxPaidAndVoidedIsa": 12500,
            "gainsWithNoTaxPaidAndVoidedIsaDetail": [
              {
                "type": "life-insurance",
                "customerReference": "string",
                "gainAmount": 5000.99,
                "yearsHeld": 0,
                "yearsHeldSinceLastGain": 0,
                "voidedIsaTaxPaid": 5000.99
              }
            ],
            "totalForeignGainsOnLifePoliciesTaxPaid": 12500,
            "foreignGainsOnLifePoliciesTaxPaidDetail": [
              {
                "customerReference": "string",
                "gainAmount": 5000.99,
                "taxPaidAmount": 5000.99,
                "yearsHeld": 0
              }
            ],
            "totalForeignGainsOnLifePoliciesNoTaxPaid": 12500,
            "foreignGainsOnLifePoliciesNoTaxPaidDetail": [
              {
                "customerReference": "string",
                "gainAmount": 5000.99,
                "yearsHeld": 0
              }
            ]
          },
          "transitionProfit": {
            "totalTaxableTransitionProfit": 2000,
            "transitionProfitDetail": [
              {
                "incomeSourceId": "SAVKB2UVwUTBQGJ",
                "incomeSourceName": "Savings Account",
                "transitionProfitAmount": 2000.99,
                "transitionProfitAccelerationAmount": 2000.99,
                "totalTransitionProfit": 2000,
                "remainingBroughtForwardIncomeTaxLosses": 2000,
                "broughtForwardIncomeTaxLossesUsed": 2000,
                "transitionProfitsAfterIncomeTaxLossDeductions": 2000
              }
            ]
          },
          "studentLoans": [
            {
              "planType": "plan1",
              "studentLoanTotalIncomeAmount": 5000.99,
              "studentLoanChargeableIncomeAmount": 5000.99,
              "studentLoanRepaymentAmount": 5000.99,
              "studentLoanDeductionsFromEmployment": 5000.99,
              "studentLoanRepaymentAmountNetOfDeductions": 5000.99,
              "studentLoanApportionedIncomeThreshold": 12500,
              "studentLoanRate": 20.99,
              "payeIncomeForStudentLoan": 5000.99,
              "nonPayeIncomeForStudentLoan": 5000.99
            }
          ],
          "foreignIncome": {
            "chargeableOverseasPensionsStateBenefitsRoyalties": 5000.99,
            "overseasPensionsStateBenefitsRoyaltiesDetail": [
              {
                "countryCode": "FRA",
                "grossIncome": 5000.99,
                "netIncome": 5000.99,
                "taxDeducted": 5000.99,
                "foreignTaxCreditRelief": true
              }
            ],
            "chargeableAllOtherIncomeReceivedWhilstAbroad": 5000.99,
            "allOtherIncomeReceivedWhilstAbroadDetail": [
              {
                "countryCode": "FRA",
                "grossIncome": 5000.99,
                "netIncome": 5000.99,
                "taxDeducted": 5000.99,
                "foreignTaxCreditRelief": true
              }
            ],
            "overseasIncomeAndGains": {
              "gainAmount": 5000.99
            },
            "totalForeignBenefitsAndGifts": 5000.99,
            "chargeableForeignBenefitsAndGiftsDetail": {
              "transactionBenefit": 5000.99,
              "protectedForeignIncomeSourceBenefit": 5000.99,
              "protectedForeignIncomeOnwardGift": 5000.99,
              "benefitReceivedAsASettler": 5000.99,
              "onwardGiftReceivedAsASettler": 5000.99
            }
          },
          "royaltyPayments": {
            "royaltyPaymentsAmount": 12500,
            "rate": 20.99,
            "grossRoyaltyPayments": 12500
          },
          "lossesAndClaims": {
            "resultOfClaimsApplied": [
              {
                "claimId": "0vayS9JrW2jTa6n",
                "originatingClaimId": "0vayS9JrW2jTa6n",
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "self-employment",
                "taxYearClaimMade": "2017-18",
                "claimType": "carry-forward",
                "mtdLoss": false,
                "taxYearLossIncurred": "2017-18",
                "lossAmountUsed": 12500,
                "remainingLossValue": 12500,
                "lossType": "income"
              }
            ],
            "unclaimedLosses": [
              {
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "self-employment",
                "taxYearLossIncurred": "2017-18",
                "currentLossValue": 12500,
                "lossType": "income"
              }
            ],
            "carriedForwardLosses": [
              {
                "claimId": "0vayS9JrW2jTa6n",
                "originatingClaimId": "0vayS9JrW2jTa6n",
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "self-employment",
                "claimType": "carry-forward",
                "taxYearClaimMade": "2017-18",
                "taxYearLossIncurred": "2017-18",
                "currentLossValue": 12500,
                "lossType": "income"
              }
            ],
            "defaultCarriedForwardLosses": [
              {
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "self-employment",
                "taxYearLossIncurred": "2017-18",
                "currentLossValue": 12500
              }
            ],
            "claimsNotApplied": [
              {
                "claimId": "0vayS9JrW2jTa6n",
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "self-employment",
                "taxYearClaimMade": "2017-18",
                "claimType": "carry-forward"
              }
            ]
          },
          "employmentExpenses": {
            "totalEmploymentExpenses": 5000.99,
            "employmentExpensesDetail": {
              "businessTravelCosts": 5000.99,
              "jobExpenses": 5000.99,
              "flatRateJobExpenses": 5000.99,
              "professionalSubscriptions": 5000.99,
              "hotelAndMealExpenses": 5000.99,
              "otherAndCapitalAllowances": 5000.99,
              "vehicleExpenses": 5000.99,
              "mileageAllowanceRelief": 5000.99
            }
          },
          "savingsAndGainsIncome": {
            "totalChargeableSavingsAndGains": 12500,
            "totalUkSavingsAndGains": 12500,
            "ukSavingsAndGainsIncome": [
              {
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "uk-savings-and-gains",
                "incomeSourceName": "My Savings Account 1",
                "grossIncome": 5000.99,
                "netIncome": 5000.99,
                "taxDeducted": 5000.99
              }
            ],
            "chargeableForeignSavingsAndGains": 12500,
            "foreignSavingsAndGainsIncome": [
              {
                "incomeSourceType": "foreign-savings-and-gains",
                "countryCode": "DEU",
                "grossIncome": 5000.99,
                "netIncome": 5000.99,
                "taxDeducted": 5000.99,
                "foreignTaxCreditRelief": true
              }
            ]
          },
          "reliefs": {
            "residentialFinanceCosts": {
              "adjustedTotalIncome": 5000.99,
              "totalAllowableAmount": 5000.99,
              "relievableAmount": 5000.99,
              "rate": 20.99,
              "totalResidentialFinanceCostsRelief": 5000.99,
              "ukProperty": {
                "amountClaimed": 12500,
                "allowableAmount": 5000.99,
                "carryForwardAmount": 5000.99
              },
              "foreignProperty": {
                "totalForeignPropertyAllowableAmount": 5000.99,
                "foreignPropertyRfcDetail": [
                  {
                    "countryCode": "FRA",
                    "amountClaimed": 12500,
                    "allowableAmount": 5000.99,
                    "carryForwardAmount": 5000.99
                  }
                ]
              },
              "allOtherIncomeReceivedWhilstAbroad": {
                "totalOtherIncomeAllowableAmount": 5000.99,
                "otherIncomeRfcDetail": [
                  {
                    "countryCode": "FRA",
                    "residentialFinancialCostAmount": 5000.99,
                    "broughtFwdResidentialFinancialCostAmount": 5000.99
                  }
                ]
              }
            },
            "reliefsClaimed": [
              {
                "type": "vct-subscriptions",
                "amountClaimed": 5000.99,
                "allowableAmount": 5000.99,
                "amountUsed": 5000.99,
                "rate": 20.99,
                "reliefsClaimedDetail": [
                  {
                    "amountClaimed": 5000.99,
                    "uniqueInvestmentRef": "string",
                    "name": "string",
                    "companyName": "string",
                    "deficiencyReliefType": "life-insurance",
                    "customerReference": "string"
                  }
                ]
              }
            ],
            "foreignTaxCreditRelief": {
              "customerCalculatedRelief": true,
              "totalForeignTaxCreditRelief": 5000.99,
              "foreignTaxCreditReliefOnProperty": 5000.99,
              "foreignTaxCreditReliefOnDividends": 5000.99,
              "foreignTaxCreditReliefOnSavings": 5000.99,
              "foreignTaxCreditReliefOnForeignIncome": 5000.99,
              "foreignTaxCreditReliefDetail": [
                {
                  "incomeSourceType": "foreign-property",
                  "incomeSourceId": "000000000000210",
                  "countryCode": "FRA",
                  "foreignIncome": 5000.99,
                  "foreignTax": 5000.99,
                  "dtaRate": 20.99,
                  "dtaAmount": 5000.99,
                  "ukLiabilityOnIncome": 5000.99,
                  "foreignTaxCredit": 5000.99,
                  "employmentLumpSum": true
                }
              ]
            },
            "topSlicingRelief": {
              "amount": 5000.99
            },
            "basicRateExtension": {
              "totalBasicRateExtension": 5000.99,
              "giftAidRelief": 3000,
              "pensionContributionReliefs": 5000.58
            },
            "giftAidTaxReductionWhereBasicRateDiffers": {
              "amount": 5000.99
            }
          },
          "highIncomeChildBenefitCharge": {
            "adjustedNetIncome": 2000.01,
            "amountOfChildBenefitReceived": 2000.01,
            "incomeThreshold": 60000,
            "childBenefitChargeTaper": 200,
            "rate": 10.25,
            "highIncomeBenefitCharge": 32000.01
          },
          "stateBenefitsIncome": {
            "totalStateBenefitsIncome": 5000.99,
            "totalStateBenefitsTaxPaid": -99999999999.99,
            "stateBenefitsDetail": {
              "incapacityBenefit": [
                {
                  "incomeSourceId": "8d52ce90-44d7-4f54-a852-c3649c032ad2",
                  "amount": 5000.99,
                  "taxPaid": 5000.99,
                  "source": "customer"
                }
              ],
              "statePension": [
                {
                  "incomeSourceId": "b3c35b58-f922-45f2-b9ce-bf5d8d02ae1d",
                  "amount": 5000.99,
                  "source": "customer"
                }
              ],
              "statePensionLumpSum": [
                {
                  "incomeSourceId": "98c46e27-5a68-424b-9529-08a955ebed14",
                  "amount": 5000.99,
                  "taxPaid": 5000.99,
                  "rate": 20.99,
                  "source": "customer"
                }
              ],
              "employmentSupportAllowance": [
                {
                  "incomeSourceId": "5d8c1388-2fe6-4383-9dbb-714c5691fa0d",
                  "amount": 5000.99,
                  "taxPaid": -99999999999.99,
                  "source": "customer"
                }
              ],
              "jobSeekersAllowance": [
                {
                  "incomeSourceId": "1d6e0bed-9515-4a53-8b8f-f64602511a79",
                  "amount": 5000.99,
                  "taxPaid": -99999999999.99,
                  "source": "customer"
                }
              ],
              "bereavementAllowance": [
                {
                  "incomeSourceId": "fee9c698-4920-4aed-9d34-482b7de4765f",
                  "amount": 5000.99,
                  "source": "customer"
                }
              ],
              "otherStateBenefits": [
                {
                  "incomeSourceId": "69e598f6-7f99-40d6-998f-bfca16c20d12",
                  "amount": 5000.99,
                  "source": "customer"
                }
              ]
            },
            "totalStateBenefitsIncomeExcStatePensionLumpSum": 5000.99
          },
          "incomeSummaryTotals": {
            "totalSelfEmploymentProfit": 12500,
            "totalPropertyProfit": 12500,
            "totalUKOtherPropertyProfit": 12500,
            "totalForeignPropertyProfit": 12500,
            "totalEmploymentIncome": 12500
          },
          "employmentAndPensionsIncome": {
            "totalPayeEmploymentAndLumpSumIncome": 5000.99,
            "totalOccupationalPensionIncome": 5000.99,
            "totalBenefitsInKind": 5000.99,
            "tipsIncome": 5000.99,
            "employmentAndPensionsIncomeDetail": [
              {
                "incomeSourceId": "07cedb23-ecdf-4bce-919b-e4be46a98704",
                "source": "customer",
                "occupationalPension": true,
                "employerRef": "123/AA12345",
                "employerName": "string",
                "offPayrollWorker": true,
                "payrollId": "YDIAHPcYFQbOXLCKQ",
                "startDate": "2021-12-02",
                "dateEmploymentEnded": "2021-12-02",
                "taxablePayToDate": 5000.99,
                "totalTaxToDate": -99999999999.99,
                "disguisedRemuneration": true,
                "lumpSums": {
                  "totalLumpSum": 5000.99,
                  "totalTaxPaid": 5000.99,
                  "lumpSumsDetail": {
                    "taxableLumpSumsAndCertainIncome": {
                      "amount": 5000.99,
                      "taxPaid": 5000.99,
                      "taxTakenOffInEmployment": true
                    },
                    "benefitFromEmployerFinancedRetirementScheme": {
                      "amount": 5000.99,
                      "exemptAmount": 5000.99,
                      "taxPaid": 5000.99,
                      "taxTakenOffInEmployment": true
                    },
                    "redundancyCompensationPaymentsOverExemption": {
                      "amount": 5000.99,
                      "taxPaid": 5000.99,
                      "taxTakenOffInEmployment": true
                    },
                    "redundancyCompensationPaymentsUnderExemption": {
                      "amount": 5000.99
                    }
                  }
                },
                "studentLoans": {
                  "uglDeductionAmount": 5000.99,
                  "pglDeductionAmount": 5000.99
                },
                "benefitsInKind": {
                  "totalBenefitsInKindReceived": 5000.99,
                  "benefitsInKindDetail": {
                    "apportionedVanFuel": 5000.99,
                    "apportionedIncomeTaxPaidByDirector": 5000.99,
                    "apportionedNonQualifyingRelocationExpenses": 5000.99,
                    "apportionedEmployerProvidedProfessionalSubscriptions": 5000.99,
                    "apportionedCar": 5000.99,
                    "apportionedNonCash": 5000.99,
                    "apportionedMedicalInsurance": 5000.99,
                    "apportionedEducationalServices": 5000.99,
                    "apportionedTaxableExpenses": 5000.99,
                    "apportionedExpenses": 5000.99,
                    "apportionedBeneficialLoan": 5000.99,
                    "apportionedOtherItems": 5000.99,
                    "apportionedVan": 5000.99,
                    "apportionedVouchersAndCreditCards": 5000.99,
                    "apportionedAccommodation": 5000.99,
                    "apportionedEmployerProvidedServices": 5000.99,
                    "apportionedNurseryPlaces": 5000.99,
                    "apportionedEntertaining": 5000.99,
                    "apportionedPersonalIncidentalExpenses": 5000.99,
                    "apportionedTravelAndSubsistence": 5000.99,
                    "apportionedTelephone": 5000.99,
                    "apportionedAssetTransfer": 5000.99,
                    "apportionedCarFuel": 5000.99,
                    "apportionedPaymentsOnEmployeesBehalf": 5000.99,
                    "apportionedService": 5000.99,
                    "apportionedMileage": 5000.99,
                    "apportionedQualifyingRelocationExpenses": 5000.99,
                    "apportionedAssets": 5000.99
                  }
                }
              }
            ]
          },
          "foreignTaxForFtcrNotClaimed": {
            "foreignTaxOnForeignEmployment": 5000.99
          },
          "marriageAllowanceTransferredIn": {
            "amount": 5000.99,
            "rate": 20.99
          },
          "pensionContributionReliefs": {
            "totalPensionContributionReliefs": 5000.99,
            "pensionContributionDetail": {
              "regularPensionContributions": 5000.99,
              "oneOffPensionContributionsPaid": 5000.99
            }
          },
          "seafarersDeductions": {
            "totalSeafarersDeduction": 5000.99,
            "seafarersDeductionDetail": [
              {
                "nameOfShip": "string",
                "amountDeducted": 5000.99
              }
            ]
          },
          "allowancesAndDeductions": {
            "personalAllowance": 12500,
            "marriageAllowanceTransferOut": {
              "personalAllowanceBeforeTransferOut": 5000.99,
              "transferredOutAmount": 5000.99
            },
            "reducedPersonalAllowance": 12500,
            "giftOfInvestmentsAndPropertyToCharity": 12500,
            "blindPersonsAllowance": 12500,
            "lossesAppliedToGeneralIncome": 12500,
            "cgtLossSetAgainstInYearGeneralIncome": 12500,
            "qualifyingLoanInterestFromInvestments": 5000.99,
            "postCessationTradeReceipts": 5000.99,
            "paymentsToTradeUnionsForDeathBenefits": 5000.99,
            "grossAnnuityPayments": 5000.99,
            "annuityPayments": {
              "reliefClaimed": 5000.99,
              "rate": 20.99
            },
            "pensionContributions": 5000.99,
            "pensionContributionsDetail": {
              "retirementAnnuityPayments": 5000.99,
              "paymentToEmployersSchemeNoTaxRelief": 5000.99,
              "overseasPensionSchemeContributions": 5000.99
            }
          },
          "pensionSavingsTaxCharges": {
            "totalPensionCharges": 5000.99,
            "totalTaxPaid": 5000.99,
            "totalPensionChargesDue": 5000.99,
            "pensionSavingsTaxChargesDetail": {
              "pensionSchemeUnauthorisedPayments": {
                "totalChargeableAmount": 5000.99,
                "totalTaxPaid": 5000.99,
                "pensionSchemeUnauthorisedPaymentsSurcharge": {
                  "amount": 5000.99,
                  "taxPaid": 5000.99,
                  "rate": 20.99,
                  "chargeableAmount": 5000.99
                },
                "pensionSchemeUnauthorisedPaymentsNonSurcharge": {
                  "amount": 5000.99,
                  "taxPaid": 5000.99,
                  "rate": 20.99,
                  "chargeableAmount": 5000.99
                }
              },
              "pensionSchemeOverseasTransfers": {
                "transferCharge": 5000.99,
                "transferChargeTaxPaid": 5000.99,
                "rate": 20.99,
                "chargeableAmount": 5000.99
              },
              "pensionContributionsInExcessOfTheAnnualAllowance": {
                "totalContributions": 5000.99,
                "totalPensionCharge": 5000.99,
                "annualAllowanceTaxPaid": 5000.99,
                "totalPensionChargeDue": 5000.99,
                "pensionBands": [
                  {
                    "name": "basic-rate",
                    "rate": 20.99,
                    "bandLimit": 12500,
                    "apportionedBandLimit": 12500,
                    "contributionAmount": 5000.99,
                    "pensionCharge": 5000.99
                  }
                ]
              },
              "overseasPensionContributions": {
                "totalShortServiceRefund": 5000.99,
                "totalShortServiceRefundCharge": 5000.99,
                "shortServiceRefundTaxPaid": 5000.99,
                "totalShortServiceRefundChargeDue": 5000.99,
                "shortServiceRefundBands": [
                  {
                    "name": "lower-band",
                    "rate": 20.99,
                    "bandLimit": 12500,
                    "apportionedBandLimit": 12500,
                    "shortServiceRefundAmount": 5000.99,
                    "shortServiceRefundCharge": 5000.99
                  }
                ]
              }
            }
          },
          "giftAid": {
            "grossGiftAidPayments": 12500,
            "rate": 20.99,
            "giftAidTax": 5000.99,
            "giftAidTaxReductions": 5000.99,
            "incomeTaxChargedAfterGiftAidTaxReductions": 5000.99,
            "giftAidCharge": 5000.99
          },
          "previousCalculation": {
            "calculationTimestamp": "2021-12-02T15:25:48.475Z",
            "calculationId": "f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c",
            "totalIncomeTaxAndNicsDue": -99999999999.99,
            "cgtTaxDue": 5000.99,
            "totalIncomeTaxAndNicsAndCgtDue": 5000.99,
            "incomeTaxNicDueThisPeriod": -99999999999.99,
            "cgtDueThisPeriod": -99999999999.99,
            "totalIncomeTaxAndNicsAndCgtDueThisPeriod": 5000.99
          },
          "otherIncome": {
            "totalOtherIncome": 2000,
            "postCessationIncome": {
              "totalPostCessationReceipts": 2000,
              "postCessationReceipts": [
                {
                  "amount": 100,
                  "taxYearIncomeToBeTaxed": "2019-20"
                }
              ]
            }
          },
          "shareSchemesIncome": {
            "totalIncome": 5000.99,
            "shareSchemeDetail": [
              {
                "type": "share-option",
                "employerName": "string",
                "employerRef": "123/AA12345",
                "taxableAmount": 5000.99
              }
            ]
          },
          "taxDeductedAtSource": {
            "bbsi": 5000.99,
            "ukLandAndProperty": 5000.99,
            "cis": 5000.99,
            "securities": 5000.99,
            "voidedIsa": 5000.99,
            "payeEmployments": 5000.99,
            "occupationalPensions": 5000.99,
            "stateBenefits": -99999999999.99,
            "specialWithholdingTaxOrUkTaxPaid": 5000.99,
            "inYearAdjustmentCodedInLaterTaxYear": 5000.99,
            "taxTakenOffTradingIncome": 5000.99
          },
          "endOfYearEstimate": {
            "incomeSource": [
              {
                "incomeSourceId": "000000000000210",
                "incomeSourceType": "self-employment",
                "incomeSourceName": "string",
                "taxableIncome": 12500
              }
            ],
            "totalEstimatedIncome": 12500,
            "totalAllowancesAndDeductions": 5311,
            "totalTaxableIncome": 12500,
            "incomeTaxAmount": 5000.99,
            "nic2": 5000.99,
            "nic4": 5000.99,
            "totalTaxDeductedBeforeCodingOut": 5000.99,
            "saUnderpaymentsCodedOut": 5000.99,
            "totalNicAmount": 5000.99,
            "totalStudentLoansRepaymentAmount": 5000.99,
            "totalAnnuityPaymentsTaxCharged": 5000.99,
            "totalRoyaltyPaymentsTaxCharged": 5000.99,
            "totalTaxDeducted": -99999999999.99,
            "incomeTaxNicAmount": -99999999999.99,
            "cgtAmount": 5000.99,
            "incomeTaxNicAndCgtAmount": 5000.99
          },
          "foreignPropertyIncome": [
            {
              "incomeSourceId": "000000000000210",
              "incomeSourceType": "foreign-property",
              "countryCode": "FRA",
              "totalIncome": 5000.99,
              "totalExpenses": 5000.99,
              "netProfit": 5000.99,
              "netLoss": 5000.99,
              "totalAdditions": 5000.99,
              "totalDeductions": 5000.99,
              "taxableProfit": 5000.99,
              "adjustedIncomeTaxLoss": 5000.99
            }
          ],
          "notionalTax": {
            "chargeableGains": 5000.99
          },
          "codedOutUnderpayments": {
            "totalPayeUnderpayments": 5000.99,
            "payeUnderpaymentsDetail": [
              {
                "amount": 5000.99,
                "relatedTaxYear": "2019-20",
                "source": "customer"
              }
            ],
            "totalSelfAssessmentUnderpayments": 5000.99,
            "totalCollectedSelfAssessmentUnderpayments": 5000.99,
            "totalUncollectedSelfAssessmentUnderpayments": 5000.99,
            "selfAssessmentUnderpaymentsDetail": [
              {
                "amount": 5000.99,
                "relatedTaxYear": "2019-20",
                "source": "customer",
                "collectedAmount": 5000.99,
                "uncollectedAmount": 5000.99
              }
            ]
          },
          "dividendsIncome": {
            "totalChargeableDividends": 12500,
            "totalUkDividends": 12500,
            "ukDividends": {
              "incomeSourceId": "000000000000210",
              "incomeSourceType": "uk-dividends",
              "dividends": 12500,
              "otherUkDividends": 12500
            },
            "otherDividends": [
              {
                "typeOfDividend": "stock-dividend",
                "customerReference": "string",
                "grossAmount": 5000.99
              }
            ],
            "chargeableForeignDividends": 12500,
            "foreignDividends": [
              {
                "incomeSourceType": "foreign-dividends",
                "countryCode": "ZZZ",
                "grossIncome": 5000.99,
                "netIncome": 5000.99,
                "taxDeducted": 5000.99,
                "foreignTaxCreditRelief": true
              }
            ],
            "dividendIncomeReceivedWhilstAbroad": [
              {
                "incomeSourceType": "foreign-dividends",
                "countryCode": "ZZZ",
                "grossIncome": 5000.99,
                "netIncome": 5000.99,
                "taxDeducted": 5000.99,
                "foreignTaxCreditRelief": true
              }
            ]
          },
          "businessProfitAndLoss": [
            {
              "broughtForwardClass4LossesUsed": 12500,
              "incomeSourceType": "self-employment",
              "totalIncome": 5000.99,
              "netProfit": 5000.99,
              "netLoss": 5000.99,
              "totalIncomeTaxLossesCarriedForward": 12500,
              "totalClass4LossesCarriedForward": 12500,
              "incomeSourceName": "string",
              "totalExpenses": -99999999999.99,
              "totalAdditions": -99999999999.99,
              "taxableProfit": 12500,
              "totalBroughtForwardIncomeTaxLosses": 12500,
              "adjustedIncomeTaxLoss": 12500,
              "adjustedProfit": 5000.99,
              "carrySidewaysIncomeTaxLossesUsed": 12500,
              "class4Loss": 12500,
              "carrySidewaysClass4LossesUsed": 12500,
              "broughtForwardCarrySidewaysIncomeTaxLossesUsed": 12500,
              "broughtForwardIncomeTaxLossesUsed": 12500,
              "outstandingBusinessIncome": 5000.99,
              "incomeSourceId": "000000000000210",
              "totalDeductions": 5000.99,
              "taxableProfitAfterIncomeTaxLossesDeduction": 12500,
              "totalBroughtForwardClass4Losses": 12500,
              "accountingAdjustments": -99999999999.99
            }
          ]
        },
        "messages": {
          "info": [
            {
              "id": "C22201",
              "text": "Your BRT limit has been increased by 6375 to 40875 for Gift Aid payments."
            }
          ],
          "warnings": [
            {
              "id": "C11009",
              "text": "Period submissions include gaps"
            }
          ],
          "errors": [
            {
              "id": "C95005",
              "text": "Final confirmation of income and expenses for all business sources has not been provided"
            }
          ]
        }
      }
    ]
  },
  "details": {
    "message": "Tax calculation retrieved from HMRC.",
    "correlationId": "552dc2fa-ff2c-46c3-91a3-7b819d3451b0"
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 190
  }
}

Individual Calculations API POST /hmrc/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/intent-to-finalise returns BUSINESS_VALIDATION_FAILURE as a controlled HMRC error

HMRC Scenario: BUSINESS_VALIDATION_FAILURE. Simulates the scenario where there is a generic business validation rule failure.

PASSED
Started 2026-04-27T09:50:15.086918Z Duration 300 ms
  • PASSScenario request forwarded Gov-Test-Scenario: BUSINESS_VALIDATION_FAILURE.
  • PASSControlled HMRC error matched BUSINESS_VALIDATION_FAILURE.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "headers": {
      "accept": "application/vnd.hmrc.8.0+json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec0158b8b0ec",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "0",
      "gov-test-scenario": "BUSINESS_VALIDATION_FAILURE",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.8.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "BUSINESS_VALIDATION_FAILURE"
        },
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "95fd56f5-1288-4b37-91aa-86fd02f511f2",
        "payload": {
          "code": "RULE_BUSINESS_VALIDATION_FAILURE",
          "message": "Business validation rule failures"
        }
      }
    }
  ],
  "response": {
    "status": 400,
    "payload": [
      {
        "error": "HMRC tax calculation trigger rejected.",
        "hmrcStatus": 400,
        "correlationId": "95fd56f5-1288-4b37-91aa-86fd02f511f2",
        "body": {
          "code": "RULE_BUSINESS_VALIDATION_FAILURE",
          "message": "Business validation rule failures"
        }
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "BUSINESS_VALIDATION_FAILURE"
    ],
    "matchedCodeFragment": "BUSINESS_VALIDATION_FAILURE",
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        },
        "request": {
          "method": "POST",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "headers": {
            "accept": "application/vnd.hmrc.8.0+json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2cec0158b8b0ec",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "content-length": "0",
            "gov-test-scenario": "BUSINESS_VALIDATION_FAILURE",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "POST",
              "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.8.0+json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "BUSINESS_VALIDATION_FAILURE"
              },
              "hmrcApi": {
                "apiName": "IndividualCalculations",
                "operation": "TriggerTaxCalculation",
                "method": "POST",
                "acceptHeader": "application/vnd.hmrc.8.0+json",
                "version": "8.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
                "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
                "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "IndividualCalculations",
              "operation": "TriggerTaxCalculation",
              "method": "POST",
              "acceptHeader": "application/vnd.hmrc.8.0+json",
              "version": "8.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
              "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 400,
    "durationMs": 168
  }
}

Individual Calculations API POST /hmrc/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/intent-to-finalise returns CALCULATION_IN_PROGRESS as a controlled HMRC error

HMRC Scenario: CALCULATION_IN_PROGRESS. Simulates the scenario where a calculation is already in progress.

PASSED
Started 2026-04-27T09:50:14.678660Z Duration 403 ms
  • PASSScenario request forwarded Gov-Test-Scenario: CALCULATION_IN_PROGRESS.
  • PASSControlled HMRC error matched CALCULATION_IN_PROGRESS.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "headers": {
      "accept": "application/vnd.hmrc.8.0+json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebfedec4b3ea",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "0",
      "gov-test-scenario": "CALCULATION_IN_PROGRESS",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.8.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "CALCULATION_IN_PROGRESS"
        },
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "822433d6-9c00-49c3-ae96-c4939735d5bc",
        "payload": {
          "code": "RULE_CALCULATION_IN_PROGRESS",
          "message": "A calculation is in progress. Please wait before triggering a new calculation"
        }
      }
    }
  ],
  "response": {
    "status": 400,
    "payload": [
      {
        "error": "HMRC tax calculation trigger rejected.",
        "hmrcStatus": 400,
        "correlationId": "822433d6-9c00-49c3-ae96-c4939735d5bc",
        "body": {
          "code": "RULE_CALCULATION_IN_PROGRESS",
          "message": "A calculation is in progress. Please wait before triggering a new calculation"
        }
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "CALCULATION_IN_PROGRESS"
    ],
    "matchedCodeFragment": "CALCULATION_IN_PROGRESS",
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        },
        "request": {
          "method": "POST",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "headers": {
            "accept": "application/vnd.hmrc.8.0+json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2cebfedec4b3ea",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "content-length": "0",
            "gov-test-scenario": "CALCULATION_IN_PROGRESS",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "POST",
              "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.8.0+json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "CALCULATION_IN_PROGRESS"
              },
              "hmrcApi": {
                "apiName": "IndividualCalculations",
                "operation": "TriggerTaxCalculation",
                "method": "POST",
                "acceptHeader": "application/vnd.hmrc.8.0+json",
                "version": "8.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
                "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
                "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "IndividualCalculations",
              "operation": "TriggerTaxCalculation",
              "method": "POST",
              "acceptHeader": "application/vnd.hmrc.8.0+json",
              "version": "8.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
              "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 400,
    "durationMs": 260
  }
}

Individual Calculations API POST /hmrc/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/intent-to-finalise returns FINAL_DECLARATION_RECEIVED as a controlled HMRC error

HMRC Scenario: FINAL_DECLARATION_RECEIVED. Simulates the scenario where a final declaration has already been received.

PASSED
Started 2026-04-27T09:50:13.314005Z Duration 363 ms
  • PASSScenario request forwarded Gov-Test-Scenario: FINAL_DECLARATION_RECEIVED.
  • PASSControlled HMRC error matched FINAL_DECLARATION_RECEIVED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "headers": {
      "accept": "application/vnd.hmrc.8.0+json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebf65d225395",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "0",
      "gov-test-scenario": "FINAL_DECLARATION_RECEIVED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.8.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "FINAL_DECLARATION_RECEIVED"
        },
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "70c792ba-bb02-48bd-8f19-e10c4df2f103",
        "payload": {
          "code": "RULE_FINAL_DECLARATION_RECEIVED",
          "message": "Final declaration has already been received"
        }
      }
    }
  ],
  "response": {
    "status": 400,
    "payload": [
      {
        "error": "HMRC tax calculation trigger rejected.",
        "hmrcStatus": 400,
        "correlationId": "70c792ba-bb02-48bd-8f19-e10c4df2f103",
        "body": {
          "code": "RULE_FINAL_DECLARATION_RECEIVED",
          "message": "Final declaration has already been received"
        }
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "FINAL_DECLARATION_RECEIVED"
    ],
    "matchedCodeFragment": "FINAL_DECLARATION_RECEIVED",
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        },
        "request": {
          "method": "POST",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "headers": {
            "accept": "application/vnd.hmrc.8.0+json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2cebf65d225395",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "content-length": "0",
            "gov-test-scenario": "FINAL_DECLARATION_RECEIVED",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "POST",
              "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.8.0+json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "FINAL_DECLARATION_RECEIVED"
              },
              "hmrcApi": {
                "apiName": "IndividualCalculations",
                "operation": "TriggerTaxCalculation",
                "method": "POST",
                "acceptHeader": "application/vnd.hmrc.8.0+json",
                "version": "8.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
                "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
                "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "IndividualCalculations",
              "operation": "TriggerTaxCalculation",
              "method": "POST",
              "acceptHeader": "application/vnd.hmrc.8.0+json",
              "version": "8.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
              "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 400,
    "durationMs": 231
  }
}

Individual Calculations API POST /hmrc/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/intent-to-finalise returns INCOME_SOURCES_CHANGED as a controlled HMRC error

HMRC Scenario: INCOME_SOURCES_CHANGED. Simulates the scenario where income sources data has changed.

PASSED
Started 2026-04-27T09:50:13.681624Z Duration 339 ms
  • PASSScenario request forwarded Gov-Test-Scenario: INCOME_SOURCES_CHANGED.
  • PASSControlled HMRC error matched INCOME_SOURCES_CHANGED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "headers": {
      "accept": "application/vnd.hmrc.8.0+json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebf89d6bb34c",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "0",
      "gov-test-scenario": "INCOME_SOURCES_CHANGED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.8.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "INCOME_SOURCES_CHANGED"
        },
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "af632302-263b-4263-bdb5-cf835b55709a",
        "payload": {
          "code": "RULE_INCOME_SOURCES_CHANGED",
          "message": "Income sources data has changed. Trigger a new calculation"
        }
      }
    }
  ],
  "response": {
    "status": 400,
    "payload": [
      {
        "error": "HMRC tax calculation trigger rejected.",
        "hmrcStatus": 400,
        "correlationId": "af632302-263b-4263-bdb5-cf835b55709a",
        "body": {
          "code": "RULE_INCOME_SOURCES_CHANGED",
          "message": "Income sources data has changed. Trigger a new calculation"
        }
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "INCOME_SOURCES_CHANGED"
    ],
    "matchedCodeFragment": "INCOME_SOURCES_CHANGED",
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        },
        "request": {
          "method": "POST",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "headers": {
            "accept": "application/vnd.hmrc.8.0+json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2cebf89d6bb34c",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "content-length": "0",
            "gov-test-scenario": "INCOME_SOURCES_CHANGED",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "POST",
              "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.8.0+json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "INCOME_SOURCES_CHANGED"
              },
              "hmrcApi": {
                "apiName": "IndividualCalculations",
                "operation": "TriggerTaxCalculation",
                "method": "POST",
                "acceptHeader": "application/vnd.hmrc.8.0+json",
                "version": "8.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
                "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
                "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "IndividualCalculations",
              "operation": "TriggerTaxCalculation",
              "method": "POST",
              "acceptHeader": "application/vnd.hmrc.8.0+json",
              "version": "8.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
              "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 400,
    "durationMs": 203
  }
}

Individual Calculations API POST /hmrc/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/intent-to-finalise returns NO_INCOME_SUBMISSIONS_EXIST as a controlled HMRC error

HMRC Scenario: NO_INCOME_SUBMISSIONS_EXIST. Simulates the scenario where no income submissions exist for the tax year.

PASSED
Started 2026-04-27T09:50:12.956822Z Duration 352 ms
  • PASSScenario request forwarded Gov-Test-Scenario: NO_INCOME_SUBMISSIONS_EXIST.
  • PASSControlled HMRC error matched NO_INCOME_SUBMISSIONS_EXIST.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "headers": {
      "accept": "application/vnd.hmrc.8.0+json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebf41ee3a44d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "0",
      "gov-test-scenario": "NO_INCOME_SUBMISSIONS_EXIST",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.8.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "NO_INCOME_SUBMISSIONS_EXIST"
        },
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "ac937804-cf35-43d7-b3af-e00cbf712f80",
        "payload": {
          "code": "RULE_NO_INCOME_SUBMISSIONS_EXIST",
          "message": "No income submissions exist for the tax year"
        }
      }
    }
  ],
  "response": {
    "status": 400,
    "payload": [
      {
        "error": "HMRC tax calculation trigger rejected.",
        "hmrcStatus": 400,
        "correlationId": "ac937804-cf35-43d7-b3af-e00cbf712f80",
        "body": {
          "code": "RULE_NO_INCOME_SUBMISSIONS_EXIST",
          "message": "No income submissions exist for the tax year"
        }
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "NO_INCOME_SUBMISSIONS_EXIST"
    ],
    "matchedCodeFragment": "NO_INCOME_SUBMISSIONS_EXIST",
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        },
        "request": {
          "method": "POST",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "headers": {
            "accept": "application/vnd.hmrc.8.0+json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2cebf41ee3a44d",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "content-length": "0",
            "gov-test-scenario": "NO_INCOME_SUBMISSIONS_EXIST",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "POST",
              "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.8.0+json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "NO_INCOME_SUBMISSIONS_EXIST"
              },
              "hmrcApi": {
                "apiName": "IndividualCalculations",
                "operation": "TriggerTaxCalculation",
                "method": "POST",
                "acceptHeader": "application/vnd.hmrc.8.0+json",
                "version": "8.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
                "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
                "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "IndividualCalculations",
              "operation": "TriggerTaxCalculation",
              "method": "POST",
              "acceptHeader": "application/vnd.hmrc.8.0+json",
              "version": "8.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
              "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 400,
    "durationMs": 210
  }
}

Individual Calculations API POST /hmrc/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/intent-to-finalise returns RECENT_SUBMISSIONS_EXIST as a controlled HMRC error

HMRC Scenario: RECENT_SUBMISSIONS_EXIST. Simulates the scenario where more recent submissions exist.

PASSED
Started 2026-04-27T09:50:14.024140Z Duration 345 ms
  • PASSScenario request forwarded Gov-Test-Scenario: RECENT_SUBMISSIONS_EXIST.
  • PASSControlled HMRC error matched RECENT_SUBMISSIONS_EXIST.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "headers": {
      "accept": "application/vnd.hmrc.8.0+json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebfabd610747",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "0",
      "gov-test-scenario": "RECENT_SUBMISSIONS_EXIST",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.8.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "RECENT_SUBMISSIONS_EXIST"
        },
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "3f904f88-33d4-4c4d-9d73-9f4bd5b9c765",
        "payload": {
          "code": "RULE_RECENT_SUBMISSIONS_EXIST",
          "message": "More recent submissions exist. Trigger a new calculation"
        }
      }
    }
  ],
  "response": {
    "status": 400,
    "payload": [
      {
        "error": "HMRC tax calculation trigger rejected.",
        "hmrcStatus": 400,
        "correlationId": "3f904f88-33d4-4c4d-9d73-9f4bd5b9c765",
        "body": {
          "code": "RULE_RECENT_SUBMISSIONS_EXIST",
          "message": "More recent submissions exist. Trigger a new calculation"
        }
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "RECENT_SUBMISSIONS_EXIST"
    ],
    "matchedCodeFragment": "RECENT_SUBMISSIONS_EXIST",
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        },
        "request": {
          "method": "POST",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "headers": {
            "accept": "application/vnd.hmrc.8.0+json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2cebfabd610747",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "content-length": "0",
            "gov-test-scenario": "RECENT_SUBMISSIONS_EXIST",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "POST",
              "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.8.0+json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "RECENT_SUBMISSIONS_EXIST"
              },
              "hmrcApi": {
                "apiName": "IndividualCalculations",
                "operation": "TriggerTaxCalculation",
                "method": "POST",
                "acceptHeader": "application/vnd.hmrc.8.0+json",
                "version": "8.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
                "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
                "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "IndividualCalculations",
              "operation": "TriggerTaxCalculation",
              "method": "POST",
              "acceptHeader": "application/vnd.hmrc.8.0+json",
              "version": "8.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
              "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 400,
    "durationMs": 208
  }
}

Individual Calculations API POST /hmrc/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/intent-to-finalise returns RESIDENCY_CHANGED as a controlled HMRC error

HMRC Scenario: RESIDENCY_CHANGED. Simulates the scenario where residency has changed.

PASSED
Started 2026-04-27T09:50:14.373823Z Duration 300 ms
  • PASSScenario request forwarded Gov-Test-Scenario: RESIDENCY_CHANGED.
  • PASSControlled HMRC error matched RESIDENCY_CHANGED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "headers": {
      "accept": "application/vnd.hmrc.8.0+json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebfce9b8b396",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "0",
      "gov-test-scenario": "RESIDENCY_CHANGED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.8.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "RESIDENCY_CHANGED"
        },
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "bfab0606-0416-443b-96fe-581ff12c9832",
        "payload": {
          "code": "RULE_RESIDENCY_CHANGED",
          "message": "Residency has changed. Trigger a new calculation"
        }
      }
    }
  ],
  "response": {
    "status": 400,
    "payload": [
      {
        "error": "HMRC tax calculation trigger rejected.",
        "hmrcStatus": 400,
        "correlationId": "bfab0606-0416-443b-96fe-581ff12c9832",
        "body": {
          "code": "RULE_RESIDENCY_CHANGED",
          "message": "Residency has changed. Trigger a new calculation"
        }
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "RESIDENCY_CHANGED"
    ],
    "matchedCodeFragment": "RESIDENCY_CHANGED",
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        },
        "request": {
          "method": "POST",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "headers": {
            "accept": "application/vnd.hmrc.8.0+json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2cebfce9b8b396",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "content-length": "0",
            "gov-test-scenario": "RESIDENCY_CHANGED",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "POST",
              "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.8.0+json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "RESIDENCY_CHANGED"
              },
              "hmrcApi": {
                "apiName": "IndividualCalculations",
                "operation": "TriggerTaxCalculation",
                "method": "POST",
                "acceptHeader": "application/vnd.hmrc.8.0+json",
                "version": "8.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
                "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
                "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "IndividualCalculations",
              "operation": "TriggerTaxCalculation",
              "method": "POST",
              "acceptHeader": "application/vnd.hmrc.8.0+json",
              "version": "8.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
              "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 400,
    "durationMs": 165
  }
}

Individual Calculations API POST /hmrc/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/intent-to-finalise returns TAX_YEAR_NOT_ENDED as a controlled HMRC error

HMRC Scenario: TAX_YEAR_NOT_ENDED. Simulates the scenario where a trigger for a final declaration is attempted before the tax year has ended.

PASSED
Started 2026-04-27T09:50:15.392355Z Duration 277 ms
  • PASSScenario request forwarded Gov-Test-Scenario: TAX_YEAR_NOT_ENDED.
  • PASSControlled HMRC error matched TAX_YEAR_NOT_ENDED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "headers": {
      "accept": "application/vnd.hmrc.8.0+json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec033abf26aa",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "0",
      "gov-test-scenario": "TAX_YEAR_NOT_ENDED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.8.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "TAX_YEAR_NOT_ENDED"
        },
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "cc38fdfc-9864-4331-885e-94b296e44d7d",
        "payload": {
          "code": "RULE_TAX_YEAR_NOT_ENDED",
          "message": "The specified tax year has not yet ended"
        }
      }
    }
  ],
  "response": {
    "status": 400,
    "payload": [
      {
        "error": "HMRC tax calculation trigger rejected.",
        "hmrcStatus": 400,
        "correlationId": "cc38fdfc-9864-4331-885e-94b296e44d7d",
        "body": {
          "code": "RULE_TAX_YEAR_NOT_ENDED",
          "message": "The specified tax year has not yet ended"
        }
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "TAX_YEAR_NOT_ENDED"
    ],
    "matchedCodeFragment": "TAX_YEAR_NOT_ENDED",
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        },
        "request": {
          "method": "POST",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
          "headers": {
            "accept": "application/vnd.hmrc.8.0+json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2cec033abf26aa",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "content-length": "0",
            "gov-test-scenario": "TAX_YEAR_NOT_ENDED",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "POST",
              "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.8.0+json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "TAX_YEAR_NOT_ENDED"
              },
              "hmrcApi": {
                "apiName": "IndividualCalculations",
                "operation": "TriggerTaxCalculation",
                "method": "POST",
                "acceptHeader": "application/vnd.hmrc.8.0+json",
                "version": "8.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
                "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
                "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "IndividualCalculations",
              "operation": "TriggerTaxCalculation",
              "method": "POST",
              "acceptHeader": "application/vnd.hmrc.8.0+json",
              "version": "8.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
              "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
              "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 400,
    "durationMs": 148
  }
}

Individual Calculations API POST /hmrc/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/intent-to-finalise triggers a tax calculation

PASSED
Started 2026-04-27T09:49:55.028869Z Duration 348 ms
  • PASSTax calculation trigger returned calculationId c75dbb53-6237-49e2-b05a-60ef221f0260.
  • PASSTax calculation trigger completed through the worker-backed Individual Calculations API route.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
    "headers": {
      "accept": "application/vnd.hmrc.8.0+json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb840b576306",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "0",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.8.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "TriggerTaxCalculation",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/trigger/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/trigger/intent-to-finalise"
        }
      },
      "hmrc-response": {
        "status": 202,
        "correlationId": "5268f73c-af14-4d01-a31d-71930559f8fe",
        "payload": {
          "calculationId": "c75dbb53-6237-49e2-b05a-60ef221f0260"
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "calculationId": "c75dbb53-6237-49e2-b05a-60ef221f0260"
      }
    ]
  },
  "details": {
    "attemptCount": 1,
    "message": "Tax calculation triggered with HMRC.",
    "statusCode": 200,
    "hmrcStatusCode": 202,
    "correlationId": "5268f73c-af14-4d01-a31d-71930559f8fe"
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 213
  }
}

Individual Calculations API POST /hmrc/individuals/calculations/{nino}/self-assessment/{taxYear}/{calculationId}/final-declaration submits the final declaration

PASSED
Started 2026-04-27T09:49:55.731539Z Duration 365 ms
  • PASSFinal declaration returned worker status 200.
  • PASSFinal declaration used calculationId f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c/final-declaration",
    "path": "/hmrc/individuals/calculations/WL254177A/self-assessment/2025-26/f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c/final-declaration",
    "headers": {
      "accept": "application/vnd.hmrc.8.0+json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb884ec04afb",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "0",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/calculations/WL254177A/self-assessment/2025-26/f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c/final-declaration",
        "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c/final-declaration",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.8.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "hmrcApi": {
          "apiName": "IndividualCalculations",
          "operation": "SubmitFinalDeclaration",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.8.0+json",
          "version": "8.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-calculations-api/8.0/oas/page",
          "pathTemplate": "/individuals/calculations/{nino}/self-assessment/{taxYear}/{calculationId}/{calculationType}",
          "path": "/individuals/calculations/WL254177A/self-assessment/2025-26/f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c/final-declaration"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5e5ed7a5-2538-4bad-a392-f8042c5d238a",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {}
    ]
  },
  "details": {
    "calculationId": "f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c",
    "message": "Final declaration submitted to HMRC.",
    "statusCode": 200,
    "hmrcStatusCode": 204,
    "correlationId": "5e5ed7a5-2538-4bad-a392-f8042c5d238a"
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 252
  }
}
OAuth AuthorisationSpecversion n/aPlayPay uses this API to start HMRC user authorisation so the app can access the customer's MTD data.Endpoint: https://test-api.service.hmrc.gov.uk/oauth/authorizeTests 1Passed 1

Authorisation API GET /hmrc/authorize returns an HMRC consent URL for user-restricted access

PASSED
Started 2026-04-27T09:49:53.168500Z Duration 47 ms
  • PASSAuthorisation endpoint returned an HMRC consent URL for user-restricted access.
  • PASSAuth source recorded as relay-token.
Data
{
  "request": {
    "stage": "Create authorize URL",
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/authorize?appCallbackUri=playpay%3A%2F%2Fhmrc-auth-complete",
    "path": "/hmrc/authorize",
    "queryParameters": {
      "appCallbackUri": "playpay://hmrc-auth-complete"
    },
    "headers": {
      "accept": "application/json",
      "authorization": "Bearer ***"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/oauth/authorize",
        "path": "/oauth/authorize",
        "headers": {
          "accept": "application/json"
        },
        "hmrcApi": {
          "apiName": "OAuth",
          "operation": "GetAuthorizeUrl",
          "method": "GET",
          "acceptHeader": null,
          "version": null,
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/authorisation",
          "pathTemplate": "/oauth/authorize"
        }
      },
      "hmrc-response": {
        "status": 200,
        "payload": {
          "url": "https://test-api.service.hmrc.gov.uk/oauth/authorize?response_type=code&client_id=HfPP0moEmhaKkJMRdZJArNwHprnB&redirect_uri=https%3A%2F%2Fplaypay-mtd-auth-worker-dev.playpay.workers.dev%2Fhmrc%2Fcallback&scope=read%3Aself-assessment+write%3Aself-assessment&state=b_r7xt1DSIJ...gc",
          "state": "b_r7xt1DSIJ...gc",
          "appCallbackUri": "playpay://hmrc-auth-complete"
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "url": "https://test-api.service.hmrc.gov.uk/oauth/authorize?response_type=code&client_id=HfPP0moEmhaKkJMRdZJArNwHprnB&redirect_uri=https%3A%2F%2Fplaypay-mtd-auth-worker-dev.playpay.workers.dev%2Fhmrc%2Fcallback&scope=read%3Aself-assessment+write%3Aself-assessment&state=b_r7xt1DSIJ...gc",
        "state": "b_r7xt1DSIJ...gc",
        "appCallbackUri": "playpay://hmrc-auth-complete"
      }
    ]
  },
  "details": {
    "authSource": "relay-token"
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 21
  }
}
Obligations APISpecversion 3.0PlayPay uses this API to fetch quarterly and final declaration obligations so the app can show deadlines and submission status.Endpoint: https://test-api.service.hmrc.gov.uk/obligations/details/{nino}Tests 9Passed 8Skipped 1

Obligations API GET /hmrc/obligations

HMRC Scenario: OPEN. Simulates a success response with an open obligation for the self-employment businessId XBIS12345678903.

PASSED
Started 2026-04-27T09:50:09.958325Z Duration 306 ms
  • PASSObligations scenario OPEN returned 4 obligation(s).
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/obligations?nino=WL254177A&businessId=XBIS12345678903&status=open&typeOfBusiness=self-employment&gov-test-scenario=OPEN",
    "path": "/hmrc/obligations",
    "queryParameters": {
      "nino": "WL254177A",
      "businessId": "XBIS12345678903",
      "status": "open",
      "typeOfBusiness": "self-employment",
      "gov-test-scenario": "OPEN"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebe1696b709a",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=XBIS12345678903",
        "path": "/obligations/details/WL254177A/income-and-expenditure",
        "queryParameters": {
          "status": "open",
          "typeOfBusiness": "self-employment",
          "businessId": "XBIS12345678903"
        },
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "OPEN"
        },
        "hmrcApi": {
          "apiName": "Obligations",
          "operation": "GetObligations",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
          "pathTemplate": "/obligations/details/{nino}/income-and-expenditure",
          "path": "/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=XBIS12345678903"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0f61a3f6-f572-4934-8c37-73504f28773a",
        "payload": {
          "obligations": [
            {
              "typeOfBusiness": "self-employment",
              "businessId": "XBIS12345678903",
              "obligationDetails": [
                {
                  "periodStartDate": "2018-04-06",
                  "periodEndDate": "2018-07-05",
                  "dueDate": "2018-08-05",
                  "status": "open"
                },
                {
                  "periodStartDate": "2018-07-06",
                  "periodEndDate": "2018-10-05",
                  "dueDate": "2018-11-05",
                  "status": "open"
                },
                {
                  "periodStartDate": "2018-10-06",
                  "periodEndDate": "2019-01-05",
                  "dueDate": "2019-02-05",
                  "status": "open"
                },
                {
                  "periodStartDate": "2019-01-06",
                  "periodEndDate": "2019-04-05",
                  "dueDate": "2019-05-05",
                  "status": "open"
                }
              ]
            }
          ]
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "obligations": [
          {
            "typeOfBusiness": "self-employment",
            "businessId": "XBIS12345678903",
            "obligationDetails": [
              {
                "periodStartDate": "2018-04-06",
                "periodEndDate": "2018-07-05",
                "dueDate": "2018-08-05",
                "status": "open"
              },
              {
                "periodStartDate": "2018-07-06",
                "periodEndDate": "2018-10-05",
                "dueDate": "2018-11-05",
                "status": "open"
              },
              {
                "periodStartDate": "2018-10-06",
                "periodEndDate": "2019-01-05",
                "dueDate": "2019-02-05",
                "status": "open"
              },
              {
                "periodStartDate": "2019-01-06",
                "periodEndDate": "2019-04-05",
                "dueDate": "2019-05-05",
                "status": "open"
              }
            ]
          }
        ]
      }
    ]
  },
  "details": {
    "scenario": "OPEN",
    "obligationCount": 4,
    "obligations": [
      {
        "periodKey": "2018-04-06_2018-07-05",
        "periodStartDate": "2018-04-06T00:00:00.000Z",
        "periodEndDate": "2018-07-05T00:00:00.000Z",
        "dueDate": "2018-08-05T00:00:00.000Z"
      },
      {
        "periodKey": "2018-07-06_2018-10-05",
        "periodStartDate": "2018-07-06T00:00:00.000Z",
        "periodEndDate": "2018-10-05T00:00:00.000Z",
        "dueDate": "2018-11-05T00:00:00.000Z"
      },
      {
        "periodKey": "2018-10-06_2019-01-05",
        "periodStartDate": "2018-10-06T00:00:00.000Z",
        "periodEndDate": "2019-01-05T00:00:00.000Z",
        "dueDate": "2019-02-05T00:00:00.000Z"
      },
      {
        "periodKey": "2019-01-06_2019-04-05",
        "periodStartDate": "2019-01-06T00:00:00.000Z",
        "periodEndDate": "2019-04-05T00:00:00.000Z",
        "dueDate": "2019-05-05T00:00:00.000Z"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 156
  }
}

Obligations API GET /hmrc/obligations

HMRC Scenario: FULFILLED. Simulates a success response with a fulfilled obligation for the self-employment businessId XBIS12345678902.

PASSED
Started 2026-04-27T09:50:10.267050Z Duration 299 ms
  • PASSObligations scenario FULFILLED returned 4 obligation(s).
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/obligations?nino=WL254177A&businessId=XBIS12345678902&status=fulfilled&typeOfBusiness=self-employment&gov-test-scenario=FULFILLED",
    "path": "/hmrc/obligations",
    "queryParameters": {
      "nino": "WL254177A",
      "businessId": "XBIS12345678902",
      "status": "fulfilled",
      "typeOfBusiness": "self-employment",
      "gov-test-scenario": "FULFILLED"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebe339f3f060",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/obligations/details/WL254177A/income-and-expenditure?status=fulfilled&typeOfBusiness=self-employment&businessId=XBIS12345678902",
        "path": "/obligations/details/WL254177A/income-and-expenditure",
        "queryParameters": {
          "status": "fulfilled",
          "typeOfBusiness": "self-employment",
          "businessId": "XBIS12345678902"
        },
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "FULFILLED"
        },
        "hmrcApi": {
          "apiName": "Obligations",
          "operation": "GetObligations",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
          "pathTemplate": "/obligations/details/{nino}/income-and-expenditure",
          "path": "/obligations/details/WL254177A/income-and-expenditure?status=fulfilled&typeOfBusiness=self-employment&businessId=XBIS12345678902"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "368403b3-bfcf-4f4e-a9a6-aeb4118e1b61",
        "payload": {
          "obligations": [
            {
              "typeOfBusiness": "self-employment",
              "businessId": "XBIS12345678902",
              "obligationDetails": [
                {
                  "periodStartDate": "2018-04-06",
                  "periodEndDate": "2018-07-05",
                  "dueDate": "2018-08-05",
                  "receivedDate": "2018-08-01",
                  "status": "fulfilled"
                },
                {
                  "periodStartDate": "2018-07-06",
                  "periodEndDate": "2018-10-05",
                  "dueDate": "2018-11-05",
                  "receivedDate": "2018-11-01",
                  "status": "fulfilled"
                },
                {
                  "periodStartDate": "2018-10-06",
                  "periodEndDate": "2019-01-05",
                  "dueDate": "2019-02-05",
                  "receivedDate": "2019-01-01",
                  "status": "fulfilled"
                },
                {
                  "periodStartDate": "2019-01-06",
                  "periodEndDate": "2019-04-05",
                  "dueDate": "2019-05-05",
                  "receivedDate": "2019-05-01",
                  "status": "fulfilled"
                }
              ]
            }
          ]
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "obligations": [
          {
            "typeOfBusiness": "self-employment",
            "businessId": "XBIS12345678902",
            "obligationDetails": [
              {
                "periodStartDate": "2018-04-06",
                "periodEndDate": "2018-07-05",
                "dueDate": "2018-08-05",
                "receivedDate": "2018-08-01",
                "status": "fulfilled"
              },
              {
                "periodStartDate": "2018-07-06",
                "periodEndDate": "2018-10-05",
                "dueDate": "2018-11-05",
                "receivedDate": "2018-11-01",
                "status": "fulfilled"
              },
              {
                "periodStartDate": "2018-10-06",
                "periodEndDate": "2019-01-05",
                "dueDate": "2019-02-05",
                "receivedDate": "2019-01-01",
                "status": "fulfilled"
              },
              {
                "periodStartDate": "2019-01-06",
                "periodEndDate": "2019-04-05",
                "dueDate": "2019-05-05",
                "receivedDate": "2019-05-01",
                "status": "fulfilled"
              }
            ]
          }
        ]
      }
    ]
  },
  "details": {
    "scenario": "FULFILLED",
    "obligationCount": 4,
    "obligations": [
      {
        "periodKey": "2018-04-06_2018-07-05",
        "periodStartDate": "2018-04-06T00:00:00.000Z",
        "periodEndDate": "2018-07-05T00:00:00.000Z",
        "dueDate": "2018-08-05T00:00:00.000Z",
        "receivedDate": "2018-08-01T00:00:00.000Z"
      },
      {
        "periodKey": "2018-07-06_2018-10-05",
        "periodStartDate": "2018-07-06T00:00:00.000Z",
        "periodEndDate": "2018-10-05T00:00:00.000Z",
        "dueDate": "2018-11-05T00:00:00.000Z",
        "receivedDate": "2018-11-01T00:00:00.000Z"
      },
      {
        "periodKey": "2018-10-06_2019-01-05",
        "periodStartDate": "2018-10-06T00:00:00.000Z",
        "periodEndDate": "2019-01-05T00:00:00.000Z",
        "dueDate": "2019-02-05T00:00:00.000Z",
        "receivedDate": "2019-01-01T00:00:00.000Z"
      },
      {
        "periodKey": "2019-01-06_2019-04-05",
        "periodStartDate": "2019-01-06T00:00:00.000Z",
        "periodEndDate": "2019-04-05T00:00:00.000Z",
        "dueDate": "2019-05-05T00:00:00.000Z",
        "receivedDate": "2019-05-01T00:00:00.000Z"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 171
  }
}

Obligations API GET /hmrc/obligations

HMRC Scenario: CUMULATIVE. Simulates a success response with cumulative quarterly updates.

PASSED
Started 2026-04-27T09:50:10.569498Z Duration 373 ms
  • PASSObligations scenario CUMULATIVE returned 4 obligation(s).
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/obligations?nino=WL254177A&businessId=XBIS12345678901&status=open&typeOfBusiness=self-employment&gov-test-scenario=CUMULATIVE",
    "path": "/hmrc/obligations",
    "queryParameters": {
      "nino": "WL254177A",
      "businessId": "XBIS12345678901",
      "status": "open",
      "typeOfBusiness": "self-employment",
      "gov-test-scenario": "CUMULATIVE"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebe5286fb3fe",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=XBIS12345678901",
        "path": "/obligations/details/WL254177A/income-and-expenditure",
        "queryParameters": {
          "status": "open",
          "typeOfBusiness": "self-employment",
          "businessId": "XBIS12345678901"
        },
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "CUMULATIVE"
        },
        "hmrcApi": {
          "apiName": "Obligations",
          "operation": "GetObligations",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
          "pathTemplate": "/obligations/details/{nino}/income-and-expenditure",
          "path": "/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=XBIS12345678901"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "683e5718-41e7-48bd-ae2a-0d03d1a6c379",
        "payload": {
          "obligations": [
            {
              "typeOfBusiness": "self-employment",
              "businessId": "XBIS12345678901",
              "obligationDetails": [
                {
                  "periodStartDate": "2026-04-06",
                  "periodEndDate": "2026-07-05",
                  "dueDate": "2026-08-07",
                  "status": "open"
                },
                {
                  "periodStartDate": "2026-04-06",
                  "periodEndDate": "2026-10-05",
                  "dueDate": "2026-11-07",
                  "status": "open"
                },
                {
                  "periodStartDate": "2026-04-06",
                  "periodEndDate": "2027-01-05",
                  "dueDate": "2027-02-07",
                  "status": "open"
                },
                {
                  "periodStartDate": "2026-04-06",
                  "periodEndDate": "2027-04-05",
                  "dueDate": "2027-05-07",
                  "status": "open"
                }
              ]
            }
          ]
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "obligations": [
          {
            "typeOfBusiness": "self-employment",
            "businessId": "XBIS12345678901",
            "obligationDetails": [
              {
                "periodStartDate": "2026-04-06",
                "periodEndDate": "2026-07-05",
                "dueDate": "2026-08-07",
                "status": "open"
              },
              {
                "periodStartDate": "2026-04-06",
                "periodEndDate": "2026-10-05",
                "dueDate": "2026-11-07",
                "status": "open"
              },
              {
                "periodStartDate": "2026-04-06",
                "periodEndDate": "2027-01-05",
                "dueDate": "2027-02-07",
                "status": "open"
              },
              {
                "periodStartDate": "2026-04-06",
                "periodEndDate": "2027-04-05",
                "dueDate": "2027-05-07",
                "status": "open"
              }
            ]
          }
        ]
      }
    ]
  },
  "details": {
    "scenario": "CUMULATIVE",
    "obligationCount": 4,
    "obligations": [
      {
        "periodKey": "2026-04-06_2026-07-05",
        "periodStartDate": "2026-04-06T00:00:00.000Z",
        "periodEndDate": "2026-07-05T00:00:00.000Z",
        "dueDate": "2026-08-07T00:00:00.000Z"
      },
      {
        "periodKey": "2026-04-06_2026-10-05",
        "periodStartDate": "2026-04-06T00:00:00.000Z",
        "periodEndDate": "2026-10-05T00:00:00.000Z",
        "dueDate": "2026-11-07T00:00:00.000Z"
      },
      {
        "periodKey": "2026-04-06_2027-01-05",
        "periodStartDate": "2026-04-06T00:00:00.000Z",
        "periodEndDate": "2027-01-05T00:00:00.000Z",
        "dueDate": "2027-02-07T00:00:00.000Z"
      },
      {
        "periodKey": "2026-04-06_2027-04-05",
        "periodStartDate": "2026-04-06T00:00:00.000Z",
        "periodEndDate": "2027-04-05T00:00:00.000Z",
        "dueDate": "2027-05-07T00:00:00.000Z"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 236
  }
}

Obligations API GET /hmrc/obligations returns INSOLVENT_TRADER as a controlled HMRC error

HMRC Scenario: INSOLVENT_TRADER. Simulates a scenario where the remote endpoint indicates that the trader is insolvent.

PASSED
Started 2026-04-27T09:50:10.946838Z Duration 332 ms
  • PASSScenario request forwarded Gov-Test-Scenario: INSOLVENT_TRADER.
  • PASSControlled HMRC error matched INSOLVENT_TRADER.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/obligations?nino=WL254177A&businessId=X4IS27198436836&status=open&typeOfBusiness=self-employment&gov-test-scenario=INSOLVENT_TRADER",
    "path": "/hmrc/obligations",
    "queryParameters": {
      "nino": "WL254177A",
      "businessId": "X4IS27198436836",
      "status": "open",
      "typeOfBusiness": "self-employment",
      "gov-test-scenario": "INSOLVENT_TRADER"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebe799aeb119",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836",
        "path": "/obligations/details/WL254177A/income-and-expenditure",
        "queryParameters": {
          "status": "open",
          "typeOfBusiness": "self-employment",
          "businessId": "X4IS27198436836"
        },
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "INSOLVENT_TRADER"
        },
        "hmrcApi": {
          "apiName": "Obligations",
          "operation": "GetObligations",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
          "pathTemplate": "/obligations/details/{nino}/income-and-expenditure",
          "path": "/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "74e0c699-40c9-4502-8dc5-8d60657af81f",
        "payload": {
          "code": "RULE_INSOLVENT_TRADER",
          "message": "The remote endpoint has indicated that the Trader is insolvent"
        }
      }
    }
  ],
  "response": {
    "status": 400,
    "payload": [
      {
        "error": "Failed to fetch HMRC obligations.",
        "hmrcStatus": 400,
        "correlationId": "74e0c699-40c9-4502-8dc5-8d60657af81f",
        "body": {
          "code": "RULE_INSOLVENT_TRADER",
          "message": "The remote endpoint has indicated that the Trader is insolvent"
        }
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "INSOLVENT_TRADER",
      "RULE_INSOLVENT_TRADER"
    ],
    "matchedCodeFragment": "INSOLVENT_TRADER",
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "Obligations",
          "operation": "GetObligations",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
          "pathTemplate": "/obligations/details/{nino}/income-and-expenditure",
          "path": "/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836"
        },
        "request": {
          "method": "GET",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/obligations?nino=WL254177A&businessId=X4IS27198436836&status=open&typeOfBusiness=self-employment&gov-test-scenario=INSOLVENT_TRADER",
          "path": "/hmrc/obligations",
          "queryParameters": {
            "nino": "WL254177A",
            "businessId": "X4IS27198436836",
            "status": "open",
            "typeOfBusiness": "self-employment",
            "gov-test-scenario": "INSOLVENT_TRADER"
          },
          "headers": {
            "accept": "application/json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2cebe799aeb119",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "GET",
              "url": "https://test-api.service.hmrc.gov.uk/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836",
              "path": "/obligations/details/WL254177A/income-and-expenditure",
              "queryParameters": {
                "status": "open",
                "typeOfBusiness": "self-employment",
                "businessId": "X4IS27198436836"
              },
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.3.0+json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "INSOLVENT_TRADER"
              },
              "hmrcApi": {
                "apiName": "Obligations",
                "operation": "GetObligations",
                "method": "GET",
                "acceptHeader": "application/vnd.hmrc.3.0+json",
                "version": "3.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
                "pathTemplate": "/obligations/details/{nino}/income-and-expenditure",
                "path": "/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "Obligations",
              "operation": "GetObligations",
              "method": "GET",
              "acceptHeader": "application/vnd.hmrc.3.0+json",
              "version": "3.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
              "pathTemplate": "/obligations/details/{nino}/income-and-expenditure",
              "path": "/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 400,
    "durationMs": 198
  }
}

Obligations API GET /hmrc/obligations returns NOT_FOUND as a controlled HMRC error

HMRC Scenario: NOT_FOUND. Simulates the scenario where no data is found.

PASSED
Started 2026-04-27T09:50:11.283725Z Duration 389 ms
  • PASSScenario request forwarded Gov-Test-Scenario: NOT_FOUND.
  • PASSControlled HMRC error matched NOT_FOUND.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/obligations?nino=WL254177A&businessId=X4IS27198436836&status=open&typeOfBusiness=self-employment&gov-test-scenario=NOT_FOUND",
    "path": "/hmrc/obligations",
    "queryParameters": {
      "nino": "WL254177A",
      "businessId": "X4IS27198436836",
      "status": "open",
      "typeOfBusiness": "self-employment",
      "gov-test-scenario": "NOT_FOUND"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebe9ac21c494",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836",
        "path": "/obligations/details/WL254177A/income-and-expenditure",
        "queryParameters": {
          "status": "open",
          "typeOfBusiness": "self-employment",
          "businessId": "X4IS27198436836"
        },
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "NOT_FOUND"
        },
        "hmrcApi": {
          "apiName": "Obligations",
          "operation": "GetObligations",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
          "pathTemplate": "/obligations/details/{nino}/income-and-expenditure",
          "path": "/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836"
        }
      },
      "hmrc-response": {
        "status": 404,
        "correlationId": "5e5048dd-020f-41ea-b67a-7ca831d5aaf2",
        "payload": {
          "code": "MATCHING_RESOURCE_NOT_FOUND",
          "message": "Matching resource not found"
        }
      }
    }
  ],
  "response": {
    "status": 404,
    "payload": [
      {
        "error": "Failed to fetch HMRC obligations.",
        "hmrcStatus": 404,
        "correlationId": "5e5048dd-020f-41ea-b67a-7ca831d5aaf2",
        "body": {
          "code": "MATCHING_RESOURCE_NOT_FOUND",
          "message": "Matching resource not found"
        }
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "NOT_FOUND",
      "MATCHING_RESOURCE_NOT_FOUND"
    ],
    "matchedCodeFragment": "NOT_FOUND",
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "Obligations",
          "operation": "GetObligations",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
          "pathTemplate": "/obligations/details/{nino}/income-and-expenditure",
          "path": "/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836"
        },
        "request": {
          "method": "GET",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/obligations?nino=WL254177A&businessId=X4IS27198436836&status=open&typeOfBusiness=self-employment&gov-test-scenario=NOT_FOUND",
          "path": "/hmrc/obligations",
          "queryParameters": {
            "nino": "WL254177A",
            "businessId": "X4IS27198436836",
            "status": "open",
            "typeOfBusiness": "self-employment",
            "gov-test-scenario": "NOT_FOUND"
          },
          "headers": {
            "accept": "application/json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2cebe9ac21c494",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "GET",
              "url": "https://test-api.service.hmrc.gov.uk/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836",
              "path": "/obligations/details/WL254177A/income-and-expenditure",
              "queryParameters": {
                "status": "open",
                "typeOfBusiness": "self-employment",
                "businessId": "X4IS27198436836"
              },
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.3.0+json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "NOT_FOUND"
              },
              "hmrcApi": {
                "apiName": "Obligations",
                "operation": "GetObligations",
                "method": "GET",
                "acceptHeader": "application/vnd.hmrc.3.0+json",
                "version": "3.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
                "pathTemplate": "/obligations/details/{nino}/income-and-expenditure",
                "path": "/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "Obligations",
              "operation": "GetObligations",
              "method": "GET",
              "acceptHeader": "application/vnd.hmrc.3.0+json",
              "version": "3.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
              "pathTemplate": "/obligations/details/{nino}/income-and-expenditure",
              "path": "/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 404,
    "durationMs": 247
  }
}

Obligations API GET /hmrc/obligations returns fulfilled quarterly obligations across the smoke window

HMRC Scenario: DYNAMIC. The response mirrors the from/to window and status supplied in the request so the fulfilled obligation matches the requested smoke window.

PASSED
Started 2026-04-27T09:49:53.552503Z Duration 302 ms
  • PASSFulfilled obligations call returned 0 results.
  • PASSFulfilled obligations request included the expected date window and used the DYNAMIC scenario.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/obligations?nino=WL254177A&businessId=X4IS27198436836&from=2025-01-05&to=2025-04-05&status=fulfilled&typeOfBusiness=self-employment&gov-test-scenario=DYNAMIC",
    "path": "/hmrc/obligations",
    "queryParameters": {
      "nino": "WL254177A",
      "businessId": "X4IS27198436836",
      "from": "2025-01-05",
      "to": "2025-04-05",
      "status": "fulfilled",
      "typeOfBusiness": "self-employment",
      "gov-test-scenario": "DYNAMIC"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb7abfa9ba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/obligations/details/WL254177A/income-and-expenditure?fromDate=2025-01-05&toDate=2025-04-05&status=fulfilled&typeOfBusiness=self-employment&businessId=X4IS27198436836",
        "path": "/obligations/details/WL254177A/income-and-expenditure",
        "queryParameters": {
          "fromDate": "2025-01-05",
          "toDate": "2025-04-05",
          "status": "fulfilled",
          "typeOfBusiness": "self-employment",
          "businessId": "X4IS27198436836"
        },
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "DYNAMIC"
        },
        "hmrcApi": {
          "apiName": "Obligations",
          "operation": "GetObligations",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
          "pathTemplate": "/obligations/details/{nino}/income-and-expenditure",
          "path": "/obligations/details/WL254177A/income-and-expenditure?fromDate=2025-01-05&toDate=2025-04-05&status=fulfilled&typeOfBusiness=self-employment&businessId=X4IS27198436836"
        }
      },
      "hmrc-response": {
        "status": 404,
        "correlationId": "e885ed52-e16b-4a72-be5f-9561c5101e72",
        "payload": {
          "code": "NO_OBLIGATIONS_FOUND",
          "message": "No obligations found using this filter"
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "obligations": []
      }
    ]
  },
  "details": {
    "scenario": "DYNAMIC",
    "obligationCount": 0,
    "window": {
      "from": "2025-01-05T00:00:00.000Z",
      "to": "2025-04-05T00:00:00.000Z"
    },
    "windowSource": "derived-from-open-obligation",
    "periodKey": "Q1"
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 178
  }
}

Obligations API GET /hmrc/obligations returns no obligations when HMRC replies NO_OBLIGATIONS_FOUND

HMRC Scenario: NO_OBLIGATIONS_FOUND. Simulates a scenario where no obligations are found.

PASSED
Started 2026-04-27T09:50:11.677570Z Duration 318 ms
  • PASSWorker normalised HMRC NO_OBLIGATIONS_FOUND into an empty obligations list.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/obligations?nino=WL254177A&businessId=X4IS27198436836&status=open&typeOfBusiness=self-employment&gov-test-scenario=NO_OBLIGATIONS_FOUND",
    "path": "/hmrc/obligations",
    "queryParameters": {
      "nino": "WL254177A",
      "businessId": "X4IS27198436836",
      "status": "open",
      "typeOfBusiness": "self-employment",
      "gov-test-scenario": "NO_OBLIGATIONS_FOUND"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebec0bd2074f",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836",
        "path": "/obligations/details/WL254177A/income-and-expenditure",
        "queryParameters": {
          "status": "open",
          "typeOfBusiness": "self-employment",
          "businessId": "X4IS27198436836"
        },
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "NO_OBLIGATIONS_FOUND"
        },
        "hmrcApi": {
          "apiName": "Obligations",
          "operation": "GetObligations",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
          "pathTemplate": "/obligations/details/{nino}/income-and-expenditure",
          "path": "/obligations/details/WL254177A/income-and-expenditure?status=open&typeOfBusiness=self-employment&businessId=X4IS27198436836"
        }
      },
      "hmrc-response": {
        "status": 404,
        "correlationId": "65e7cfa7-4f56-4139-bba4-29151b88de6a",
        "payload": {
          "code": "NO_OBLIGATIONS_FOUND",
          "message": "No obligations found using this filter"
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "obligations": []
      }
    ]
  },
  "details": {
    "scenario": "NO_OBLIGATIONS_FOUND",
    "obligationCount": 0
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 184
  }
}

Obligations API GET /hmrc/obligations returns open quarterly obligations

SKIPPED
Started 2026-04-27T09:49:53.550714Z Duration 1 ms
  • WARNHMRC Obligations API is non-stateful in the sandbox and does not reliably return the seeded open quarterly obligations. 4 open quarter(s) loaded directly from the harness seed response instead.
Data
{
  "request": {},
  "apiRequests": [],
  "response": {
    "payload": []
  },
  "details": {
    "skipReason": "HMRC Obligations API is non-stateful in the sandbox and does not reliably return the seeded open quarterly obligations. 4 open quarter(s) loaded directly from the harness seed response instead."
  },
  "status": {
    "scenario": "skipped"
  }
}

Obligations API GET /hmrc/obligations/final-declaration returns open final declaration obligations

PASSED
Started 2026-04-27T09:49:53.858041Z Duration 339 ms
  • PASSFinal declaration obligations call returned 1 results.
  • PASSFinal declaration obligations stayed scenario-free.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/obligations/final-declaration?nino=WL254177A&taxYear=2025-26&status=open",
    "path": "/hmrc/obligations/final-declaration",
    "queryParameters": {
      "nino": "WL254177A",
      "taxYear": "2025-26",
      "status": "open"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb7cbd88f581",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/obligations/details/WL254177A/crystallisation?taxYear=2025-26&status=open",
        "path": "/obligations/details/WL254177A/crystallisation",
        "queryParameters": {
          "taxYear": "2025-26",
          "status": "open"
        },
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "hmrcApi": {
          "apiName": "Obligations",
          "operation": "GetFinalDeclarationObligations",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/obligations-api/3.0",
          "pathTemplate": "/obligations/details/{nino}/crystallisation",
          "path": "/obligations/details/WL254177A/crystallisation?taxYear=2025-26&status=open"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c848db90-8dc4-4bf9-a12c-ea1012b4ab06",
        "payload": {
          "obligations": [
            {
              "periodStartDate": "2018-04-06",
              "periodEndDate": "2019-04-05",
              "dueDate": "2020-01-31",
              "status": "open"
            }
          ]
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "obligations": [
          {
            "periodStartDate": "2018-04-06",
            "periodEndDate": "2019-04-05",
            "dueDate": "2020-01-31",
            "status": "open"
          }
        ]
      }
    ]
  },
  "details": {
    "obligationCount": 1,
    "openCount": 1
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 204
  }
}
Self Employment Business APISpecversion 5.0PlayPay uses this API to submit and retrieve quarterly and annual self-employment updates for the selected business.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/{nino}/{businessId}Tests 16Passed 10Failed 6

Multiple Businesses | Business A | Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q1 quarterly update

FAILED
Started 2026-04-27T09:49:56.384848Z Duration 481 ms
  • FAILScenario failed: HmrcWorkerException(404): { "error": "Failed to retrieve cumulative summary.", "hmrcStatus": 404, "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d", "body": { "code": "MATCHING_RESOURCE_NOT_FOUND", "message": "Matching resource not found" }, "hmrcApi": { "apiName": "SelfEmployment", "operation": "GetCumulativePeriodSummary", "method": "GET", "acceptHeader": "application/vnd.hmrc.5.0+json", "version": "5.0", "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0", "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}", "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26" }, "request": { "method": "GET", "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL", "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26", "queryParameters": { "gov-test-scenario": "STATEFUL" }, "headers": { "accept": "application/json", "accept-encoding": "gzip, br", "authorization": "Bearer eyJhbGciOiJ...K8", "cf-connecting-ip": "209.x.x.x", "cf-ipcountry": "GB", "cf-ray": "9f2ceb8d5df25395", "cf-visitor": "{\"scheme\":\"https\"}", "connection": "Keep-Alive", "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev", "user-agent": "Dart/3.9 (dart:io)", "x-forwarded-proto": "https", "x-playpay-trace": "1", "x-real-ip": "209.x.x.x" } }, "apiRequests": [ { "relayed-request": { "method": "GET", "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26", "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26", "headers": { "authorization": "Bearer 403be4fa2d5...c3", "accept": "application/vnd.hmrc.5.0+json", "gov-client-connection-method": "MOBILE_APP_DIRECT", "gov-client-device-id": "playpay-bdd...ce", "gov-client-timezone": "UTC+00:00", "gov-client-user-ids": "os=playpay-bdd-smoke", "gov-uk-originator-id": "playpay-bdd...ke", "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x", "gov-vendor-license-ids": "playpay=hmrc-bdd-smoke-license", "gov-vendor-product-name": "PlayPay", "gov-vendor-public-ip": "198.x.x.x", "gov-vendor-version": "playpay=hmrc-bdd-smoke-1", "Gov-Test-Scenario": "STATEFUL" }, "hmrcApi": { "apiName": "SelfEmployment", "operation": "GetCumulativePeriodSummary", "method": "GET", "acceptHeader": "application/vnd.hmrc.5.0+json", "version": "5.0", "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0", "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}", "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26" } }, "hmrc-response": { "status": 404, "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d", "payload": { "code": "MATCHING_RESOURCE_NOT_FOUND", "message": "Matching resource not found" } } } ], "response": { "status": 404, "payload": { "error": "Failed to retrieve cumulative summary.", "hmrcStatus": 404, "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d", "body": { "code": "MATCHING_RESOURCE_NOT_FOUND", "message": "Matching resource not found" }, "hmrcApi": { "apiName": "SelfEmployment", "operation": "GetCumulativePeriodSummary", "method": "GET", "acceptHeader": "application/vnd.hmrc.5.0+json", "version": "5.0", "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0", "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}", "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26" } } } }
Error
HmrcWorkerException(404): {
  "error": "Failed to retrieve cumulative summary.",
  "hmrcStatus": 404,
  "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d",
  "body": {
    "code": "MATCHING_RESOURCE_NOT_FOUND",
    "message": "Matching resource not found"
  },
  "hmrcApi": {
    "apiName": "SelfEmployment",
    "operation": "GetCumulativePeriodSummary",
    "method": "GET",
    "acceptHeader": "application/vnd.hmrc.5.0+json",
    "version": "5.0",
    "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
    "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
    "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
  },
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb8d5df25395",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd-smoke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-smoke-license",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 404,
        "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d",
        "payload": {
          "code": "MATCHING_RESOURCE_NOT_FOUND",
          "message": "Matching resource not found"
        }
      }
    }
  ],
  "response": {
    "status": 404,
    "payload": {
      "error": "Failed to retrieve cumulative summary.",
      "hmrcStatus": 404,
      "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d",
      "body": {
        "code": "MATCHING_RESOURCE_NOT_FOUND",
        "message": "Matching resource not found"
      },
      "hmrcApi": {
        "apiName": "SelfEmployment",
        "operation": "GetCumulativePeriodSummary",
        "method": "GET",
        "acceptHeader": "application/vnd.hmrc.5.0+json",
        "version": "5.0",
        "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
        "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
      }
    }
  }
}
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb8d5df25395",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 404,
        "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d",
        "payload": {
          "code": "MATCHING_RESOURCE_NOT_FOUND",
          "message": "Matching resource not found"
        }
      }
    }
  ],
  "response": {
    "status": 404,
    "payload": [
      {
        "error": "Failed to retrieve cumulative summary.",
        "hmrcStatus": 404,
        "correlationId": "54ec5eda-3c1f-44e8-a7b4-39b287f7b56d",
        "body": {
          "code": "MATCHING_RESOURCE_NOT_FOUND",
          "message": "Matching resource not found"
        }
      }
    ]
  },
  "details": {
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        },
        "request": {
          "method": "GET",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL",
          "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
          "queryParameters": {
            "gov-test-scenario": "STATEFUL"
          },
          "headers": {
            "accept": "application/json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2ceb8d5df25395",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "GET",
              "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
              "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.5.0+json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "STATEFUL"
              },
              "hmrcApi": {
                "apiName": "SelfEmployment",
                "operation": "GetCumulativePeriodSummary",
                "method": "GET",
                "acceptHeader": "application/vnd.hmrc.5.0+json",
                "version": "5.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
                "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
                "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "SelfEmployment",
              "operation": "GetCumulativePeriodSummary",
              "method": "GET",
              "acceptHeader": "application/vnd.hmrc.5.0+json",
              "version": "5.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
              "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
              "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "failed",
    "http": 404,
    "durationMs": 210
  }
}

Multiple Businesses | Business A | Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q2 quarterly update

PASSED
Started 2026-04-27T09:49:56.873214Z Duration 720 ms
  • PASSBusiness A Q2 quarterly submission returned worker status 200.
  • PASSBusiness A Q2 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness A Q2 cumulative read-back matched the submitted period, income, and expense fields.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb91eb4ea14b",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2025-10-05"
          },
          "periodIncome": {
            "turnover": 3975.5,
            "other": 45,
            "taxTakenOffTradingIncome": 0
          },
          "periodExpenses": {
            "adminCosts": 332.4
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 18.75
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "88734716-29d7-49bb-8e80-480c2ba2a2ae",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "407b4d0d-bb90-46f4-b7a3-1e5057e99ea8",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2025-10-05"
          },
          "periodIncome": {
            "turnover": 3975.5,
            "other": 45,
            "taxTakenOffTradingIncome": 0
          },
          "periodExpenses": {
            "adminCosts": 332.4
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 18.75
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2025-10-05"
        },
        "periodIncome": {
          "turnover": 3975.5,
          "other": 45,
          "taxTakenOffTradingIncome": 0
        },
        "periodExpenses": {
          "adminCosts": 332.4
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 18.75
        }
      }
    ]
  },
  "details": {
    "business": "A",
    "businessId": "X4IS27198436836",
    "quarter": "Q2",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "88734716-29d7-49bb-8e80-480c2ba2a2ae",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2025-10-05T00:00:00.000Z",
      "periodKey": "Q2"
    },
    "submissionPayload": {
      "periodIncome": {
        "other": 45.0,
        "taxTakenOffTradingIncome": 0.0
      }
    },
    "verification": {
      "subject": "Business A Q2 cumulative summary",
      "verified": true,
      "expectedPayload": {
        "periodIncome": {
          "other": 45.0,
          "taxTakenOffTradingIncome": 0.0
        }
      }
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 208
  }
}

Multiple Businesses | Business A | Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q3 quarterly update

PASSED
Started 2026-04-27T09:49:57.595161Z Duration 720 ms
  • PASSBusiness A Q3 quarterly submission returned worker status 200.
  • PASSBusiness A Q3 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness A Q3 cumulative read-back matched the submitted period, income, and expense fields.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb96befdeb18",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-01-05"
          },
          "periodIncome": {
            "turnover": 6420.75,
            "other": 92.5,
            "taxTakenOffTradingIncome": 21.1
          },
          "periodExpenses": {
            "adminCosts": 517.9
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 30.25
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c218b5ca-1987-4ec6-887e-ed3be7850fd2",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "96afc568-0503-4ab5-8d3b-f5921838c45e",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-01-05"
          },
          "periodIncome": {
            "turnover": 6420.75,
            "other": 92.5,
            "taxTakenOffTradingIncome": 21.1
          },
          "periodExpenses": {
            "adminCosts": 517.9
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 30.25
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2026-01-05"
        },
        "periodIncome": {
          "turnover": 6420.75,
          "other": 92.5,
          "taxTakenOffTradingIncome": 21.1
        },
        "periodExpenses": {
          "adminCosts": 517.9
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 30.25
        }
      }
    ]
  },
  "details": {
    "business": "A",
    "businessId": "X4IS27198436836",
    "quarter": "Q3",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "c218b5ca-1987-4ec6-887e-ed3be7850fd2",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2026-01-05T00:00:00.000Z",
      "periodKey": "Q3"
    },
    "verification": {
      "subject": "Business A Q3 cumulative summary",
      "verified": true
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 159
  }
}

Multiple Businesses | Business A | Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q4 quarterly update

PASSED
Started 2026-04-27T09:49:58.318859Z Duration 873 ms
  • PASSBusiness A Q4 quarterly submission returned worker status 200.
  • PASSBusiness A Q4 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness A Q4 cumulative read-back matched the submitted period, income, and expense fields.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb9c3c072196",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-04-05"
          },
          "periodIncome": {
            "turnover": 9088,
            "other": 130,
            "taxTakenOffTradingIncome": 37.65
          },
          "periodExpenses": {
            "adminCosts": 748.2
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 45
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "1fea0463-0634-42a3-b416-7b53485303bc",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "3eebf896-5049-4d59-ab18-22c63b2676f4",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-04-05"
          },
          "periodIncome": {
            "turnover": 9088,
            "other": 130,
            "taxTakenOffTradingIncome": 37.65
          },
          "periodExpenses": {
            "adminCosts": 748.2
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 45
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2026-04-05"
        },
        "periodIncome": {
          "turnover": 9088,
          "other": 130,
          "taxTakenOffTradingIncome": 37.65
        },
        "periodExpenses": {
          "adminCosts": 748.2
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 45
        }
      }
    ]
  },
  "details": {
    "business": "A",
    "businessId": "X4IS27198436836",
    "quarter": "Q4",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "1fea0463-0634-42a3-b416-7b53485303bc",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2026-04-05T00:00:00.000Z",
      "periodKey": "Q4"
    },
    "submissionPayload": {
      "periodIncome": {
        "turnover": 9088.0,
        "other": 130.0
      },
      "periodDisallowableExpenses": {
        "adminCostsDisallowable": 45.0
      }
    },
    "verification": {
      "subject": "Business A Q4 cumulative summary",
      "verified": true,
      "expectedPayload": {
        "periodIncome": {
          "turnover": 9088.0,
          "other": 130.0
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 45.0
        }
      }
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 157
  }
}

Multiple Businesses | Business B | Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q1 quarterly update

PASSED
Started 2026-04-27T09:49:59.194517Z Duration 723 ms
  • PASSBusiness B Q1 quarterly submission returned worker status 200.
  • PASSBusiness B Q1 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness B Q1 cumulative read-back matched the submitted period, income, and expense fields.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceba07cc43607",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2025-07-05"
          },
          "periodIncome": {
            "turnover": 2465.65,
            "other": 18.75,
            "taxTakenOffTradingIncome": 0
          },
          "periodExpenses": {
            "adminCosts": 204.4
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 15.7
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "af1e976e-6687-4629-95c1-cff2d7410419",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b732756f-5924-4a7b-849e-a7950cbdfd20",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2025-07-05"
          },
          "periodIncome": {
            "turnover": 2465.65,
            "other": 18.75,
            "taxTakenOffTradingIncome": 0
          },
          "periodExpenses": {
            "adminCosts": 204.4
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 15.7
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2025-07-05"
        },
        "periodIncome": {
          "turnover": 2465.65,
          "other": 18.75,
          "taxTakenOffTradingIncome": 0
        },
        "periodExpenses": {
          "adminCosts": 204.4
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 15.7
        }
      }
    ]
  },
  "details": {
    "business": "B",
    "businessId": "X1IS73403316474",
    "quarter": "Q1",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "af1e976e-6687-4629-95c1-cff2d7410419",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2025-07-05T00:00:00.000Z",
      "periodKey": "Q1"
    },
    "submissionPayload": {
      "periodIncome": {
        "taxTakenOffTradingIncome": 0.0
      }
    },
    "verification": {
      "subject": "Business B Q1 cumulative summary",
      "verified": true,
      "expectedPayload": {
        "periodIncome": {
          "taxTakenOffTradingIncome": 0.0
        }
      }
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 203
  }
}

Multiple Businesses | Business B | Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q2 quarterly update

PASSED
Started 2026-04-27T09:49:59.921442Z Duration 988 ms
  • PASSBusiness B Q2 quarterly submission returned worker status 200.
  • PASSBusiness B Q2 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness B Q2 cumulative read-back matched the submitted period, income, and expense fields.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceba5af1fb34c",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2025-10-05"
          },
          "periodIncome": {
            "turnover": 4600.9,
            "other": 63.75,
            "taxTakenOffTradingIncome": 4.25
          },
          "periodExpenses": {
            "adminCosts": 391
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 24.95
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8ed471aa-b957-4686-b16d-56acc531df7a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2a9b3feb-f143-4124-b4dd-21f5d7ba9e5a",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2025-10-05"
          },
          "periodIncome": {
            "turnover": 4600.9,
            "other": 63.75,
            "taxTakenOffTradingIncome": 4.25
          },
          "periodExpenses": {
            "adminCosts": 391
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 24.95
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2025-10-05"
        },
        "periodIncome": {
          "turnover": 4600.9,
          "other": 63.75,
          "taxTakenOffTradingIncome": 4.25
        },
        "periodExpenses": {
          "adminCosts": 391
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 24.95
        }
      }
    ]
  },
  "details": {
    "business": "B",
    "businessId": "X1IS73403316474",
    "quarter": "Q2",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "8ed471aa-b957-4686-b16d-56acc531df7a",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2025-10-05T00:00:00.000Z",
      "periodKey": "Q2"
    },
    "submissionPayload": {
      "periodExpenses": {
        "adminCosts": 391.0
      }
    },
    "verification": {
      "subject": "Business B Q2 cumulative summary",
      "verified": true,
      "expectedPayload": {
        "periodExpenses": {
          "adminCosts": 391.0
        }
      }
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 364
  }
}

Multiple Businesses | Business B | Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q3 quarterly update

PASSED
Started 2026-04-27T09:50:00.912742Z Duration 822 ms
  • PASSBusiness B Q3 quarterly submission returned worker status 200.
  • PASSBusiness B Q3 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness B Q3 cumulative read-back matched the submitted period, income, and expense fields.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebabdae5b378",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-01-05"
          },
          "periodIncome": {
            "turnover": 7046.15,
            "other": 111.25,
            "taxTakenOffTradingIncome": 25.35
          },
          "periodExpenses": {
            "adminCosts": 576.5
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 36.45
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "92fa7d85-8032-4923-a40d-b08b17245966",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "138bc63b-5255-4802-9119-c746122a96bb",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-01-05"
          },
          "periodIncome": {
            "turnover": 7046.15,
            "other": 111.25,
            "taxTakenOffTradingIncome": 25.35
          },
          "periodExpenses": {
            "adminCosts": 576.5
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 36.45
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2026-01-05"
        },
        "periodIncome": {
          "turnover": 7046.15,
          "other": 111.25,
          "taxTakenOffTradingIncome": 25.35
        },
        "periodExpenses": {
          "adminCosts": 576.5
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 36.45
        }
      }
    ]
  },
  "details": {
    "business": "B",
    "businessId": "X1IS73403316474",
    "quarter": "Q3",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "92fa7d85-8032-4923-a40d-b08b17245966",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2026-01-05T00:00:00.000Z",
      "periodKey": "Q3"
    },
    "verification": {
      "subject": "Business B Q3 cumulative summary",
      "verified": true
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 201
  }
}

Multiple Businesses | Business B | Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} submits Q4 quarterly update

PASSED
Started 2026-04-27T09:50:01.738365Z Duration 729 ms
  • PASSBusiness B Q4 quarterly submission returned worker status 200.
  • PASSBusiness B Q4 cumulative submission and read-back used Gov-Test-Scenario: STATEFUL.
  • PASSBusiness B Q4 cumulative read-back matched the submitted period, income, and expense fields.
Data
{
  "request": {
    "method": "GET",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26?gov-test-scenario=STATEFUL",
    "path": "/hmrc/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
    "queryParameters": {
      "gov-test-scenario": "STATEFUL"
    },
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb0aca2b0dd",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-04-05"
          },
          "periodIncome": {
            "turnover": 9713.4,
            "other": 148.75,
            "taxTakenOffTradingIncome": 41.9
          },
          "periodExpenses": {
            "adminCosts": 806.8
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 51.2
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "1a799295-b04a-45c9-887b-9e349f08ceb6",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "GET",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "STATEFUL"
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "GetCumulativePeriodSummary",
          "method": "GET",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b0df4c5d-0896-4dc0-a4ec-b00fa09ecba8",
        "payload": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2026-04-05"
          },
          "periodIncome": {
            "turnover": 9713.4,
            "other": 148.75,
            "taxTakenOffTradingIncome": 41.9
          },
          "periodExpenses": {
            "adminCosts": 806.8
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 51.2
          }
        }
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {
        "periodDates": {
          "periodStartDate": "2025-04-06",
          "periodEndDate": "2026-04-05"
        },
        "periodIncome": {
          "turnover": 9713.4,
          "other": 148.75,
          "taxTakenOffTradingIncome": 41.9
        },
        "periodExpenses": {
          "adminCosts": 806.8
        },
        "periodDisallowableExpenses": {
          "adminCostsDisallowable": 51.2
        }
      }
    ]
  },
  "details": {
    "business": "B",
    "businessId": "X1IS73403316474",
    "quarter": "Q4",
    "quarterlyPeriodType": "standard",
    "message": "Cumulative period summary submitted to HMRC.",
    "correlationId": "1a799295-b04a-45c9-887b-9e349f08ceb6",
    "submissionPeriod": {
      "source": "business-cumulative-period",
      "periodStartDate": "2025-04-06T00:00:00.000Z",
      "periodEndDate": "2026-04-05T00:00:00.000Z",
      "periodKey": "Q4"
    },
    "verification": {
      "subject": "Business B Q4 cumulative summary",
      "verified": true
    },
    "statusCode": 200,
    "hmrcStatusCode": 204
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 163
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/annual/{taxYear} returns ALLOWANCE_NOT_SUPPORTED as a controlled HMRC error

HMRC Scenario: ALLOWANCE_NOT_SUPPORTED. Simulates the scenario where one or more of the supplied allowances is not supported for the supplied tax year.

PASSED
Started 2026-04-27T09:50:11.998678Z Duration 459 ms
  • PASSScenario request forwarded Gov-Test-Scenario: ALLOWANCE_NOT_SUPPORTED.
  • PASSControlled HMRC error matched ALLOWANCE_NOT_SUPPORTED.
Data
{
  "request": {
    "method": "PUT",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebee1c482581",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "180",
      "content-type": "application/json",
      "gov-test-scenario": "ALLOWANCE_NOT_SUPPORTED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "adjustments": {
        "includedNonTaxableProfits": 12.34,
        "basisAdjustment": 4.56
      },
      "allowances": {
        "annualInvestmentAllowance": 34.56
      },
      "nonFinancials": {
        "businessDetailsChangedRecently": false
      }
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "ALLOWANCE_NOT_SUPPORTED"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "c8ac7640-17e7-41a8-9bad-c5ba4dda7780",
        "payload": {
          "code": "RULE_ALLOWANCE_NOT_SUPPORTED",
          "message": "One or more of supplied allowances (electricChargePointAllowance, zeroEmissionsCarAllowance, structuredBuildingAllowance, enhancedStructuredBuildingAllowance) is not supported for the supplied tax year"
        }
      }
    }
  ],
  "response": {
    "status": 400,
    "payload": [
      {
        "error": "HMRC annual submission rejected.",
        "hmrcStatus": 400,
        "correlationId": "c8ac7640-17e7-41a8-9bad-c5ba4dda7780",
        "body": {
          "code": "RULE_ALLOWANCE_NOT_SUPPORTED",
          "message": "One or more of supplied allowances (electricChargePointAllowance, zeroEmissionsCarAllowance, structuredBuildingAllowance, enhancedStructuredBuildingAllowance) is not supported for the supplied tax year"
        }
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "ALLOWANCE_NOT_SUPPORTED"
    ],
    "matchedCodeFragment": "ALLOWANCE_NOT_SUPPORTED",
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        },
        "request": {
          "method": "PUT",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
          "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
          "headers": {
            "accept": "application/json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2cebee1c482581",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "content-length": "180",
            "content-type": "application/json",
            "gov-test-scenario": "ALLOWANCE_NOT_SUPPORTED",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          },
          "body": {
            "adjustments": {
              "includedNonTaxableProfits": 12.34,
              "basisAdjustment": 4.56
            },
            "allowances": {
              "annualInvestmentAllowance": 34.56
            },
            "nonFinancials": {
              "businessDetailsChangedRecently": false
            }
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "PUT",
              "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
              "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.5.0+json",
                "content-type": "application/json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "ALLOWANCE_NOT_SUPPORTED"
              },
              "body": {
                "adjustments": {
                  "includedNonTaxableProfits": 12.34,
                  "basisAdjustment": 4.56
                },
                "allowances": {
                  "annualInvestmentAllowance": 34.56
                },
                "nonFinancials": {
                  "businessDetailsChangedRecently": false
                }
              },
              "hmrcApi": {
                "apiName": "SelfEmployment",
                "operation": "PutAnnualSubmission",
                "method": "PUT",
                "acceptHeader": "application/vnd.hmrc.5.0+json",
                "version": "5.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
                "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
                "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "SelfEmployment",
              "operation": "PutAnnualSubmission",
              "method": "PUT",
              "acceptHeader": "application/vnd.hmrc.5.0+json",
              "version": "5.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
              "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
              "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 400,
    "durationMs": 319
  }
}

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/annual/{taxYear} returns NOT_FOUND as a controlled HMRC error

HMRC Scenario: NOT_FOUND. Simulates the scenario where no data is found.

FAILED
Started 2026-04-27T09:50:12.460810Z Duration 152 ms
  • FAILExpected HMRC to return a controlled error.
Error
Expected error but the request succeeded.
Data
{
  "request": {
    "stage": "Annual submission",
    "method": "PUT",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
    "headers": {
      "accept": "application/json",
      "authorization": "Bearer ***",
      "content-type": "application/json",
      "X-PlayPay-Trace": "1",
      "Gov-Test-Scenario": "NOT_FOUND"
    },
    "body": {
      "adjustments": {
        "includedNonTaxableProfits": 12.34,
        "basisAdjustment": 4.56
      },
      "allowances": {
        "annualInvestmentAllowance": 34.56
      },
      "nonFinancials": {
        "businessDetailsChangedRecently": false
      }
    }
  },
  "apiRequests": [],
  "response": {
    "status": 200,
    "payload": [
      {
        "message": "Already submitted.",
        "idempotent": true
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "NOT_FOUND"
    ]
  },
  "status": {
    "scenario": "failed",
    "http": 200,
    "durationMs": 28
  }
}

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/annual/{taxYear} returns OUTSIDE_AMENDMENT_WINDOW as a controlled HMRC error

HMRC Scenario: OUTSIDE_AMENDMENT_WINDOW. Simulates the scenario where the request cannot be completed because it is outside the amendment window.

FAILED
Started 2026-04-27T09:50:12.776886Z Duration 178 ms
  • FAILExpected HMRC to return a controlled error.
Error
Expected error but the request succeeded.
Data
{
  "request": {
    "stage": "Annual submission",
    "method": "PUT",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
    "headers": {
      "accept": "application/json",
      "authorization": "Bearer ***",
      "content-type": "application/json",
      "X-PlayPay-Trace": "1",
      "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
    },
    "body": {
      "adjustments": {
        "includedNonTaxableProfits": 12.34,
        "basisAdjustment": 4.56
      },
      "allowances": {
        "annualInvestmentAllowance": 34.56
      },
      "nonFinancials": {
        "businessDetailsChangedRecently": false
      }
    }
  },
  "apiRequests": [],
  "response": {
    "status": 200,
    "payload": [
      {
        "message": "Already submitted.",
        "idempotent": true
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "OUTSIDE_AMENDMENT_WINDOW",
      "RULE_OUTSIDE_AMENDMENT_WINDOW"
    ]
  },
  "status": {
    "scenario": "failed",
    "http": 200,
    "durationMs": 34
  }
}

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/annual/{taxYear} returns WRONG_TPA_AMOUNT_SUBMITTED as a controlled HMRC error

HMRC Scenario: WRONG_TPA_AMOUNT_SUBMITTED. Simulates the scenario where the Transition Profit Acceleration Amount cannot be submitted without Transition Profit Amount.

FAILED
Started 2026-04-27T09:50:12.613913Z Duration 161 ms
  • FAILExpected HMRC to return a controlled error.
Error
Expected error but the request succeeded.
Data
{
  "request": {
    "stage": "Annual submission",
    "method": "PUT",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
    "headers": {
      "accept": "application/json",
      "authorization": "Bearer ***",
      "content-type": "application/json",
      "X-PlayPay-Trace": "1",
      "Gov-Test-Scenario": "WRONG_TPA_AMOUNT_SUBMITTED"
    },
    "body": {
      "adjustments": {
        "includedNonTaxableProfits": 12.34,
        "basisAdjustment": 4.56
      },
      "allowances": {
        "annualInvestmentAllowance": 34.56
      },
      "nonFinancials": {
        "businessDetailsChangedRecently": false
      }
    }
  },
  "apiRequests": [],
  "response": {
    "status": 200,
    "payload": [
      {
        "message": "Already submitted.",
        "idempotent": true
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "WRONG_TPA_AMOUNT_SUBMITTED"
    ]
  },
  "status": {
    "scenario": "failed",
    "http": 200,
    "durationMs": 30
  }
}

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} returns NOT_FOUND as a controlled HMRC error

PASSED
Started 2026-04-27T09:49:54.201423Z Duration 483 ms
  • PASSScenario request forwarded Gov-Test-Scenario: NOT_FOUND.
  • PASSControlled HMRC error matched NOT_FOUND.
Data
{
  "request": {
    "method": "PUT",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceb7edf87b3e4",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "254",
      "content-type": "application/json",
      "gov-test-scenario": "NOT_FOUND",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "periodDates": {
        "periodStartDate": "2025-04-06",
        "periodEndDate": "2025-07-05"
      },
      "periodIncome": {
        "turnover": 1840.25,
        "other": 0,
        "taxTakenOffTradingIncome": 0
      },
      "periodExpenses": {
        "adminCosts": 145.8
      },
      "periodDisallowableExpenses": {
        "adminCostsDisallowable": 9.5
      }
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "NOT_FOUND"
        },
        "body": {
          "periodDates": {
            "periodStartDate": "2025-04-06",
            "periodEndDate": "2025-07-05"
          },
          "periodIncome": {
            "turnover": 1840.25,
            "other": 0,
            "taxTakenOffTradingIncome": 0
          },
          "periodExpenses": {
            "adminCosts": 145.8
          },
          "periodDisallowableExpenses": {
            "adminCostsDisallowable": 9.5
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        }
      },
      "hmrc-response": {
        "status": 404,
        "correlationId": "c440a82f-ee8a-47ec-b435-504350dcbc1e",
        "payload": {
          "code": "MATCHING_RESOURCE_NOT_FOUND",
          "message": "Matching resource not found"
        }
      }
    }
  ],
  "response": {
    "status": 404,
    "payload": [
      {
        "error": "HMRC cumulative submission rejected.",
        "hmrcStatus": 404,
        "correlationId": "c440a82f-ee8a-47ec-b435-504350dcbc1e",
        "body": {
          "code": "MATCHING_RESOURCE_NOT_FOUND",
          "message": "Matching resource not found"
        }
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "NOT_FOUND"
    ],
    "matchedCodeFragment": "NOT_FOUND",
    "errorPayload": {
      "type": "HmrcWorkerException",
      "message": {
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutCumulativePeriodSummary",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
        },
        "request": {
          "method": "PUT",
          "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
          "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
          "headers": {
            "accept": "application/json",
            "accept-encoding": "gzip, br",
            "authorization": "Bearer eyJhbGciOiJ...K8",
            "cf-connecting-ip": "209.x.x.x",
            "cf-ipcountry": "GB",
            "cf-ray": "9f2ceb7edf87b3e4",
            "cf-visitor": "{\"scheme\":\"https\"}",
            "connection": "Keep-Alive",
            "content-length": "254",
            "content-type": "application/json",
            "gov-test-scenario": "NOT_FOUND",
            "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
            "user-agent": "Dart/3.9 (dart:io)",
            "x-forwarded-proto": "https",
            "x-playpay-trace": "1",
            "x-real-ip": "209.x.x.x"
          },
          "body": {
            "periodDates": {
              "periodStartDate": "2025-04-06",
              "periodEndDate": "2025-07-05"
            },
            "periodIncome": {
              "turnover": 1840.25,
              "other": 0,
              "taxTakenOffTradingIncome": 0
            },
            "periodExpenses": {
              "adminCosts": 145.8
            },
            "periodDisallowableExpenses": {
              "adminCostsDisallowable": 9.5
            }
          }
        },
        "apiRequests": [
          {
            "relayed-request": {
              "method": "PUT",
              "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
              "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
              "headers": {
                "authorization": "Bearer 403be4fa2d5...c3",
                "accept": "application/vnd.hmrc.5.0+json",
                "content-type": "application/json",
                "gov-client-connection-method": "MOBILE_APP_DIRECT",
                "gov-client-device-id": "playpay-bdd...ce",
                "gov-client-timezone": "UTC+00:00",
                "gov-client-user-ids": "os=playpay-bdd...ke",
                "gov-uk-originator-id": "playpay-bdd...ke",
                "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
                "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
                "gov-vendor-product-name": "PlayPay",
                "gov-vendor-public-ip": "198.x.x.x",
                "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
                "Gov-Test-Scenario": "NOT_FOUND"
              },
              "body": {
                "periodDates": {
                  "periodStartDate": "2025-04-06",
                  "periodEndDate": "2025-07-05"
                },
                "periodIncome": {
                  "turnover": 1840.25,
                  "other": 0,
                  "taxTakenOffTradingIncome": 0
                },
                "periodExpenses": {
                  "adminCosts": 145.8
                },
                "periodDisallowableExpenses": {
                  "adminCostsDisallowable": 9.5
                }
              },
              "hmrcApi": {
                "apiName": "SelfEmployment",
                "operation": "PutCumulativePeriodSummary",
                "method": "PUT",
                "acceptHeader": "application/vnd.hmrc.5.0+json",
                "version": "5.0",
                "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
                "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
                "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
              }
            }
          }
        ],
        "response": {
          "payload": {
            "hmrcApi": {
              "apiName": "SelfEmployment",
              "operation": "PutCumulativePeriodSummary",
              "method": "PUT",
              "acceptHeader": "application/vnd.hmrc.5.0+json",
              "version": "5.0",
              "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
              "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/cumulative/{taxYear}",
              "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26"
            }
          }
        }
      }
    }
  },
  "status": {
    "scenario": "passed",
    "http": 404,
    "durationMs": 346
  }
}

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} returns OUTSIDE_AMENDMENT_WINDOW as a controlled HMRC error

FAILED
Started 2026-04-27T09:49:54.698231Z Duration 159 ms
  • FAILExpected HMRC to return a controlled error.
Error
Expected error but the request succeeded.
Data
{
  "request": {
    "stage": "Cumulative submission",
    "method": "PUT",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "headers": {
      "accept": "application/json",
      "authorization": "Bearer ***",
      "content-type": "application/json",
      "X-PlayPay-Trace": "1",
      "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
    },
    "body": {
      "periodDates": {
        "periodStartDate": "2025-04-06",
        "periodEndDate": "2025-07-05"
      },
      "periodIncome": {
        "turnover": 1840.25,
        "other": 0.0,
        "taxTakenOffTradingIncome": 0.0
      },
      "periodExpenses": {
        "adminCosts": 145.8
      },
      "periodDisallowableExpenses": {
        "adminCostsDisallowable": 9.5
      }
    }
  },
  "apiRequests": [],
  "response": {
    "status": 200,
    "payload": [
      {
        "message": "Already submitted.",
        "idempotent": true
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "OUTSIDE_AMENDMENT_WINDOW",
      "RULE_OUTSIDE_AMENDMENT_WINDOW"
    ]
  },
  "status": {
    "scenario": "failed",
    "http": 200,
    "durationMs": 37
  }
}

Self Employment Business API PUT /hmrc/self-employment/{nino}/{businessId}/cumulative/{taxYear} returns TAX_YEAR_NOT_SUPPORTED as a controlled HMRC error

FAILED
Started 2026-04-27T09:49:54.860707Z Duration 165 ms
  • FAILExpected HMRC to return a controlled error.
Error
Expected error but the request succeeded.
Data
{
  "request": {
    "stage": "Cumulative submission",
    "method": "PUT",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "path": "/hmrc/self-employment/WL254177A/X4IS27198436836/cumulative/2025-26",
    "headers": {
      "accept": "application/json",
      "authorization": "Bearer ***",
      "content-type": "application/json",
      "X-PlayPay-Trace": "1",
      "Gov-Test-Scenario": "TAX_YEAR_NOT_SUPPORTED"
    },
    "body": {
      "periodDates": {
        "periodStartDate": "2025-04-06",
        "periodEndDate": "2025-07-05"
      },
      "periodIncome": {
        "turnover": 1840.25,
        "other": 0.0,
        "taxTakenOffTradingIncome": 0.0
      },
      "periodExpenses": {
        "adminCosts": 145.8
      },
      "periodDisallowableExpenses": {
        "adminCostsDisallowable": 9.5
      }
    }
  },
  "apiRequests": [],
  "response": {
    "status": 200,
    "payload": [
      {
        "message": "Already submitted.",
        "idempotent": true
      }
    ]
  },
  "details": {
    "expectedCodeFragments": [
      "TAX_YEAR_NOT_SUPPORTED",
      "RULE_TAX_YEAR_NOT_SUPPORTED"
    ]
  },
  "status": {
    "scenario": "failed",
    "http": 200,
    "durationMs": 29
  }
}

Extra Info

Extra-info APIs that PlayPay uses to save supporting income, relief, benefit, and disclosure data alongside the main MTD submission flow.

Individual Losses APISpecversion 6.0PlayPay uses this API to submit year-end loss claims for the selected self-employment business.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/losses/{nino}/loss-claimsTests 7Passed 7

Individual Losses API POST /hmrc/annual-data returns ACCOUNTING_PERIOD_NOT_ENDED for the loss-claims item

HMRC Scenario: ACCOUNTING_PERIOD_NOT_ENDED. Simulates the scenario where the accounting period has not yet ended.

PASSED
Started 2026-04-27T09:51:18.267405Z Duration 477 ms
  • PASSIndividual Losses API item returned the controlled HMRC error ACCOUNTING_PERIOD_NOT_ENDED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ced8c3f61b375",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "307",
      "content-type": "application/json",
      "gov-test-scenario": "ACCOUNTING_PERIOD_NOT_ENDED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        }
      ],
      "gov-test-scenario": "ACCOUNTING_PERIOD_NOT_ENDED"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "ACCOUNTING_PERIOD_NOT_ENDED"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "d3efa07a-7b9d-4a07-8219-4d28b8a25581",
        "payload": {
          "code": "RULE_ACCOUNTING_PERIOD_NOT_ENDED",
          "message": "The accounting period has not yet ended"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_ACCOUNTING_PERIOD_NOT_ENDED",
        "message": "The accounting period has not yet ended"
      }
    ]
  },
  "details": {
    "scenario": "ACCOUNTING_PERIOD_NOT_ENDED",
    "workerStatusCode": 207,
    "itemCode": "loss-claims",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 347
  }
}

Individual Losses API POST /hmrc/annual-data returns CSFHL_CLAIM_NOT_SUPPORTED for the loss-claims item

HMRC Scenario: CSFHL_CLAIM_NOT_SUPPORTED. Simulates the scenario where a CSFHL claim is not supported.

PASSED
Started 2026-04-27T09:51:19.669708Z Duration 406 ms
  • PASSIndividual Losses API item returned the controlled HMRC error CSFHL_CLAIM_NOT_SUPPORTED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ced950fb2cc9a",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "305",
      "content-type": "application/json",
      "gov-test-scenario": "CSFHL_CLAIM_NOT_SUPPORTED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        }
      ],
      "gov-test-scenario": "CSFHL_CLAIM_NOT_SUPPORTED"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "CSFHL_CLAIM_NOT_SUPPORTED"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "b8d233d0-741d-4c12-9996-5020af09b957",
        "payload": {
          "code": "RULE_CSFHL_CLAIM_NOT_SUPPORTED",
          "message": "carry-sideways-fhl claim for income sources foreign-property-fhl-eea and uk-property-fhl will not be supported from tax year 25/26"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_CSFHL_CLAIM_NOT_SUPPORTED",
        "message": "carry-sideways-fhl claim for income sources foreign-property-fhl-eea and uk-property-fhl will not be supported from tax year 25/26"
      }
    ]
  },
  "details": {
    "scenario": "CSFHL_CLAIM_NOT_SUPPORTED",
    "workerStatusCode": 207,
    "itemCode": "loss-claims",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 271
  }
}

Individual Losses API POST /hmrc/annual-data returns DUPLICATE for the loss-claims item

HMRC Scenario: DUPLICATE. Simulates the scenario where the same loss claim already exists.

PASSED
Started 2026-04-27T09:50:26.425505Z Duration 51841 ms
  • PASSWorker rate limit returned 429. Retrying attempt 2 after 200ms.
  • PASSWorker rate limit returned 429. Retrying attempt 3 after 400ms.
  • PASSWorker rate limit returned 429. Retrying attempt 4 after 800ms.
  • PASSWorker rate limit returned 429. Retrying attempt 5 after 1600ms.
  • PASSWorker rate limit returned 429. Retrying attempt 6 after 3200ms.
  • PASSWorker rate limit returned 429. Retrying attempt 7 after 6400ms.
  • PASSWorker rate limit returned 429. Retrying attempt 8 after 12800ms.
  • PASSWorker rate limit returned 429. Retrying attempt 9 after 25600ms.
  • PASSIndividual Losses API item returned the controlled HMRC error DUPLICATE.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ced88d957a62f",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "289",
      "content-type": "application/json",
      "gov-test-scenario": "DUPLICATE",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        }
      ],
      "gov-test-scenario": "DUPLICATE"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "DUPLICATE"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "6fa0332f-2049-4bd6-a94a-6775ba937be0",
        "payload": {
          "code": "RULE_DUPLICATE_SUBMISSION",
          "message": "This claim matches a previous submission"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_DUPLICATE_SUBMISSION",
        "message": "This claim matches a previous submission"
      }
    ]
  },
  "details": {
    "scenario": "DUPLICATE",
    "workerStatusCode": 207,
    "itemCode": "loss-claims",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 414
  }
}

Individual Losses API POST /hmrc/annual-data returns NOT_FOUND for the loss-claims item

HMRC Scenario: NOT_FOUND. Simulates the scenario where no data is found.

PASSED
Started 2026-04-27T09:50:25.908441Z Duration 514 ms
  • PASSIndividual Losses API item returned the controlled HMRC error NOT_FOUND.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec450cf8b0dd",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "289",
      "content-type": "application/json",
      "gov-test-scenario": "NOT_FOUND",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        }
      ],
      "gov-test-scenario": "NOT_FOUND"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "NOT_FOUND"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 404,
        "correlationId": "6f874bc1-fccd-4303-9fe4-8545d79a73dd",
        "payload": {
          "code": "MATCHING_RESOURCE_NOT_FOUND",
          "message": "Matching resource not found"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "MATCHING_RESOURCE_NOT_FOUND",
        "message": "Matching resource not found"
      }
    ]
  },
  "details": {
    "scenario": "NOT_FOUND",
    "workerStatusCode": 207,
    "itemCode": "loss-claims",
    "itemStatusCode": 404
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 371
  }
}

Individual Losses API POST /hmrc/annual-data returns NO_ACCOUNTING_PERIOD for the loss-claims item

HMRC Scenario: NO_ACCOUNTING_PERIOD. Simulates the scenario where there is no accounting period for the claim.

PASSED
Started 2026-04-27T09:51:18.748089Z Duration 508 ms
  • PASSIndividual Losses API item returned the controlled HMRC error NO_ACCOUNTING_PERIOD.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ced8f4ffa9d7a",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "300",
      "content-type": "application/json",
      "gov-test-scenario": "NO_ACCOUNTING_PERIOD",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        }
      ],
      "gov-test-scenario": "NO_ACCOUNTING_PERIOD"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "NO_ACCOUNTING_PERIOD"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "0da22808-619c-43f2-b06e-cf504ff631fa",
        "payload": {
          "code": "RULE_NO_ACCOUNTING_PERIOD",
          "message": "For the year of the claim there is no accounting period"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_NO_ACCOUNTING_PERIOD",
        "message": "For the year of the claim there is no accounting period"
      }
    ]
  },
  "details": {
    "scenario": "NO_ACCOUNTING_PERIOD",
    "workerStatusCode": 207,
    "itemCode": "loss-claims",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 368
  }
}

Individual Losses API POST /hmrc/annual-data returns OUTSIDE_AMENDMENT_WINDOW for the loss-claims item

HMRC Scenario: OUTSIDE_AMENDMENT_WINDOW. Simulates the scenario where the request cannot be completed because it is outside the amendment window.

PASSED
Started 2026-04-27T09:51:19.259706Z Duration 407 ms
  • PASSIndividual Losses API item returned the controlled HMRC error OUTSIDE_AMENDMENT_WINDOW.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ced926ec0b3fe",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "304",
      "content-type": "application/json",
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        }
      ],
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "0d0a5d86-92eb-4e86-abee-e61ec985dfc5",
        "payload": {
          "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
          "message": "You are outside the amendment window"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
        "message": "You are outside the amendment window"
      }
    ]
  },
  "details": {
    "scenario": "OUTSIDE_AMENDMENT_WINDOW",
    "workerStatusCode": 207,
    "itemCode": "loss-claims",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 278
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}
Individuals Capital Gains Income APISpecversion 3.0PlayPay uses this API to submit other capital gains and disposal details captured during final review.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/{nino}/{taxYear}Tests 5Passed 3Skipped 2

Individuals Capital Gains Income API POST /hmrc/annual-data returns INVALID_ACQUISITION_DATE for the capital-gains-other item

HMRC Scenario: INVALID_ACQUISITION_DATE. Simulates the scenario where the acquisition date is invalid.

SKIPPED
Started 2026-04-27T09:51:20.079649Z Duration 0 ms
  • WARNHMRC sandbox currently rejects the published capital gains date-validation scenarios with RULE_INCORRECT_GOV_TEST_SCENARIO, so this live check is skipped.
Data
{
  "request": {},
  "apiRequests": [],
  "response": {
    "payload": []
  },
  "details": {
    "skipReason": "HMRC sandbox currently rejects the published capital gains date-validation scenarios with RULE_INCORRECT_GOV_TEST_SCENARIO, so this live check is skipped."
  },
  "status": {
    "scenario": "skipped"
  }
}

Individuals Capital Gains Income API POST /hmrc/annual-data returns INVALID_DISPOSAL_DATE for the capital-gains-other item

HMRC Scenario: INVALID_DISPOSAL_DATE. Simulates the scenario where the disposal date is invalid.

SKIPPED
Started 2026-04-27T09:51:20.078382Z Duration 0 ms
  • WARNHMRC sandbox currently rejects the published capital gains date-validation scenarios with RULE_INCORRECT_GOV_TEST_SCENARIO, so this live check is skipped.
Data
{
  "request": {},
  "apiRequests": [],
  "response": {
    "payload": []
  },
  "details": {
    "skipReason": "HMRC sandbox currently rejects the published capital gains date-validation scenarios with RULE_INCORRECT_GOV_TEST_SCENARIO, so this live check is skipped."
  },
  "status": {
    "scenario": "skipped"
  }
}

Individuals Capital Gains Income API POST /hmrc/annual-data returns OUTSIDE_AMENDMENT_WINDOW for the capital-gains-other item

HMRC Scenario: OUTSIDE_AMENDMENT_WINDOW. Simulates the scenario where the request cannot be completed because it is outside the amendment window.

PASSED
Started 2026-04-27T09:51:20.080532Z Duration 471 ms
  • PASSIndividuals Capital Gains Income API item returned the controlled HMRC error OUTSIDE_AMENDMENT_WINDOW.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ced979d13a44d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "650",
      "content-type": "application/json",
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        }
      ],
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "62361a15-6480-40a8-b999-632e44e7d232",
        "payload": {
          "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
          "message": "You are outside the amendment window"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
        "message": "You are outside the amendment window"
      }
    ]
  },
  "details": {
    "scenario": "OUTSIDE_AMENDMENT_WINDOW",
    "workerStatusCode": 207,
    "itemCode": "capital-gains-other",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 338
  }
}

Individuals Capital Gains Income API POST /hmrc/annual-data returns REQUEST_CANNOT_BE_FULFILLED for the capital-gains-other item

HMRC Scenario: REQUEST_CANNOT_BE_FULFILLED. Simulates the scenario where the request cannot be fulfilled.

PASSED
Started 2026-04-27T09:51:20.554176Z Duration 385 ms
  • PASSIndividuals Capital Gains Income API item returned the controlled HMRC error REQUEST_CANNOT_BE_FULFILLED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ced9a9d89b3cf",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "653",
      "content-type": "application/json",
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        }
      ],
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "REQUEST_CANNOT_BE_FULFILLED"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 422,
        "correlationId": "36443387-14f6-4ab7-abbe-d025e52f61f4",
        "payload": {
          "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
          "message": "Custom (will vary in production depending on the actual error)"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
        "message": "Custom (will vary in production depending on the actual error)"
      }
    ]
  },
  "details": {
    "scenario": "REQUEST_CANNOT_BE_FULFILLED",
    "workerStatusCode": 207,
    "itemCode": "capital-gains-other",
    "itemStatusCode": 422
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 246
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}
Individuals Charges APISpecversion 3.0PlayPay uses this API to submit High Income Child Benefit Charge details collected in the year-end review.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/{nino}/{taxYear}Tests 4Passed 4

Individuals Charges API POST /hmrc/annual-data returns OUTSIDE_AMENDMENT_WINDOW for the high-income-child-benefit-charge item

HMRC Scenario: OUTSIDE_AMENDMENT_WINDOW. Simulates the scenario where the request cannot be completed because it is outside the amendment window.

PASSED
Started 2026-04-27T09:50:16.084933Z Duration 601 ms
  • PASSIndividuals Charges API item returned the controlled HMRC error OUTSIDE_AMENDMENT_WINDOW.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec07a8eef469",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "306",
      "content-type": "application/json",
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        }
      ],
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "d126dec1-2ab7-4f96-ab58-9e00f7a90084",
        "payload": {
          "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
          "message": "You are outside the amendment window"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
        "message": "You are outside the amendment window"
      }
    ]
  },
  "details": {
    "scenario": "OUTSIDE_AMENDMENT_WINDOW",
    "workerStatusCode": 207,
    "itemCode": "high-income-child-benefit-charge",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 469
  }
}

Individuals Charges API POST /hmrc/annual-data returns REQUEST_CANNOT_BE_FULFILLED for the high-income-child-benefit-charge item

HMRC Scenario: REQUEST_CANNOT_BE_FULFILLED. Simulates the scenario where the request cannot be fulfilled.

PASSED
Started 2026-04-27T09:50:16.687551Z Duration 411 ms
  • PASSIndividuals Charges API item returned the controlled HMRC error REQUEST_CANNOT_BE_FULFILLED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec0b5fd6a122",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "309",
      "content-type": "application/json",
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        }
      ],
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "REQUEST_CANNOT_BE_FULFILLED"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 422,
        "correlationId": "6f377a34-87df-44db-9e80-ac395d5fe2d4",
        "payload": {
          "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
          "message": "Custom (will vary in production depending on the actual error)"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
        "message": "Custom (will vary in production depending on the actual error)"
      }
    ]
  },
  "details": {
    "scenario": "REQUEST_CANNOT_BE_FULFILLED",
    "workerStatusCode": 207,
    "itemCode": "high-income-child-benefit-charge",
    "itemStatusCode": 422
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 280
  }
}

Individuals Charges API POST /hmrc/annual-data returns TAX_YEAR_NOT_SUPPORTED for the high-income-child-benefit-charge item

HMRC Scenario: TAX_YEAR_NOT_SUPPORTED. Simulates the scenario where the tax year is not supported.

PASSED
Started 2026-04-27T09:50:15.673894Z Duration 408 ms
  • PASSIndividuals Charges API item returned the controlled HMRC error TAX_YEAR_NOT_SUPPORTED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec050a64eb15",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "304",
      "content-type": "application/json",
      "gov-test-scenario": "TAX_YEAR_NOT_SUPPORTED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        }
      ],
      "gov-test-scenario": "TAX_YEAR_NOT_SUPPORTED"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "TAX_YEAR_NOT_SUPPORTED"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "28743d17-d081-4e48-a8e5-bb373d49ea22",
        "payload": {
          "code": "RULE_TAX_YEAR_NOT_SUPPORTED",
          "message": "The tax year specified does not lie within the supported range"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_TAX_YEAR_NOT_SUPPORTED",
        "message": "The tax year specified does not lie within the supported range"
      }
    ]
  },
  "details": {
    "scenario": "TAX_YEAR_NOT_SUPPORTED",
    "workerStatusCode": 207,
    "itemCode": "high-income-child-benefit-charge",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 275
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}
Individuals Disclosures APISpecversion 2.0PlayPay uses this API to submit Marriage Allowance disclosures collected in the year-end review.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/disclosures/{nino}/{taxYear}Tests 4Passed 4

Individuals Disclosures API POST /hmrc/annual-data returns CLAIM_ALREADY_EXISTS for the marriage-allowance item

HMRC Scenario: CLAIM_ALREADY_EXISTS. Simulates the scenario where the claim already exists.

PASSED
Started 2026-04-27T09:50:17.609875Z Duration 512 ms
  • PASSIndividuals Disclosures API item returned the controlled HMRC error ACTIVE_MARRIAGE_ALLOWANCE_CLAIM.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec111ba30745",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "368",
      "content-type": "application/json",
      "gov-test-scenario": "CLAIM_ALREADY_EXISTS",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        }
      ],
      "gov-test-scenario": "CLAIM_ALREADY_EXISTS"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "CLAIM_ALREADY_EXISTS"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "3f2ad3f0-e656-4fce-9ae3-ad56a1ea17f0",
        "payload": {
          "code": "RULE_ACTIVE_MARRIAGE_ALLOWANCE_CLAIM",
          "message": "Marriage Allowance has already been transferred to a spouse or civil partner"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_ACTIVE_MARRIAGE_ALLOWANCE_CLAIM",
        "message": "Marriage Allowance has already been transferred to a spouse or civil partner"
      }
    ]
  },
  "details": {
    "scenario": "CLAIM_ALREADY_EXISTS",
    "workerStatusCode": 207,
    "itemCode": "marriage-allowance",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 381
  }
}

Individuals Disclosures API POST /hmrc/annual-data returns DECEASED_RECIPIENT for the marriage-allowance item

HMRC Scenario: DECEASED_RECIPIENT. Simulates the scenario where the recipient has died.

PASSED
Started 2026-04-27T09:50:17.102083Z Duration 506 ms
  • PASSIndividuals Disclosures API item returned the controlled HMRC error DECEASED_RECIPIENT.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec0dfcef3607",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "366",
      "content-type": "application/json",
      "gov-test-scenario": "DECEASED_RECIPIENT",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        }
      ],
      "gov-test-scenario": "DECEASED_RECIPIENT"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "DECEASED_RECIPIENT"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "e3e6002a-162f-40ae-87d9-c6861b3f8551",
        "payload": {
          "code": "RULE_DECEASED_RECIPIENT",
          "message": "The provided spouse or civil partner is deceased"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_DECEASED_RECIPIENT",
        "message": "The provided spouse or civil partner is deceased"
      }
    ]
  },
  "details": {
    "scenario": "DECEASED_RECIPIENT",
    "workerStatusCode": 207,
    "itemCode": "marriage-allowance",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 374
  }
}

Individuals Disclosures API POST /hmrc/annual-data returns INVALID_REQUEST for the marriage-allowance item

HMRC Scenario: INVALID_REQUEST. Simulates the scenario where the request body is invalid for the endpoint.

PASSED
Started 2026-04-27T09:50:18.125144Z Duration 510 ms
  • PASSIndividuals Disclosures API item returned the controlled HMRC error INVALID_REQUEST.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec14595aeb1d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "363",
      "content-type": "application/json",
      "gov-test-scenario": "INVALID_REQUEST",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        }
      ],
      "gov-test-scenario": "INVALID_REQUEST"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "INVALID_REQUEST"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "8e16020c-499d-4d41-86d6-978ca397a50e",
        "payload": {
          "code": "RULE_INVALID_REQUEST",
          "message": "The NINO supplied is invalid"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_INVALID_REQUEST",
        "message": "The NINO supplied is invalid"
      }
    ]
  },
  "details": {
    "scenario": "INVALID_REQUEST",
    "workerStatusCode": 207,
    "itemCode": "marriage-allowance",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 374
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}
Individuals Dividends Income APISpecversion 2.0PlayPay uses this API to submit UK and other dividend income collected in the year-end review.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/dividends-income/{nino}/{taxYear}Tests 4Passed 3Skipped 1

Individuals Dividends Income API POST /hmrc/annual-data returns NOT_FOUND for the dividends-uk item

HMRC Scenario: NOT_FOUND. Simulates the scenario where no data is found.

PASSED
Started 2026-04-27T09:50:18.638248Z Duration 611 ms
  • PASSIndividuals Dividends Income API item returned the controlled HMRC error NOT_FOUND.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec179c8eb3cf",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "222",
      "content-type": "application/json",
      "gov-test-scenario": "NOT_FOUND",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        }
      ],
      "gov-test-scenario": "NOT_FOUND"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "NOT_FOUND"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 404,
        "correlationId": "956807df-872a-4040-99a4-682e3c9f93b5",
        "payload": {
          "code": "MATCHING_RESOURCE_NOT_FOUND",
          "message": "Matching resource not found"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "MATCHING_RESOURCE_NOT_FOUND",
        "message": "Matching resource not found"
      }
    ]
  },
  "details": {
    "scenario": "NOT_FOUND",
    "workerStatusCode": 207,
    "itemCode": "dividends-uk",
    "itemStatusCode": 404
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 476
  }
}

Individuals Dividends Income API POST /hmrc/annual-data returns OUTSIDE_AMENDMENT_WINDOW for the dividends-uk item

HMRC Scenario: OUTSIDE_AMENDMENT_WINDOW. Simulates the scenario where the request cannot be completed because it is outside the amendment window.

PASSED
Started 2026-04-27T09:50:19.252417Z Duration 519 ms
  • PASSIndividuals Dividends Income API item returned the controlled HMRC error OUTSIDE_AMENDMENT_WINDOW.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec1b6e56eb1d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "237",
      "content-type": "application/json",
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        }
      ],
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "afe8396c-5936-4a24-ab0d-f81ae446e955",
        "payload": {
          "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
          "message": "You are outside the amendment window"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
        "message": "You are outside the amendment window"
      }
    ]
  },
  "details": {
    "scenario": "OUTSIDE_AMENDMENT_WINDOW",
    "workerStatusCode": 207,
    "itemCode": "dividends-uk",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 381
  }
}

Individuals Dividends Income API POST /hmrc/annual-data returns REQUEST_CANNOT_BE_FULFILLED for the dividends-uk item

HMRC Scenario: REQUEST_CANNOT_BE_FULFILLED. Simulates the scenario where the request cannot be fulfilled.

SKIPPED
Started 2026-04-27T09:50:19.773902Z Duration 0 ms
  • WARNHMRC sandbox currently rejects REQUEST_CANNOT_BE_FULFILLED for UK dividends with RULE_INCORRECT_GOV_TEST_SCENARIO, despite the published spec, so this live check is skipped.
Data
{
  "request": {},
  "apiRequests": [],
  "response": {
    "payload": []
  },
  "details": {
    "skipReason": "HMRC sandbox currently rejects REQUEST_CANNOT_BE_FULFILLED for UK dividends with RULE_INCORRECT_GOV_TEST_SCENARIO, despite the published spec, so this live check is skipped."
  },
  "status": {
    "scenario": "skipped"
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}
Individuals Employments Income APISpecversion 2.0PlayPay uses this API to submit employment income details collected in the year-end review.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/employments-income/{nino}/{taxYear}Tests 3Passed 3

Individuals Employments Income API POST /hmrc/annual-data returns OUTSIDE_AMENDMENT_WINDOW for the employment-income item

HMRC Scenario: OUTSIDE_AMENDMENT_WINDOW. Simulates the scenario where the request cannot be completed because it is outside the amendment window.

PASSED
Started 2026-04-27T09:50:20.277281Z Duration 483 ms
  • PASSIndividuals Employments Income API item returned the controlled HMRC error OUTSIDE_AMENDMENT_WINDOW.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec21d9e8a14b",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "351",
      "content-type": "application/json",
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        }
      ],
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "79280654-27ef-4ef1-aa43-06748602e646",
        "payload": {
          "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
          "message": "You are outside the amendment window"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
        "message": "You are outside the amendment window"
      }
    ]
  },
  "details": {
    "scenario": "OUTSIDE_AMENDMENT_WINDOW",
    "workerStatusCode": 207,
    "itemCode": "employment-income",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 340
  }
}

Individuals Employments Income API POST /hmrc/annual-data returns REQUEST_CANNOT_BE_FULFILLED for the employment-income item

HMRC Scenario: REQUEST_CANNOT_BE_FULFILLED. Simulates the scenario where the request cannot be fulfilled.

PASSED
Started 2026-04-27T09:50:19.775273Z Duration 499 ms
  • PASSIndividuals Employments Income API item returned the controlled HMRC error REQUEST_CANNOT_BE_FULFILLED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec1ebfcb89d9",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "354",
      "content-type": "application/json",
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        }
      ],
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "REQUEST_CANNOT_BE_FULFILLED"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 422,
        "correlationId": "40764666-feda-4d99-8ce0-dbe990325d6c",
        "payload": {
          "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
          "message": "Custom (will vary in production depending on the actual error)"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
        "message": "Custom (will vary in production depending on the actual error)"
      }
    ]
  },
  "details": {
    "scenario": "REQUEST_CANNOT_BE_FULFILLED",
    "workerStatusCode": 207,
    "itemCode": "employment-income",
    "itemStatusCode": 422
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 362
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}
Individuals Expenses APISpecversion 3.0PlayPay uses this API to submit deductible personal expenses that sit outside the main self-employment update.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/expenses/other/{nino}/{taxYear}Tests 2Passed 2

Individuals Expenses API POST /hmrc/annual-data returns OUTSIDE_AMENDMENT_WINDOW for the other-expenses item

HMRC Scenario: OUTSIDE_AMENDMENT_WINDOW. Simulates the scenario where the request cannot be completed because it is outside the amendment window.

PASSED
Started 2026-04-27T09:51:20.941497Z Duration 468 ms
  • PASSIndividuals Expenses API item returned the controlled HMRC error OUTSIDE_AMENDMENT_WINDOW.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ced9cf89aa62f",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "300",
      "content-type": "application/json",
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        }
      ],
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "9f8e1d31-e558-46a5-9907-90201c3788f5",
        "payload": {
          "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
          "message": "You are outside the amendment window"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
        "message": "You are outside the amendment window"
      }
    ]
  },
  "details": {
    "scenario": "OUTSIDE_AMENDMENT_WINDOW",
    "workerStatusCode": 207,
    "itemCode": "other-expenses",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 334
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}
Individuals Foreign Income APISpecversion 2.0PlayPay uses this API to submit foreign earnings and related foreign income details from the year-end review.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/foreign-income/{nino}/{taxYear}Tests 3Passed 3

Individuals Foreign Income API POST /hmrc/annual-data returns OUTSIDE_AMENDMENT_WINDOW for the foreign-income item

HMRC Scenario: OUTSIDE_AMENDMENT_WINDOW. Simulates the scenario where the request cannot be completed because it is outside the amendment window.

PASSED
Started 2026-04-27T09:51:21.922735Z Duration 508 ms
  • PASSIndividuals Foreign Income API item returned the controlled HMRC error OUTSIDE_AMENDMENT_WINDOW.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceda31ec3f581",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "278",
      "content-type": "application/json",
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        }
      ],
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "0d8fe47d-9a87-4c90-bf18-a4c4aae5bd42",
        "payload": {
          "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
          "message": "You are outside the amendment window"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
        "message": "You are outside the amendment window"
      }
    ]
  },
  "details": {
    "scenario": "OUTSIDE_AMENDMENT_WINDOW",
    "workerStatusCode": 207,
    "itemCode": "foreign-income",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 370
  }
}

Individuals Foreign Income API POST /hmrc/annual-data returns REQUEST_CANNOT_BE_FULFILLED for the foreign-income item

HMRC Scenario: REQUEST_CANNOT_BE_FULFILLED. Simulates the scenario where the request cannot be fulfilled.

PASSED
Started 2026-04-27T09:51:21.412243Z Duration 507 ms
  • PASSIndividuals Foreign Income API item returned the controlled HMRC error REQUEST_CANNOT_BE_FULFILLED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ced9fffbab364",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "281",
      "content-type": "application/json",
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        }
      ],
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "REQUEST_CANNOT_BE_FULFILLED"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 422,
        "correlationId": "05d62e57-449a-4920-8eb2-686da7472fe8",
        "payload": {
          "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
          "message": "Custom (will vary in production depending on the actual error)"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
        "message": "Custom (will vary in production depending on the actual error)"
      }
    ]
  },
  "details": {
    "scenario": "REQUEST_CANNOT_BE_FULFILLED",
    "workerStatusCode": 207,
    "itemCode": "foreign-income",
    "itemStatusCode": 422
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 372
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}
Individuals Other Income APISpecversion 2.0PlayPay uses this API to submit other non-self-employment income captured during final review.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/other-income/{nino}/{taxYear}Tests 4Passed 4

Individuals Other Income API POST /hmrc/annual-data returns OUTSIDE_AMENDMENT_WINDOW for the other-income item

HMRC Scenario: OUTSIDE_AMENDMENT_WINDOW. Simulates the scenario where the request cannot be completed because it is outside the amendment window.

PASSED
Started 2026-04-27T09:51:22.431542Z Duration 512 ms
  • PASSIndividuals Other Income API item returned the controlled HMRC error OUTSIDE_AMENDMENT_WINDOW.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceda64ac3c9eb",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "249",
      "content-type": "application/json",
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ],
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "67f5b558-2213-4b01-9574-30973851542c",
        "payload": {
          "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
          "message": "You are outside the amendment window"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
        "message": "You are outside the amendment window"
      }
    ]
  },
  "details": {
    "scenario": "OUTSIDE_AMENDMENT_WINDOW",
    "workerStatusCode": 207,
    "itemCode": "other-income",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 379
  }
}

Individuals Other Income API POST /hmrc/annual-data returns REQUEST_CANNOT_BE_FULFILLED for the other-income item

HMRC Scenario: REQUEST_CANNOT_BE_FULFILLED. Simulates the scenario where the request cannot be fulfilled.

PASSED
Started 2026-04-27T09:51:23.399649Z Duration 469 ms
  • PASSIndividuals Other Income API item returned the controlled HMRC error REQUEST_CANNOT_BE_FULFILLED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cedac6b4b3477",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "252",
      "content-type": "application/json",
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ],
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "REQUEST_CANNOT_BE_FULFILLED"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 422,
        "correlationId": "4f982210-c56d-46b2-b2b9-82d3341e367c",
        "payload": {
          "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
          "message": "Custom (will vary in production depending on the actual error)"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
        "message": "Custom (will vary in production depending on the actual error)"
      }
    ]
  },
  "details": {
    "scenario": "REQUEST_CANNOT_BE_FULFILLED",
    "workerStatusCode": 207,
    "itemCode": "other-income",
    "itemStatusCode": 422
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 322
  }
}

Individuals Other Income API POST /hmrc/annual-data returns UNALIGNED_CESSATION_TAX_YEAR for the other-income item

HMRC Scenario: UNALIGNED_CESSATION_TAX_YEAR. Simulates the scenario where the cessation tax year is unaligned.

PASSED
Started 2026-04-27T09:51:22.946312Z Duration 450 ms
  • PASSIndividuals Other Income API item returned the controlled HMRC error UNALIGNED_CESSATION_TAX_YEAR.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2ceda99ce73d75",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "253",
      "content-type": "application/json",
      "gov-test-scenario": "UNALIGNED_CESSATION_TAX_YEAR",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ],
      "gov-test-scenario": "UNALIGNED_CESSATION_TAX_YEAR"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "UNALIGNED_CESSATION_TAX_YEAR"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "3b74e96c-ce31-409f-8730-fa4694041207",
        "payload": {
          "code": "RULE_UNALIGNED_CESSATION_TAX_YEAR",
          "message": "The tax year provided must be the same as the tax year of income to be taxed"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_UNALIGNED_CESSATION_TAX_YEAR",
        "message": "The tax year provided must be the same as the tax year of income to be taxed"
      }
    ]
  },
  "details": {
    "scenario": "UNALIGNED_CESSATION_TAX_YEAR",
    "workerStatusCode": 207,
    "itemCode": "other-income",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 304
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}
Individuals Pensions Income APISpecversion 2.0PlayPay uses this API to submit taxable pension income collected in the year-end review.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/pensions-income/{nino}/{taxYear}Tests 3Passed 3

Individuals Pensions Income API POST /hmrc/annual-data returns OUTSIDE_AMENDMENT_WINDOW for the pensions-income item

HMRC Scenario: OUTSIDE_AMENDMENT_WINDOW. Simulates the scenario where the request cannot be completed because it is outside the amendment window.

PASSED
Started 2026-04-27T09:50:21.309854Z Duration 601 ms
  • PASSIndividuals Pensions Income API item returned the controlled HMRC error OUTSIDE_AMENDMENT_WINDOW.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec285860074a",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "684",
      "content-type": "application/json",
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        }
      ],
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "8ab35c7c-826e-47e0-b9f9-b0648eab372b",
        "payload": {
          "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
          "message": "You are outside the amendment window"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
        "message": "You are outside the amendment window"
      }
    ]
  },
  "details": {
    "scenario": "OUTSIDE_AMENDMENT_WINDOW",
    "workerStatusCode": 207,
    "itemCode": "pensions-income",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 460
  }
}

Individuals Pensions Income API POST /hmrc/annual-data returns REQUEST_CANNOT_BE_FULFILLED for the pensions-income item

HMRC Scenario: REQUEST_CANNOT_BE_FULFILLED. Simulates the scenario where the request cannot be fulfilled.

PASSED
Started 2026-04-27T09:50:20.761017Z Duration 546 ms
  • PASSIndividuals Pensions Income API item returned the controlled HMRC error REQUEST_CANNOT_BE_FULFILLED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec24ce7e38c1",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "687",
      "content-type": "application/json",
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        }
      ],
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "REQUEST_CANNOT_BE_FULFILLED"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 422,
        "correlationId": "21a8febf-8fd3-4523-a57e-e34c3143845b",
        "payload": {
          "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
          "message": "Custom (will vary in production depending on the actual error)"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
        "message": "Custom (will vary in production depending on the actual error)"
      }
    ]
  },
  "details": {
    "scenario": "REQUEST_CANNOT_BE_FULFILLED",
    "workerStatusCode": 207,
    "itemCode": "pensions-income",
    "itemStatusCode": 422
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 415
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}
Individuals Reliefs APISpecversion 3.0PlayPay uses this API to submit pension relief details collected in the year-end review.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/{nino}/{taxYear}Tests 2Passed 2

Individuals Reliefs API POST /hmrc/annual-data returns OUTSIDE_AMENDMENT_WINDOW for the pensions-relief item

HMRC Scenario: OUTSIDE_AMENDMENT_WINDOW. Simulates the scenario where the request cannot be completed because it is outside the amendment window.

PASSED
Started 2026-04-27T09:50:21.913843Z Duration 510 ms
  • PASSIndividuals Reliefs API item returned the controlled HMRC error OUTSIDE_AMENDMENT_WINDOW.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec2c089fb119",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "401",
      "content-type": "application/json",
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        }
      ],
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "1448bc9a-a8d7-4ce7-98b9-37136ac6233e",
        "payload": {
          "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
          "message": "You are outside the amendment window"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
        "message": "You are outside the amendment window"
      }
    ]
  },
  "details": {
    "scenario": "OUTSIDE_AMENDMENT_WINDOW",
    "workerStatusCode": 207,
    "itemCode": "pensions-relief",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 374
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}
Individuals Savings Income APISpecversion 2.0PlayPay uses this API to submit savings interest details collected in the year-end review.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/{nino}/{taxYear}Tests 3Passed 3

Individuals Savings Income API POST /hmrc/annual-data returns OUTSIDE_AMENDMENT_WINDOW for the savings-other item

HMRC Scenario: OUTSIDE_AMENDMENT_WINDOW. Simulates the scenario where the request cannot be completed because it is outside the amendment window.

PASSED
Started 2026-04-27T09:50:22.939314Z Duration 620 ms
  • PASSIndividuals Savings Income API item returned the controlled HMRC error OUTSIDE_AMENDMENT_WINDOW.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec327e45b12e",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "454",
      "content-type": "application/json",
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        }
      ],
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "31610e20-ad0b-49ac-b456-680e8aba7f03",
        "payload": {
          "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
          "message": "You are outside the amendment window"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
        "message": "You are outside the amendment window"
      }
    ]
  },
  "details": {
    "scenario": "OUTSIDE_AMENDMENT_WINDOW",
    "workerStatusCode": 207,
    "itemCode": "savings-other",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 484
  }
}

Individuals Savings Income API POST /hmrc/annual-data returns REQUEST_CANNOT_BE_FULFILLED for the savings-other item

HMRC Scenario: REQUEST_CANNOT_BE_FULFILLED. Simulates the scenario where the request cannot be fulfilled.

PASSED
Started 2026-04-27T09:50:22.426990Z Duration 509 ms
  • PASSIndividuals Savings Income API item returned the controlled HMRC error REQUEST_CANNOT_BE_FULFILLED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec2f4e3f2b11",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "457",
      "content-type": "application/json",
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        }
      ],
      "gov-test-scenario": "REQUEST_CANNOT_BE_FULFILLED"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "REQUEST_CANNOT_BE_FULFILLED"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 422,
        "correlationId": "551b5c76-a51b-47cf-a189-504b7d611156",
        "payload": {
          "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
          "message": "Custom (will vary in production depending on the actual error)"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_REQUEST_CANNOT_BE_FULFILLED",
        "message": "Custom (will vary in production depending on the actual error)"
      }
    ]
  },
  "details": {
    "scenario": "REQUEST_CANNOT_BE_FULFILLED",
    "workerStatusCode": 207,
    "itemCode": "savings-other",
    "itemStatusCode": 422
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 373
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}
Individuals State Benefits APISpecversion 2.0PlayPay uses this API to submit taxable state benefits collected in the year-end review.Endpoint: https://test-api.service.hmrc.gov.uk/individuals/state-benefits/{nino}/{taxYear}Tests 6Passed 6

Individuals State Benefits API POST /hmrc/annual-data returns BENEFIT_TYPE_EXISTS for the state-benefits item

HMRC Scenario: BENEFIT_TYPE_EXISTS. Simulates the scenario where the benefit type already exists.

PASSED
Started 2026-04-27T09:50:23.561888Z Duration 501 ms
  • PASSIndividuals State Benefits API item returned the controlled HMRC error BENEFIT_TYPE_EXISTS.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec366b992718",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "277",
      "content-type": "application/json",
      "gov-test-scenario": "BENEFIT_TYPE_EXISTS",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        }
      ],
      "gov-test-scenario": "BENEFIT_TYPE_EXISTS"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "BENEFIT_TYPE_EXISTS"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "d5b25923-bcd7-40d0-9ef3-99ea5080a03d",
        "payload": {
          "code": "RULE_BENEFIT_TYPE_EXISTS",
          "message": "A benefit of this type has already been created"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_BENEFIT_TYPE_EXISTS",
        "message": "A benefit of this type has already been created"
      }
    ]
  },
  "details": {
    "scenario": "BENEFIT_TYPE_EXISTS",
    "workerStatusCode": 207,
    "itemCode": "state-benefits",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 364
  }
}

Individuals State Benefits API POST /hmrc/annual-data returns END_DATE_BEFORE_TAX_YEAR_START for the state-benefits item

HMRC Scenario: END_DATE_BEFORE_TAX_YEAR_START. Simulates the scenario where the benefit end date is before the tax year start.

PASSED
Started 2026-04-27T09:50:24.065063Z Duration 510 ms
  • PASSIndividuals State Benefits API item returned the controlled HMRC error END_DATE_BEFORE_TAX_YEAR_START.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec397c78b3cf",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "288",
      "content-type": "application/json",
      "gov-test-scenario": "END_DATE_BEFORE_TAX_YEAR_START",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        }
      ],
      "gov-test-scenario": "END_DATE_BEFORE_TAX_YEAR_START"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "END_DATE_BEFORE_TAX_YEAR_START"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "cb9a366c-84a8-47e0-b294-e6d11bf89d56",
        "payload": {
          "code": "RULE_END_DATE_BEFORE_TAX_YEAR_START",
          "message": "The end date cannot be before the tax year starts"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_END_DATE_BEFORE_TAX_YEAR_START",
        "message": "The end date cannot be before the tax year starts"
      }
    ]
  },
  "details": {
    "scenario": "END_DATE_BEFORE_TAX_YEAR_START",
    "workerStatusCode": 207,
    "itemCode": "state-benefits",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 379
  }
}

Individuals State Benefits API POST /hmrc/annual-data returns OUTSIDE_AMENDMENT_WINDOW for the state-benefits item

HMRC Scenario: OUTSIDE_AMENDMENT_WINDOW. Simulates the scenario where the request cannot be completed because it is outside the amendment window.

PASSED
Started 2026-04-27T09:50:25.500264Z Duration 406 ms
  • PASSIndividuals State Benefits API item returned the controlled HMRC error OUTSIDE_AMENDMENT_WINDOW.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec426dc7c9eb",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "282",
      "content-type": "application/json",
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        }
      ],
      "gov-test-scenario": "OUTSIDE_AMENDMENT_WINDOW"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "OUTSIDE_AMENDMENT_WINDOW"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "0194b078-1002-49b3-863e-a211ca23795f",
        "payload": {
          "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
          "message": "You are outside the amendment window"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_OUTSIDE_AMENDMENT_WINDOW",
        "message": "You are outside the amendment window"
      }
    ]
  },
  "details": {
    "scenario": "OUTSIDE_AMENDMENT_WINDOW",
    "workerStatusCode": 207,
    "itemCode": "state-benefits",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 274
  }
}

Individuals State Benefits API POST /hmrc/annual-data returns START_DATE_AFTER_TAX_YEAR_END for the state-benefits item

HMRC Scenario: START_DATE_AFTER_TAX_YEAR_END. Simulates the scenario where the benefit start date is after the tax year end.

PASSED
Started 2026-04-27T09:50:24.577392Z Duration 423 ms
  • PASSIndividuals State Benefits API item returned the controlled HMRC error START_DATE_AFTER_TAX_YEAR_END.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec3cbe30b0dd",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "287",
      "content-type": "application/json",
      "gov-test-scenario": "START_DATE_AFTER_TAX_YEAR_END",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        }
      ],
      "gov-test-scenario": "START_DATE_AFTER_TAX_YEAR_END"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "START_DATE_AFTER_TAX_YEAR_END"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "99daec99-c2ad-44c4-833a-6ea181e99884",
        "payload": {
          "code": "RULE_START_DATE_AFTER_TAX_YEAR_END",
          "message": "The start date cannot be later than the tax year end"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_START_DATE_AFTER_TAX_YEAR_END",
        "message": "The start date cannot be later than the tax year end"
      }
    ]
  },
  "details": {
    "scenario": "START_DATE_AFTER_TAX_YEAR_END",
    "workerStatusCode": 207,
    "itemCode": "state-benefits",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 286
  }
}

Individuals State Benefits API POST /hmrc/annual-data returns TAX_YEAR_NOT_ENDED for the state-benefits item

HMRC Scenario: TAX_YEAR_NOT_ENDED. Simulates the scenario where the tax year has not yet ended.

PASSED
Started 2026-04-27T09:50:25.002102Z Duration 494 ms
  • PASSIndividuals State Benefits API item returned the controlled HMRC error TAX_YEAR_NOT_ENDED.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cec3f6af0709a",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "276",
      "content-type": "application/json",
      "gov-test-scenario": "TAX_YEAR_NOT_ENDED",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "items": [
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        }
      ],
      "gov-test-scenario": "TAX_YEAR_NOT_ENDED"
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1",
          "Gov-Test-Scenario": "TAX_YEAR_NOT_ENDED"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 400,
        "correlationId": "ed1f9217-81b1-4220-b376-1078868aa337",
        "payload": {
          "code": "RULE_TAX_YEAR_NOT_ENDED",
          "message": "The specified tax year has not yet ended"
        }
      }
    }
  ],
  "response": {
    "status": 207,
    "payload": [
      {
        "code": "RULE_TAX_YEAR_NOT_ENDED",
        "message": "The specified tax year has not yet ended"
      }
    ]
  },
  "details": {
    "scenario": "TAX_YEAR_NOT_ENDED",
    "workerStatusCode": 207,
    "itemCode": "state-benefits",
    "itemStatusCode": 400
  },
  "status": {
    "scenario": "passed",
    "http": 207,
    "durationMs": 346
  }
}

Multiple Businesses | Extra Info API POST /hmrc/annual-data submits extra info and per-business annual self-employment final values

PASSED
Started 2026-04-27T09:50:02.805153Z Duration 5184 ms
  • PASSAnnual supplemental submission returned 13 item results across 14 Individuals APIs.
  • PASSAll annual supplemental items completed without worker-level failure.
  • PASSSelf-employment annual final values submitted for 2 business(es) via /hmrc/annual-data.
Data
{
  "request": {
    "method": "POST",
    "url": "https://playpay-mtd-auth-worker-dev.playpay.workers.dev/hmrc/annual-data",
    "path": "/hmrc/annual-data",
    "headers": {
      "accept": "application/json",
      "accept-encoding": "gzip, br",
      "authorization": "Bearer eyJhbGciOiJ...K8",
      "cf-connecting-ip": "209.x.x.x",
      "cf-ipcountry": "GB",
      "cf-ray": "9f2cebb4a93aba0d",
      "cf-visitor": "{\"scheme\":\"https\"}",
      "connection": "Keep-Alive",
      "content-length": "4649",
      "content-type": "application/json",
      "host": "playpay-mtd-auth-worker-dev.playpay.workers.dev",
      "user-agent": "Dart/3.9 (dart:io)",
      "x-forwarded-proto": "https",
      "x-playpay-trace": "1",
      "x-real-ip": "209.x.x.x"
    },
    "body": {
      "annualSubmissions": [
        {
          "nino": "WL254177A",
          "businessId": "X4IS27198436836",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        {
          "nino": "WL254177A",
          "businessId": "X1IS73403316474",
          "taxYear": "2025-26",
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        }
      ],
      "items": [
        {
          "code": "high-income-child-benefit-charge",
          "label": "High Income Child Benefit Charge",
          "method": "PUT",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
          "payload": {
            "amountOfChildBenefitReceived": 1111.22,
            "numberOfChildren": 2
          }
        },
        {
          "code": "savings-other",
          "label": "Other savings interest",
          "method": "PUT",
          "path": "/individuals/savings-income/other/WL254177A/2025-26",
          "payload": {
            "securities": {
              "taxTakenOff": 100.12,
              "grossAmount": 1455.23,
              "netAmount": 1355.11
            },
            "foreignInterest": [
              {
                "amountBeforeTax": 1232.67,
                "countryCode": "DEU",
                "taxTakenOff": 12.45,
                "specialWithholdingTax": 14.78,
                "taxableAmount": 1032.67,
                "foreignTaxCreditRelief": true
              }
            ]
          }
        },
        {
          "code": "dividends-uk",
          "label": "UK dividends",
          "method": "PUT",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
          "payload": {
            "ukDividends": 45.67,
            "otherUkDividends": 12.34
          }
        },
        {
          "code": "pensions-income",
          "label": "Taxable pension income",
          "method": "PUT",
          "path": "/individuals/pensions-income/WL254177A/2025-26",
          "payload": {
            "foreignPensions": [
              {
                "countryCode": "FRA",
                "amountBeforeTax": 1999.99,
                "taxTakenOff": 1999.99,
                "specialWithholdingTax": 1999.99,
                "foreignTaxCreditRelief": false,
                "taxableAmount": 1999.99
              }
            ],
            "overseasPensionContributions": [
              {
                "customerReference": "PENSIONINCOME245",
                "exemptEmployersPensionContribs": 1999.99,
                "migrantMemReliefQopsRefNo": "QOPS000000",
                "dblTaxationRelief": 1999.99,
                "dblTaxationCountryCode": "FRA",
                "dblTaxationArticle": "AB3211-1",
                "dblTaxationTreaty": "MUNICH",
                "sf74reference": "SF74-123456"
              }
            ]
          }
        },
        {
          "code": "pensions-relief",
          "label": "Pension relief",
          "method": "PUT",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
          "payload": {
            "pensionReliefs": {
              "regularPensionContributions": 23.45,
              "oneOffPensionContributionsPaid": 0,
              "retirementAnnuityPayments": 0,
              "paymentToEmployersSchemeNoTaxRelief": 0,
              "overseasPensionSchemeContributions": 0
            }
          }
        },
        {
          "code": "employment-income",
          "label": "Employment income",
          "method": "POST",
          "path": "/individuals/employments-income/WL254177A/2025-26",
          "payload": {
            "employerRef": "123/AB56797",
            "employerName": "Employer Name Ltd.",
            "startDate": "2019-01-01",
            "payrollId": "YDIAHPcYFQbOXLCKQ",
            "occupationalPension": false
          }
        },
        {
          "code": "state-benefits",
          "label": "Taxable state benefits",
          "method": "POST",
          "path": "/individuals/state-benefits/WL254177A/2025-26",
          "payload": {
            "benefitType": "incapacityBenefit",
            "startDate": "2020-08-03",
            "endDate": "2020-12-03"
          }
        },
        {
          "code": "marriage-allowance",
          "label": "Marriage Allowance",
          "method": "POST",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A",
          "payload": {
            "spouseOrCivilPartnerNino": "EK905549B",
            "spouseOrCivilPartnerFirstName": "Suite",
            "spouseOrCivilPartnerSurname": "Smoke",
            "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
          }
        },
        {
          "code": "loss-claims",
          "label": "Loss claims",
          "method": "POST",
          "path": "/individuals/losses/WL254177A/loss-claims",
          "payload": {
            "businessId": "X4IS27198436836",
            "typeOfLoss": "self-employment",
            "typeOfClaim": "carry-forward",
            "taxYearClaimedFor": "2025-26"
          }
        },
        {
          "code": "capital-gains-other",
          "label": "Other capital gains",
          "method": "PUT",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
          "payload": {
            "otherGains": [
              {
                "assetType": "other-property",
                "numberOfDisposals": 1,
                "assetDescription": "PlayPay smoke capital gain",
                "companyName": "PlayPay",
                "companyRegistrationNumber": "11111111",
                "acquisitionDate": "2025-04-07",
                "disposalDate": "2025-07-10",
                "disposalProceeds": 150,
                "allowableCosts": 25,
                "gainsWithBadr": 0,
                "gainsWithInv": 0,
                "gainsBeforeLosses": 125,
                "losses": 0,
                "claimOrElectionCodes": [
                  "PRR"
                ],
                "amountOfNetGain": 125,
                "rttTaxPaid": 0
              }
            ]
          }
        },
        {
          "code": "other-expenses",
          "label": "Other expenses",
          "method": "PUT",
          "path": "/individuals/expenses/other/WL254177A/2025-26",
          "payload": {
            "paymentsToTradeUnionsForDeathBenefits": {
              "customerReference": "PLAYPAY OTHER EXPENSES",
              "expenseAmount": 45.67
            }
          }
        },
        {
          "code": "foreign-income",
          "label": "Foreign income",
          "method": "PUT",
          "path": "/individuals/foreign-income/WL254177A/2025-26",
          "payload": {
            "foreignEarnings": {
              "customerReference": "PLAYPAYFOREIGN1",
              "earningsNotTaxableUK": 210
            }
          }
        },
        {
          "code": "other-income",
          "label": "Other income",
          "method": "PUT",
          "path": "/individuals/other-income/WL254177A/2025-26",
          "payload": {
            "businessReceipts": [
              {
                "grossAmount": 199.99,
                "taxYear": "2025-26"
              }
            ]
          }
        }
      ]
    }
  },
  "apiRequests": [
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 12.34,
            "basisAdjustment": 4.56
          },
          "allowances": {
            "annualInvestmentAllowance": 34.56
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X4IS27198436836/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "8c98b324-2346-4f01-867f-7ac96a0aaa27",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.5.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "adjustments": {
            "includedNonTaxableProfits": 17.59,
            "basisAdjustment": 6.66
          },
          "allowances": {
            "annualInvestmentAllowance": 56.06
          },
          "nonFinancials": {
            "businessDetailsChangedRecently": false
          }
        },
        "hmrcApi": {
          "apiName": "SelfEmployment",
          "operation": "PutAnnualSubmission",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.5.0+json",
          "version": "5.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/self-employment-business-api/5.0",
          "pathTemplate": "/individuals/business/self-employment/{nino}/{businessId}/annual/{taxYear}",
          "path": "/individuals/business/self-employment/WL254177A/X1IS73403316474/annual/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "5d59ecbf-6738-49bd-8cb1-b167dc643234",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "amountOfChildBenefitReceived": 1111.22,
          "numberOfChildren": 2
        },
        "hmrcApi": {
          "apiName": "IndividualsCharges",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-charges-api/3.0",
          "pathTemplate": "/individuals/charges/high-income-child-benefit/{nino}/{taxYear}",
          "path": "/individuals/charges/high-income-child-benefit/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/savings-income/other/WL254177A/2025-26",
        "path": "/individuals/savings-income/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "securities": {
            "taxTakenOff": 100.12,
            "grossAmount": 1455.23,
            "netAmount": 1355.11
          },
          "foreignInterest": [
            {
              "amountBeforeTax": 1232.67,
              "countryCode": "DEU",
              "taxTakenOff": 12.45,
              "specialWithholdingTax": 14.78,
              "taxableAmount": 1032.67,
              "foreignTaxCreditRelief": true
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsSavingsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-savings-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/savings-income/other/{nino}/{taxYear}",
          "path": "/individuals/savings-income/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/dividends-income/uk/WL254177A/2025-26",
        "path": "/individuals/dividends-income/uk/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "ukDividends": 45.67,
          "otherUkDividends": 12.34
        },
        "hmrcApi": {
          "apiName": "IndividualsDividendsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-dividends-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/dividends-income/{nino}/{taxYear}",
          "path": "/individuals/dividends-income/uk/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/pensions-income/WL254177A/2025-26",
        "path": "/individuals/pensions-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignPensions": [
            {
              "countryCode": "FRA",
              "amountBeforeTax": 1999.99,
              "taxTakenOff": 1999.99,
              "specialWithholdingTax": 1999.99,
              "foreignTaxCreditRelief": false,
              "taxableAmount": 1999.99
            }
          ],
          "overseasPensionContributions": [
            {
              "customerReference": "PENSIONINCOME245",
              "exemptEmployersPensionContribs": 1999.99,
              "migrantMemReliefQopsRefNo": "QOPS000000",
              "dblTaxationRelief": 1999.99,
              "dblTaxationCountryCode": "FRA",
              "dblTaxationArticle": "AB3211-1",
              "dblTaxationTreaty": "MUNICH",
              "sf74reference": "SF74-123456"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsPensionsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-pensions-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/pensions-income/{nino}/{taxYear}",
          "path": "/individuals/pensions-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/reliefs/pensions/WL254177A/2025-26",
        "path": "/individuals/reliefs/pensions/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "pensionReliefs": {
            "regularPensionContributions": 23.45,
            "oneOffPensionContributionsPaid": 0,
            "retirementAnnuityPayments": 0,
            "paymentToEmployersSchemeNoTaxRelief": 0,
            "overseasPensionSchemeContributions": 0
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsReliefs",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-reliefs-api/3.0/oas/page",
          "pathTemplate": "/individuals/reliefs/pensions/{nino}/{taxYear}",
          "path": "/individuals/reliefs/pensions/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/employments-income/WL254177A/2025-26",
        "path": "/individuals/employments-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "employerRef": "123/AB56797",
          "employerName": "Employer Name Ltd.",
          "startDate": "2019-01-01",
          "payrollId": "YDIAHPcYFQbOXLCKQ",
          "occupationalPension": false
        },
        "hmrcApi": {
          "apiName": "IndividualsEmploymentsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-employments-income-api/2.0",
          "pathTemplate": "/individuals/employments-income/{nino}/{taxYear}",
          "path": "/individuals/employments-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a",
        "payload": {
          "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/state-benefits/WL254177A/2025-26",
        "path": "/individuals/state-benefits/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "benefitType": "incapacityBenefit",
          "startDate": "2020-08-03",
          "endDate": "2020-12-03"
        },
        "hmrcApi": {
          "apiName": "IndividualsStateBenefits",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-state-benefits-api/2.0/oas/page",
          "pathTemplate": "/individuals/state-benefits/{nino}/{taxYear}",
          "path": "/individuals/state-benefits/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200",
        "payload": {
          "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
        }
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disclosures/marriage-allowance/WL254177A",
        "path": "/individuals/disclosures/marriage-allowance/WL254177A",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "spouseOrCivilPartnerNino": "EK905549B",
          "spouseOrCivilPartnerFirstName": "Suite",
          "spouseOrCivilPartnerSurname": "Smoke",
          "spouseOrCivilPartnerDateOfBirth": "1980-01-01"
        },
        "hmrcApi": {
          "apiName": "IndividualsDisclosures",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-disclosures-api/2.0/oas/page",
          "pathTemplate": "/individuals/disclosures/{nino}/{taxYear}",
          "path": "/individuals/disclosures/marriage-allowance/WL254177A"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "POST",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/losses/WL254177A/loss-claims",
        "path": "/individuals/losses/WL254177A/loss-claims",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.6.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessId": "X4IS27198436836",
          "typeOfLoss": "self-employment",
          "typeOfClaim": "carry-forward",
          "taxYearClaimedFor": "2025-26"
        },
        "hmrcApi": {
          "apiName": "IndividualLosses",
          "operation": "SubmitSupplementalItem",
          "method": "POST",
          "acceptHeader": "application/vnd.hmrc.6.0+json",
          "version": "6.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individual-losses-api/6.0/oas/page",
          "pathTemplate": "/individuals/losses/{nino}/loss-claims",
          "path": "/individuals/losses/WL254177A/loss-claims"
        }
      },
      "hmrc-response": {
        "status": 201,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0",
        "payload": {
          "claimId": "QXYZ1234567890D"
        }
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "otherGains": [
            {
              "assetType": "other-property",
              "numberOfDisposals": 1,
              "assetDescription": "PlayPay smoke capital gain",
              "companyName": "PlayPay",
              "companyRegistrationNumber": "11111111",
              "acquisitionDate": "2025-04-07",
              "disposalDate": "2025-07-10",
              "disposalProceeds": 150,
              "allowableCosts": 25,
              "gainsWithBadr": 0,
              "gainsWithInv": 0,
              "gainsBeforeLosses": 125,
              "losses": 0,
              "claimOrElectionCodes": [
                "PRR"
              ],
              "amountOfNetGain": 125,
              "rttTaxPaid": 0
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsCapitalGainsIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-capital-gains-income-api/3.0/oas/page",
          "pathTemplate": "/individuals/disposals-income/other-gains/{nino}/{taxYear}",
          "path": "/individuals/disposals-income/other-gains/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/expenses/other/WL254177A/2025-26",
        "path": "/individuals/expenses/other/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.3.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "paymentsToTradeUnionsForDeathBenefits": {
            "customerReference": "PLAYPAY OTHER EXPENSES",
            "expenseAmount": 45.67
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsExpenses",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.3.0+json",
          "version": "3.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-expenses-api/3.0/oas/page",
          "pathTemplate": "/individuals/expenses/other/{nino}/{taxYear}",
          "path": "/individuals/expenses/other/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 204,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/foreign-income/WL254177A/2025-26",
        "path": "/individuals/foreign-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "foreignEarnings": {
            "customerReference": "PLAYPAYFOREIGN1",
            "earningsNotTaxableUK": 210
          }
        },
        "hmrcApi": {
          "apiName": "IndividualsForeignIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-foreign-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/foreign-income/{nino}/{taxYear}",
          "path": "/individuals/foreign-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a",
        "payload": {}
      }
    },
    {
      "relayed-request": {
        "method": "PUT",
        "url": "https://test-api.service.hmrc.gov.uk/individuals/other-income/WL254177A/2025-26",
        "path": "/individuals/other-income/WL254177A/2025-26",
        "headers": {
          "authorization": "Bearer 403be4fa2d5...c3",
          "accept": "application/vnd.hmrc.2.0+json",
          "content-type": "application/json",
          "gov-client-connection-method": "MOBILE_APP_DIRECT",
          "gov-client-device-id": "playpay-bdd...ce",
          "gov-client-timezone": "UTC+00:00",
          "gov-client-user-ids": "os=playpay-bdd...ke",
          "gov-uk-originator-id": "playpay-bdd...ke",
          "gov-vendor-forwarded": "by=203.x.x.x&for=198.x.x.x",
          "gov-vendor-license-ids": "playpay=hmrc-bdd-sm...se",
          "gov-vendor-product-name": "PlayPay",
          "gov-vendor-public-ip": "198.x.x.x",
          "gov-vendor-version": "playpay=hmrc-bdd-smoke-1"
        },
        "body": {
          "businessReceipts": [
            {
              "grossAmount": 199.99,
              "taxYear": "2025-26"
            }
          ]
        },
        "hmrcApi": {
          "apiName": "IndividualsOtherIncome",
          "operation": "SubmitSupplementalItem",
          "method": "PUT",
          "acceptHeader": "application/vnd.hmrc.2.0+json",
          "version": "2.0",
          "documentationUrl": "https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/individuals-other-income-api/2.0/oas/page",
          "pathTemplate": "/individuals/other-income/{nino}/{taxYear}",
          "path": "/individuals/other-income/WL254177A/2025-26"
        }
      },
      "hmrc-response": {
        "status": 200,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c",
        "payload": {}
      }
    }
  ],
  "response": {
    "status": 200,
    "payload": [
      {},
      {},
      {},
      {},
      {},
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "benefitId": "b1e8057e-fbbc-47a8-a8b4-78d9f015c253"
      },
      {
        "employmentId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c"
      },
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {
        "claimId": "QXYZ1234567890D"
      },
      {},
      {}
    ]
  },
  "details": {
    "annualBusinessCount": 2,
    "annualBusinessIds": [
      "X4IS27198436836",
      "X1IS73403316474"
    ],
    "annualSubmissions": [
      {
        "businessId": "X4IS27198436836",
        "businessLabel": "A"
      },
      {
        "businessId": "X1IS73403316474",
        "businessLabel": "B"
      }
    ],
    "itemCount": 13,
    "failedItemCount": 0,
    "requestedCodes": [
      "high-income-child-benefit-charge",
      "savings-other",
      "dividends-uk",
      "pensions-income",
      "pensions-relief",
      "employment-income",
      "state-benefits",
      "marriage-allowance",
      "loss-claims",
      "capital-gains-other",
      "other-expenses",
      "foreign-income",
      "other-income"
    ],
    "apisCovered": [
      "IndividualLosses",
      "IndividualsCapitalGainsIncome",
      "IndividualsCharges",
      "IndividualsDisclosures",
      "IndividualsDividendsIncome",
      "IndividualsEmploymentsIncome",
      "IndividualsExpenses",
      "IndividualsForeignIncome",
      "IndividualsOtherIncome",
      "IndividualsPensionsIncome",
      "IndividualsReliefs",
      "IndividualsSavingsIncome",
      "IndividualsStateBenefits",
      "SelfEmployment"
    ],
    "itemResults": [
      {
        "code": "high-income-child-benefit-charge",
        "label": "High Income Child Benefit Charge",
        "statusCode": 204,
        "success": true,
        "correlationId": "c0eccec6-bd08-4a5f-a08a-58f80b684a96"
      },
      {
        "code": "savings-other",
        "label": "Other savings interest",
        "statusCode": 200,
        "success": true,
        "correlationId": "e5041f76-d307-4814-b897-3bd462456909"
      },
      {
        "code": "dividends-uk",
        "label": "UK dividends",
        "statusCode": 200,
        "success": true,
        "correlationId": "202db7a5-89c4-4b65-af92-7f3b63821a8f"
      },
      {
        "code": "pensions-income",
        "label": "Taxable pension income",
        "statusCode": 200,
        "success": true,
        "correlationId": "0a537f07-4f37-4a26-9f66-052c311776a5"
      },
      {
        "code": "pensions-relief",
        "label": "Pension relief",
        "statusCode": 204,
        "success": true,
        "correlationId": "80695189-6ef0-4852-86ff-ac53592b161d"
      },
      {
        "code": "employment-income",
        "label": "Employment income",
        "statusCode": 200,
        "success": true,
        "correlationId": "b594138f-a78f-4803-a4e1-cd5773217a4a"
      },
      {
        "code": "state-benefits",
        "label": "Taxable state benefits",
        "statusCode": 200,
        "success": true,
        "correlationId": "553a27cf-97ee-4599-809e-13073d059200"
      },
      {
        "code": "marriage-allowance",
        "label": "Marriage Allowance",
        "statusCode": 201,
        "success": true,
        "correlationId": "a6681fe2-c354-4660-8291-440bbd0f6614"
      },
      {
        "code": "loss-claims",
        "label": "Loss claims",
        "statusCode": 201,
        "success": true,
        "correlationId": "674186bf-8ee8-46c1-a5bb-de844539a8a0"
      },
      {
        "code": "capital-gains-other",
        "label": "Other capital gains",
        "statusCode": 204,
        "success": true,
        "correlationId": "0ddea930-3ee0-4bf4-a781-40e0f68fc38d"
      },
      {
        "code": "other-expenses",
        "label": "Other expenses",
        "statusCode": 204,
        "success": true,
        "correlationId": "c04d75d5-8ecc-4780-8b95-6d0610c23213"
      },
      {
        "code": "foreign-income",
        "label": "Foreign income",
        "statusCode": 200,
        "success": true,
        "correlationId": "2168a52a-abc7-4abb-8e95-47b7612caf8a"
      },
      {
        "code": "other-income",
        "label": "Other income",
        "statusCode": 200,
        "success": true,
        "correlationId": "c39f724d-8086-42ab-a068-dfd5a7f0eb1c"
      }
    ]
  },
  "status": {
    "scenario": "passed",
    "http": 200,
    "durationMs": 5037
  }
}