← SWIFT: banking support and project decisions
08 / 10 · 60 MIN

Workshop: RMA, caching, and operational escalation

Interpret query responses without confusing API access, RMA relationship, and financial outcome; prepare an operational decision in English.

Separate operational questions

A team may have API access, obtain a relationship response, and still lack evidence of a payment outcome. These are different questions. The exercise classifies invented responses using names documented in RMA reference 1.0.0. HTTP 200 with NOT-AUTHORIZED means the query produced a negative relationship result; it is not evidence of HTTP transport failure. An access error likewise does not establish relationship revocation. Keep these dimensions separate when designing the dashboard. Local names RELATION_REPORTED_AUTHORIZED and API_OBSERVATION_FAILED are DR teaching decisions, not additional Swift API fields.

State when an observation is missing

The model classifies 401, 403, 429, and 503 as failed observations, requiring investigation appropriate to each error. It converts none of those codes into relationship authorization or denial. A 200 response without usable status receives the local INCOMPLETE_OBSERVATION classification. For a negative response, this consumer also requires a recognized reason. That last requirement is an exercise acceptance rule; it is not presented as a required field in the official schema. In production, align the consumer contract with the applicable version and define incomplete-response handling. Recording uncertainty avoids fabricating a conclusion merely to simplify reporting.

Build a cache with explicit scope

The fixture stores environment, issuer, correspondent, service, message type, and observation time. Swapping party order changes the request; a key that merely alphabetizes two identifiers loses that direction. A Pilot response also does not establish Live state. The five-unit TTL is invented to test a boundary: observed at 100, the entry is usable at 104 and unusable at 105. Cache expiry does not mean relationship expiry. Refreshing only its timestamp would fabricate freshness. A real policy must balance evidence validity, capacity, contracted limits, and behaviour during unavailability.

Qualify environment and credentials

The RMA guide describes a sandbox with static responses, useful for learning requests and responses. This establishes neither the intended actual relationship nor readiness in Pilot or Live. Do not generalize this property to every Swift sandbox. The authentication guide distinguishes Pilot scope swift.rma.api!p from Live scope swift.rma.api. A token valid for one scope does not remove other access conditions. Description 1.0.0 also contains a Pilot-specific traffic detail where no RMA record exists; do not use that observation to infer Live authorization. In the PM plan, separate local development, service qualification, and operational activation.

Produce diagnostics and communicate in English

X-Request-ID helps locate the API query; it does not replace the UETR associated with a payment. Keeping environment, operation, time, HTTP result, and sanitized diagnostics supports incident routing without sharing tokens. In the workshop below, the team encounters a scope error near an internal deadline. Its summary should state that the query failed and relationship state was not observed in this run. Assign different owners where access, reference data, and functional state require different teams. Include impact, next update, and required evidence. Avoid claiming all relationships were revoked because of an HTTP authorization error.

Repeat the rehearsal and record limits

First run unchanged fixtures and compare outcomes with the report. Then change one key dimension, produce an incomplete result, and present a negative response with HTTP 200. Predict each classification before execution. The thirty-five checks exercise the complete local model, including the previous lesson’s deltas. There is no API call, actual authentication, directory query, or message submission. The forty-five-minute workshop supports decision and handover practice; participation can only be recorded for a session actually conducted. External approval, contracted access, or operational acceptance needs separate evidence and is not awarded by completing this course.

DR original workshop / Oficina original DR: 45 minutes
Synthetic data only. No Swift API call, credentials or real messages.
Apenas dados sintéticos. Sem chamada API Swift, credenciais ou mensagens reais.

0-10 min: Classify / Classificar
HTTP 200, authorization_status=NOT-AUTHORIZED, reason=REVOKED
The query returned a negative relationship observation.
A consulta devolveu uma observação negativa sobre a relação.
HTTP 403: API observation failed; relationship state remains unobserved.
HTTP 403: observação falhada; estado da relação não observado.

10-20 min: Scope and freshness / Âmbito e atualidade
Cache: PILOT, A -> B, DR-SERVICE, DR-TYPE-1, observed_at=100.
Request: LIVE, B -> A, DR-SERVICE, DR-TYPE-2, now=104.
Reject reuse: environment, direction and message differ.
Recusar reutilização: ambiente, direção e mensagem são diferentes.
For matching scope with fictional TTL=5: now=105 is expired.
Com âmbito igual e TTL fictício de 5: now=105 já expirou.

20-35 min: English decision note / Resumo de decisão em inglês
Observed: access scope error; no current relationship result from this run.
Impact: the dependent readiness decision remains pending.
Action: assign API access investigation and authorized relationship lookup.
Evidence: environment, operation, time, request ID, sanitized diagnostics.
Next update: choose a specific time and accountable owner.
Do not attach tokens or claim payment settlement.
Não anexar tokens nem afirmar liquidação de pagamentos.

35-45 min: Handover / Passagem à operação
Another participant reproduces the model and explains missing evidence.
Outro participante reproduz o modelo e explica a evidência em falta.
Solo practice records self-review, not independent operational acceptance.
Prática individual regista autoavaliação, não aceitação operacional independente.
Deliver code hash, synthetic inputs, expected/actual results and open questions.
Entregar hash do código, dados sintéticos, resultados esperados/observados e questões abertas.
IN PRACTICE

Case: a cache reuses A→B in Pilot for B→A in Live. A valid Live token does not repair the association; obtain an observation for the correct scope.

Common pitfalls

HTTP 200 as universal authorization; 403 as revocation; expired cache as expired relationship; a static response as Live qualification.

Related topics: Identifiers, relationships, and reference data · States, reconciliation, and recovery without duplication · Continuity and operational handover

Take this idea with you

Interpret the response in the correct environment, direction, service, type, and time; communicate observations and unknowns without inferring settlement.

Create account

Reference: Relationship Management API reference 1.0.0 · BigSavant Swift knowledge assessment2026.10; independent professional curriculum

SWIFT® is a registered trademark of S.W.I.F.T. SC. bigsavant.com is an independent preparation platform and is not affiliated with, associated with, sponsored, authorised or endorsed by Swift. Content and questions are original, are not official exam questions, and completing our tests does not award or guarantee any certification. Names are used only to identify the subject. All other trademarks belong to their respective owners.