Skip to content
AW
ArchWalk 360/Developer Docs

GET STARTED

  • Overview
  • Quickstart
  • Partner integration

GUIDES

  • Embedded Creator
  • Media
  • Capture guide
  • Viewer

REFERENCE

  • Authentication
  • API Reference
  • Errors & troubleshooting

Errors & troubleshooting

Understand errors, limits, responsibilities, and common integration failures.

Debugging a partner-hosted panorama? Start with external media troubleshooting.

21. Errors

Typical JSON:

json
{
  "detail": {
    "code": "archwalk_360_invalid_credential",
    "message": "Invalid or expired API credential."
  }
}

FastAPI wraps the object as detail. Some errors add fields (required_scope, current_draft_revision, retry_after_seconds, used, limit, metric).

HTTPTypical codesMeaning
401archwalk_360_invalid_credentialMissing/wrong/revoked/expired API key (generic)
401archwalk_360_invalid_creator_sessionBad Creator token
401archwalk_360_invalid_media_challengeBad browser-check challenge
403archwalk_360_credential_missing_scopeMissing scope (required_scope set)
403live-state codesIntegration disabled, entitlement off, origin mismatch
404archwalk_360_experience_not_found, archwalk_360_public_*Missing or unpublished public document
409stale draft, archived, deletion requested, allowanceConflict; read current draft_revision / limits
422validation / publish preconditionsFix body or media
429archwalk_360_rate_limitedSee retry_after_seconds and Retry-After

Credential failures are deliberately generic. Do not probe for which part of the token was wrong.



23. Rate limits

These are operational defaults, not a contractual SLA. They can be reconfigured per environment.

BucketDefaultHeader / body
Partner API per credential120 / 60s429, Retry-After, retry_after_seconds
Creator session HTTP per session240 / 60ssame
External-media validations10 / 60ssame
Viewer usage ingest per public_id120 / 60ssame

Public Viewer payload GET is not Partner-API rate-limited.

Honor Retry-After. Do not spin.



24. Usage and plan limits

Organization allowances (enforced at new growth boundaries):

  • Integrations
  • Experiences
  • Panoramas
  • Managed storage bytes

Semantics: null = unlimited; 0 = no new growth; positive = hard cap.

Lowering a cap below current usage does not unpublish or delete existing Experiences. It blocks creating/uploading more.

External media does not consume managed-storage bytes.

Limit errors are 409 with used, limit, and metric.



25. Responsibilities

Partner

  • Protect the API key; keep it server-side
  • Authenticate your own users before minting Creator sessions
  • Supply stable external ids
  • Configure exact allowed origins
  • Own external-media availability, CORS, and CDN when using external mode
  • Honor rate limits and draft-revision concurrency

ArchWalk

  • Validate credentials and scopes
  • Bind Creator sessions to origin/resource/Integration
  • Host managed media
  • Validate external references (SSRF-safe probe + browser attestation)
  • Host Viewer and Creator runtimes
  • Control public publication state

This is technical guidance, not a legal contract.



26. Troubleshooting

ProblemWhat to check
401 invalid credentialBearer format aw360_sk_…; key rotated; extra whitespace
403 missing scopeCredential scopes vs route table
403 Integration / entitlementArchWalk 360 enabled; Integration not disabled
404 ExperienceWrong Integration key; pending deletion
409 stale draftRe-GET and send current draft_revision
409 allowanceCap reached; external media does not free managed storage
429Back off retry_after_seconds
Creator iframe blank / “Open this Creator from your connected platform”Must be framed; origin allowlisted; wait for ready-for-init
Creator “couldn't be loaded” after handshakeArchWalk app origin (localhost vs 127.0.0.1) must match API CORS frontend_origin; session token valid
Creator wrong originSession origin must equal parent page origin
Viewer refuses framingAdd exact parent origin; CSP frame-ancestors
Upload validation failMIME, 2:1, size, PUT headers including If-None-Match: *
Will not publishOne starting Panorama; all healthy; media policy; ready validation
Viewer shows old imageryDraft changed but not published; republish
Unpublished Viewerpublication_status is unpublished — expected

PreviousAPI Reference