canonical: https://jentic.com/apis/amazonaws.com/amazon-mobile-analytics

# AWS Amazon Mobile Analytics

Jentic publishes the only available OpenAPI specification for Amazon Mobile Analytics, keeping it validated and agent-ready. Amazon Mobile Analytics is a lightweight event-collection endpoint for mobile applications - apps batch user events on the device and POST them to a single PutEvents endpoint with a per-call x-amz-Client-Context header that identifies the app, version and device. AWS has since folded this surface into Amazon Pinpoint, but the legacy ingest endpoint remains callable for apps that have not yet migrated.

## For AI agents

Submit batched mobile event records (sessions, screen views, custom events) for a registered application to the legacy Amazon Mobile Analytics ingest endpoint.

## Scope

Does not handle event querying, dashboards, segmentation, or message campaigns - use for fire-and-forget ingest of mobile event batches only.

## Capabilities

- Submit a batch of mobile app events (session start, session stop, custom events) in a single PutEvents call
- Attach per-batch client context (appId, appVersion, locale, platform) via the x-amz-Client-Context header
- Stamp every event with a session id, start and stop timestamps, and arbitrary string and metric attributes
- Stream high-volume mobile telemetry from devices with a single fire-and-forget POST per batch
- Sign batched event ingest with AWS SigV4 so device-side credentials remain scoped to the analytics action only

## Use cases

### Ingest Batched Mobile App Events

Mobile clients buffer events on-device and need a single low-latency endpoint to flush them to AWS. PutEvents accepts an array of event objects with timestamps, attributes and metrics, plus a base64-encoded x-amz-Client-Context header that identifies the app version and platform. The endpoint is fire-and-forget and is designed for high-volume, lossy mobile traffic - useful for legacy apps still pointing at the Mobile Analytics ingest URL.

Example prompt: Build a PutEvents payload with eventType=_session.start, timestamp=now, and a base64-encoded x-amz-Client-Context header, then POST it to /2014-06-05/events

### Migrate Legacy Apps Off Mobile Analytics

AWS has folded Mobile Analytics into Amazon Pinpoint. Teams running older app versions still call the legacy endpoint, and need a way to detect, capture and re-route those events. An agent can wrap the existing PutEvents endpoint, log incoming batches for audit, and replay the same event shape into Pinpoint Events to support a phased migration without forcing an immediate client update.

Example prompt: Read a PutEvents batch from a queue, transform each event to the Pinpoint Events shape, and call the Pinpoint PutEvents operation with the same eventType and attributes

### Validate Mobile Telemetry SigV4 Signatures

Because PutEvents is the only call in the surface, it is a good test bed for verifying SigV4 signing flows for mobile clients before rolling them out to busier services. An agent can construct a signed request, send a small synthetic batch, and use the success/failure response to confirm IAM permissions and clock-skew handling for a target region.

Example prompt: Sign a synthetic PutEvents batch with SigV4 for region us-east-1, send it, and assert the response is 202 Accepted

### AI Agent Integration for Legacy Mobile Telemetry

Through Jentic, an agent can call Mobile Analytics' PutEvents endpoint without manually constructing the x-amz-Client-Context header or handling SigV4 signing. Jentic resolves the intent 'submit mobile analytics events', loads the schema for the single PutEvents operation and brokers AWS credentials, so legacy mobile telemetry can be replayed or tested by an LLM agent in a single tool call.

Example prompt: Resolve the intent 'submit mobile analytics events' via Jentic search, load the PutEvents schema, and execute it with an event batch and a base64-encoded client context

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /2014-06-05/events#x-amz-Client-Context | Submit a batch of mobile app events with client context |

## Key resources

- **Events** — Submit a batch of mobile app events via the single PutEvents endpoint

## Why Jentic

- **Setup:** Wiring Amazon Mobile Analytics by hand means implementing Signature Version 4 signing, resolving the regional mobileanalytics host, and assembling the x-amz-Client-Context header layout yourself. Through Jentic you install once, import Mobile Analytics from the API Directory, store the AWS keys once, and your agent calls it.
- **Permission scoping:** Mobile Analytics exposes a single PutEvents operation where the event batch travels in the request body, so scope the agent to that one ingest operation. You choose the operations it may call, so nothing beyond event submission is included unless you add it.
- **Credential handling:** Your AWS access keys are stored once, encrypted, by your own Jentic One instance and each request is signed with Signature Version 4 at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'submit mobile analytics events', and Jentic returns the single PutEvents operation with its input schema and required header layout, so the agent submits a batch without browsing the reference docs.

## Related APIs

- **Amazon Pinpoint Email** — Pinpoint is the successor that absorbs Mobile Analytics event ingest into a richer engagement platform
- **Amazon EventBridge** — EventBridge can fan out post-processed mobile events to downstream consumers and analytics pipelines
- **Amazon Cognito Identity** — Cognito provides federated identity tokens that mobile clients exchange for the temporary credentials used to call PutEvents

## FAQ

### Why is there no official OpenAPI spec for Amazon Mobile Analytics?

AWS does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Amazon Mobile Analytics via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Amazon Mobile Analytics API use?

The PutEvents endpoint is signed with AWS Signature Version 4 using an access key ID and secret access key scoped by IAM. Through Jentic, those AWS credentials sit in your Jentic One instance and are used to sign requests on the agent's behalf - the raw access key never enters the agent's context.

### Can I submit multiple events in a single Mobile Analytics call?

Yes. PutEvents accepts a JSON array of event objects in a single request, each with its own eventType, timestamp, session block, and attributes/metrics maps. Mobile SDKs typically buffer events and flush them in batches of tens or hundreds per call.

### What is the x-amz-Client-Context header for?

Mobile Analytics requires a base64-encoded JSON header named x-amz-Client-Context describing the app (appId, appTitle, appVersionName, appVersionCode), client (clientId), and environment (platform, locale, model). Without it, PutEvents rejects the batch - the events themselves do not carry the app identity.

### How do I send events to Mobile Analytics through Jentic?

Use the Jentic search query 'submit mobile analytics events', load the PutEvents operation schema, and execute it with your event array and a base64-encoded x-amz-Client-Context. Jentic signs the request with SigV4 against your stored AWS credentials so the agent does not need to handle signing directly.

### Should new apps be using Mobile Analytics or Pinpoint?

AWS positions Amazon Pinpoint as the successor for mobile event analytics. Treat Mobile Analytics as a legacy ingest path for apps already shipping with the older endpoint, and use the Pinpoint APIs in the Jentic API Directory for new instrumentation.

### Can I limit what my agent is allowed to do with the Amazon Mobile Analytics API?

Yes. Amazon Mobile Analytics exposes a single PutEvents ingest operation, and because Jentic One is self-hosted your own rules decide which operations and credentials the agent may use. You can scope the agent to that one PutEvents call so it can only submit event batches and nothing else is available unless you add it. Your AWS keys stay in your own instance and are used to sign each request, so the agent never handles the raw credentials directly.
