Skip to content

docs(UPIIS-47): serve UPI Issuance images from CDN + tighten API field validation#447

Merged
Anindya-Pandey merged 3 commits into
stagingfrom
UPIIS-47-cdn-image-refs
Jul 19, 2026
Merged

docs(UPIIS-47): serve UPI Issuance images from CDN + tighten API field validation#447
Anindya-Pandey merged 3 commits into
stagingfrom
UPIIS-47-cdn-image-refs

Conversation

@Anindya-Pandey

Copy link
Copy Markdown

What

Fixes broken images in the UPI Issuance docs and tightens field-validation
detail in the API tables.

Images

The UPI Issuance pages referenced diagrams by local path
(<img src="/upi-issuance/onboarding-flow.png">). Those paths only resolve in
the docs-mdx preview app — on the published docs site they render as broken
images.

Uploaded the five diagrams to the assets bucket following the folder structure
in the README, and repointed all 7 refs at the CDN:

Image URL
onboarding-flow.png https://docs-assets.setu.co/latest/payments/upi-issuance/onboarding-flow.png
device-change-flow.png .../payments/upi-issuance/device-change-flow.png
vpa-activation.png .../payments/upi-issuance/vpa-activation.png
user-activation.png .../payments/upi-issuance/user-activation.png
device-binding.png .../payments/upi-issuance/device-binding.png

All five verified live — HTTP 200, Content-Type: image/png, byte sizes
match the source files.

Validation docs

user-otp.mdx and device-binding.mdx tables now carry explicit field
constraints instead of prose — mobile as 12 digits (^[0-9]{12}$), otp as
6 digits (^[0-9]{6}$), vpa as prefix@handle (max 255), deviceId and
idempotencyKey length caps — and the invalid-request rows say what actually
fails validation.

Testing

  • curl against each CDN URL → 200 image/png, sizes match source
  • No local src="/upi-issuance/..." refs remain in content/

Notes for reviewers

  • Assets went to docs-mdx-assets, but the README documents the bucket as
    strapi-assets. The CDN serves from docs-mdx-assets, so the README name
    looks stale — worth a follow-up fix so the next person isn't sent to the
    wrong bucket.
  • Existing assets in the bucket use a flat legacy Strapi layout
    (latest/<Asset_Name>/<Asset_Name>.png). This PR follows the documented
    convention instead (mirroring the /content folder structure), which is what
    the README prescribes.

Anindya Pandey and others added 3 commits July 17, 2026 17:28
- swap 7 local img srcs to docs-assets CDN
- add field constraints/regex to user-otp & device-binding tables

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add the create-VPA `vpa-account-mismatch` (409) error and a note that
re-linking a VPA to a different account requires an explicit deregister
first (Setu never silently re-points an active VPA at a different
account). Finish documenting the inline field-validation rules (formats,
lengths, patterns, enums) across the onboarding, program and
payee-blocklist API references, mirrored in the OpenAPI spec.
The API envelope now carries clientId and sig on every request. Document the
signing steps (sig = base64(HMAC-SHA256(clientSecret, plaintext body))), add the
fields to the request format and the Python reference implementation, and update
the quickstart credentials + authentication sections. A missing or invalid
signature is rejected 401 invalid-signature.

Closes UPIIS-53
@github-actions

Copy link
Copy Markdown

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) page

Checklist

  • Review changes using the MDX preview option
  • If the length of content >15000 chars, use the Content preview portal to view changes
  • If a redirect is needed to the existing page, add a key, value pair in redirects.json

Edit an existing API reference page

Checklist


Add a new content (MDX) page

Checklist

  • Create a .mdx file with the path as its name in the content folder
  • Add frontmatter with all the metadata
  • Review the order of items in Sidebar using the Sidebar preview option
  • Review changes using the MDX preview option
  • If the length of content >15000 chars, use the Content preview portal to view changes
  • Created a folder with the same name, if any children were to be added to the page
  • Once all changes are done, update the menu items by using the Menu Items option
  • Add a key, and value pair in redirects.json if you wish to have a redirect to the new page

Add a new API reference page

Checklist

  • Create a .json file with the product path as its name
  • Create an api-reference.mdx file in the respective product folder inside content folder
  • Add frontmatter with all the metadata
  • Review the order of items in Sidebar using the Sidebar preview option
  • Add API reference in JSON format (OpenAPI or Swagger) into created .json file.
  • Used the Content preview portal to view changes
  • Once all changes are done, update the menu items by using the Menu Items option

@Anindya-Pandey
Anindya-Pandey merged commit 168642f into staging Jul 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants