TRVLSPORT Developers
Only the current contract is available.

Contract v1 · generated reference

SupportDataPort.getMyRequest

OP-SUPPORTDATA-GET-MY-REQUEST is a firestore rules or callable operation owned by Support.

Back to the complete API catalogue

Authority and transport

Actor
signed-in requester or anonymous privacy requester with a recovery capability
Authentication
Firebase session or reference plus recovery code
Authorization
requester-only Security Rules or constant-time recovery-capability verification
Resource boundary
server-derived requester or privacy recovery digest
Transport
FIRESTORE_RULES_OR_CALLABLE
Deployed export
supportSubmitPrivacyRequest
App Check
REQUIRED_FOR_RECOVERY_CALLABLE
Canonical source
packages/backend/src/support.ts

Request schema

Request parameters for SupportDataPort.getMyRequest
FieldRequiredSchema
idYesstring
recoveryCodeNostring

Response schema

Promise<SupportRequest | null>

States, consistency and recovery

State path
IDLE → LOADING → CURRENT_OR_EMPTY → PARTIAL_OR_STALE → AUTHENTICATION_OR_AUTHORIZATION_REQUIRED → UNAVAILABLE_OR_OFFLINE → RATE_LIMITED → SERVER_ERROR → RETRYING → RECOVERY_COMPLETE → NOT_FOUND
Reads
authoritative adapter read
Writes
none
Transaction
requester read under Security Rules or recovery lookup in the Support callable
Idempotency
not applicable
Concurrency
read-only snapshot
Retry/replay
safe bounded retry
Rate limits
The typed port does not ratify a public numeric quota; enforcement may be stricter. Honor RATE_LIMITED and any retry-after value returned by the server.
Audit
privacy-safe request/failure telemetry

Error contract

BackendErrorCode is the shared adapter envelope; source does not declare that every code is reachable from this method. Never treat an unknown error as success.

  • UNAUTHENTICATED
  • PERMISSION_DENIED
  • NOT_FOUND
  • CONFLICT
  • UNAVAILABLE
  • INVALID_ARGUMENT
  • NOT_IMPLEMENTED
  • RATE_LIMITED
  • EXPIRED
  • STEP_UP_REQUIRED
  • COMMERCIAL_AUTHORITY_PENDING

Producer test references

Evidence tier: SEMANTIC_CORE_REFERENCE.

Reviewer-mapped semantic/core references

  • packages/backend-firebase/test/operation-contracts.test.mjs
  • functions/test/support-service.test.js

Protocol or inventory references

  • functions/test/emulator/support-handler.test.js
  • functions/test/support-wrapper-appcheck.test.js
  • functions/test/support-wrapper-invalid-appcheck.test.js
  • packages/backend-firebase/test/operation-contract-detector.mjs

These references prove export, wrapper or protocol behavior only. They are not counted as complete operation semantics.

Example availability

UNRESOLVED_WIRE_SCHEMA: The typed port signature does not prove the deployed callable's exact req.data wire object; publish an example only after producer schema evidence closes that mapping.

Common integration contract

Sandbox and Production are isolated

Run examples only in a governed sandbox or local emulator. Sandbox identities, App Check tokens, payment fixtures and data do not grant Production access. The typed ports do not ratify a public numeric quota; enforcement may be stricter. Honor RATE_LIMITED and the server's retry-after value.

Authentication and authorization

Firebase Auth proves identity. App Check proves the approved app where a callable requires it. Roles, organization membership, requester identity and resource ownership are derived and rechecked by the server.

Authentication guide

Errors and recovery

Stable error codes distinguish validation, denial, conflict, expiry, authority pending, rate limiting and temporary unavailability. Never infer success from an HTTP redirect or a browser state.

Error catalogue

Idempotency, concurrency and retry

Reuse an idempotency key only for an identical retry. A new intent needs a new key. Preserve version preconditions and reload after a conflict.

Retry guidance

Changes and escalation

Check compatibility before adopting a new contract version. Review the changelog, service status and support guidance before retrying a persistent failure.

Common failure families
FamilyClient decision
Authentication / authorizationRefresh or step up only when instructed; do not retry a denial unchanged.
Validation / conflict / expiryCorrect or reload state, then obtain confirmation for a new intent.
Rate limited / unavailableHonor retry-after and use bounded backoff; inspect service status.
Unknown / serverFail closed and escalate with a privacy-safe correlation id.

Executable network examples are published only when the exact wire schema is producer-proven. Check the selected operation's example-availability status; an unresolved schema is a release blocker, not permission to guess.

Verified examples and local-only recovery snippets