Skip to content

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"

We use cookies and privacy-respecting analytics

We use essential cookies for authentication and privacy-respecting analytics (self-hosted, respects Do Not Track). No advertising or third-party tracking. Learn more in our Privacy Policy