docs(UPIIS-47): document alias, param defaults, otpRequired semantics#448
Merged
Merged
Conversation
Align the UPI Issuance docs and OpenAPI reference with the service's actual
behaviour, so clients don't hit surprises the docs never described.
- alias: add to the user object and the UserView schema (plus the four inline
response examples). It ships in binding-status and otp/verify responses today
but was documented nowhere. The set-alias endpoint stays undocumented for now.
- Defaults: state them for the optional params that omitted them —
otpRequired/defaultDebit/defaultCredit default to false, an omitted programId
creates the VPA without a program, and update-program keeps omitted fields
unchanged.
- otpRequired: the docs read as if Setu enforced the OS pairing. It isn't
validated against os — the flow follows whatever is sent. Reframed as the
value Setu expects the TPAP / Issuing App to send, per current understanding,
with a new "Choosing the otpRequired value" section.
- VPA prefix: corrected from "must start with the subscriber's mobile" to the
user's alias, which defaults to the mobile — the old wording is wrong for any
user with a custom alias.
- Voice: second person -> TPAP / Issuing App across all pages, matching the
convention used elsewhere in these docs.
- Samples: VPA suffix alice -> acme, since the suffix is a program code
("Acme Wallet" / ACME is the program example already used).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Checklist to merge a PR 🚀To merge this pull request, please take time to complete the checklist. What action did you perform?Review the corresponding checklist items for the action you performed and mark them done. Edit an existing content (MDX) pageChecklist
Edit an existing API reference pageChecklist
Add a new content (MDX) pageChecklist
Add a new API reference pageChecklist
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Aligns the UPI Issuance docs and OpenAPI reference with the service's actual
behaviour. Each item below is something a client would have hit in practice
that the docs either omitted or described wrongly.
aliasis now documentedaliasships inbinding-statusandotp/verifyresponses today, but appearednowhere in the docs or the API reference — so the reference disagreed with what
clients actually receive.
Added to the shared user object table and the
UserViewschema, plus thefour inline response examples.
Defaults for optional params
Optional params that silently defaulted now say so:
otpRequired(create-vpa)falsedefaultDebit/defaultCreditfalseprogramIdotpRequiredreframedThe docs read as though Setu enforced the OS pairing ("This is OS-dependent").
It isn't —
otpRequiredis passed straight through and is never validatedagainst
os. The flow follows whatever is sent.Reframed as the value Setu expects the TPAP / Issuing App to send, hedged as
per current understanding, with a new "Choosing the otpRequired value"
section carrying the expectation table.
VPA prefix accuracy fix
Corrected in 8 places across the 4 VPA endpoints:
alias— by default, theuser's mobile number."
The old wording is simply wrong for any user with a custom alias. This matches
the service spec: "Its prefix must start with the user's alias (which defaults
to their mobile)."
Voice and samples
the convention already used elsewhere in these docs. Also removed a stray
first-person "so we can authenticate".
alice→acme, since the suffix is a program code and"Acme Wallet" /
ACMEis already the program example in these docs. A person'sname there was misleading.
accountName: "Alice Doe"left as-is — a person's name is correct for theaccount holder.
Verified
spec/tpapapi/,internal/pkg/onboarding/) rather than inferred from the existing docs.200locally against this branch's content.trailing newline) so the diff is content-only.
set-alias/setAliasreference anywhere in docs or spec.Note for reviewers
The spec diff looks large (86 lines) but ~38 of those are the mechanical
alice@setu→acme@setuexample swap. The structural change is just thealiasproperty plus its examples.