Mobile Linking
App Link / Universal Link association files and the OAuth callback fallback
iOS Universal Links association file
GET /.well-known/apple-app-site-association
Declares that the iOS app may handle /mobile/oauth2/callback on this host (Universal Links). Served as application/json without a file extension. Team ID below is synthetic.
Responses
| Status | Description |
|---|---|
| 200 | Apple App Site Association document |
Example request
curl -X GET "https://kworia.com/.well-known/apple-app-site-association" \
-H "Authorization: Bearer {{access_token}}" \
-H "X-Organization-Id: {{organization_id}}" \
-H "Accept: application/json"
Android App Links association file
GET /.well-known/assetlinks.json
Declares that the Android app (com.encryptinvoice.mobile) may handle HTTPS links on this host — required so /mobile/oauth2/callback opens in the app. Values come from per-environment config; fingerprints below are synthetic.
Responses
| Status | Description |
|---|---|
| 200 | Asset links statement list |
Example request
curl -X GET "https://kworia.com/.well-known/assetlinks.json" \
-H "Authorization: Bearer {{access_token}}" \
-H "X-Organization-Id: {{organization_id}}" \
-H "Accept: application/json"
Browser fallback page for the mobile OAuth callback
GET /mobile/oauth2/callback
Requires authentication (Bearer token) and the X-Organization-Id header.
On-device this HTTPS URL is claimed by the app (App Link / Universal Link) and never reaches the server. When opened in a plain browser (desktop, or link not claimed), this page forwards the OAuth response query string to the app's custom scheme (com.encryptinvoice.mobile://oauth2redirect).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
code |
query | string | no | Authorization code from /oauth/authorize. |
state |
query | string | no |
Responses
| Status | Description |
|---|---|
| 200 | HTML page that immediately bounces to the custom scheme with the same query string. |
Example request
curl -X GET "https://kworia.com/mobile/oauth2/callback" \
-H "Authorization: Bearer {{access_token}}" \
-H "X-Organization-Id: {{organization_id}}" \
-H "Accept: application/json"