Experience Platform
API Reference

API Reference

All endpoints are served from the Experience Service at https://experience.shellapps.com.

Authentication

All API endpoints require authentication:

  • Ingest endpoints (/api/v1/events/ingest, /api/v1/errors/ingest): App API key via X-API-Key header
  • Dashboard/management endpoints: Bearer token via Authorization header (validated against auth.shellapps.com)
  • SDK resolve endpoints (/api/v1/flags/resolve, /api/v1/translations): App API key OR Bearer token

App Registration

MethodPathAuthDescription
POST/api/v1/apps/registerBearerRegister app, get API key
GET/api/v1/appsBearerList registered apps
GET/api/v1/apps/:idBearerApp detail
POST/api/v1/apps/:id/rotate-keyBearerRotate API key

Register an App

curl -X POST https://experience.shellapps.com/api/v1/apps/register \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "My App"}'
 
# Response: { "appId": "abc123", "apiKey": "exp_xxxxxxxxxxxx" }

Events

MethodPathAuthDescription
POST/api/v1/events/ingestAPI KeyIngest protobuf EventBatch
POST/api/v1/events/ingest/jsonAPI KeyIngest JSON events (debug)
GET/api/v1/events/queryBearerQuery events with filters
GET/api/v1/events/aggregateBearerAggregated analytics
GET/api/v1/events/sessions/:sessionIdBearerFull session event stream
GET/api/v1/events/heatmapBearerHeatmap data for a page

See Event Tracking for details on the tracking system and Data Models for protobuf schemas.


Errors

MethodPathAuthDescription
POST/api/v1/errors/ingestAPI KeyIngest protobuf ErrorBatch
POST/api/v1/errors/ingest/jsonAPI KeyIngest JSON errors (debug)
GET/api/v1/errorsBearerList error groups
GET/api/v1/errors/:idBearerError group detail
PUT/api/v1/errors/:idBearerUpdate status
POST/api/v1/errors/:id/commentBearerAdd team comment
GET/api/v1/errors/statsBearerError rate stats

See Error Monitoring for details on error capture, grouping, and the crash UI.


Feature Flags

MethodPathAuthDescription
POST/api/v1/flagsBearerCreate flag
GET/api/v1/flagsBearerList flags for app
GET/api/v1/flags/:idBearerFlag detail + rules
PUT/api/v1/flags/:idBearerUpdate flag
DELETE/api/v1/flags/:idBearerDelete flag
POST/api/v1/flags/:id/rulesBearerAdd rule
PUT/api/v1/flags/:id/rules/:ruleIdBearerUpdate rule
DELETE/api/v1/flags/:id/rules/:ruleIdBearerDelete rule
GET/api/v1/flags/:appId/resolveAPI Key/BearerGet resolved flags for profile
GET/api/v1/flags/:appId/resolve/streamAPI KeySSE stream for real-time updates

See Feature Flags for rule evaluation, rollouts, and experiments.

Experiments

MethodPathAuthDescription
POST/api/v1/experimentsBearerCreate experiment
GET/api/v1/experiments/:idBearerExperiment detail
GET/api/v1/experiments/:id/resultsBearerExperiment results + stats

Translations

MethodPathAuthDescription
POST/api/v1/translations/webhookWebhook SecretGitHub webhook receiver
POST/api/v1/translations/:appId/uploadBearerManual string upload
GET/api/v1/translations/:appId/:localeAPI Key/BearerGet translations for locale
GET/api/v1/translations/:appId/localesAPI Key/BearerList available locales
PUT/api/v1/translations/:appId/:locale/:keyBearerOverride a translation
POST/api/v1/translations/:appId/configureBearerSet target languages
GET/api/v1/translations/:appId/statusBearerTranslation progress
GET/api/v1/translations/:appId/recommendBearerRecommended languages

See Translations for the full translation management flow and GitHub integration.


Feedback

MethodPathAuthDescription
POST/api/v1/feedbackAPI Key/BearerSubmit feedback
GET/api/v1/feedbackBearerList feedback for app
GET/api/v1/feedback/:idBearerFeedback detail + thread
POST/api/v1/feedback/:id/replyBearerReply to feedback
PUT/api/v1/feedback/:id/statusBearerUpdate status
PUT/api/v1/feedback/:id/tagsBearerUpdate tags
POST/api/v1/feedback/:id/upvoteAPI Key/BearerUpvote feature request
GET/api/v1/feedback/statsBearerFeedback volume stats

See User Feedback for the feedback widget, dashboard, and thread system.


Themes

MethodPathAuthDescription
POST/api/v1/themesBearerCreate theme
GET/api/v1/themesBearerList user's themes
GET/api/v1/themes/storeBearerBrowse public theme store
GET/api/v1/themes/:idAPI Key/BearerGet theme definition
PUT/api/v1/themes/:idBearerUpdate theme
POST/api/v1/themes/:id/publishBearerPublish to store
POST/api/v1/themes/:id/installBearerInstall theme
POST/api/v1/themes/:id/rateBearerRate theme

See Theming for the theme builder and theme store.


App Analysis

MethodPathAuthDescription
POST/api/v1/analysis/scanBearerTrigger automated scan
GET/api/v1/analysis/scansBearerList scans
GET/api/v1/analysis/scans/:idBearerScan results
POST/api/v1/analysis/profileBearerCreate manual app profile
GET/api/v1/analysis/profilesBearerList app profiles
GET/api/v1/analysis/compareBearerCompare apps
POST/api/v1/analysis/pricing-suggestBearerAI pricing recommendations

See App Analysis for automated and manual analysis modes.


© 2026 Shell Technology. All rights reserved.