# Apsio - [Apsio](https://docs.apsio.io/index.md): Know why your app crashed, froze or felt slow. - [Quickstart for iOS](https://docs.apsio.io/quickstart.md): From an app key to your first crash in an iOS or iPadOS app, then symbols for the builds you ship. - [iOS and iPadOS](https://docs.apsio.io/sdks/ios.md): Install the Apsio SDK in an iOS or iPadOS app, iOS 15 and later. - [Android](https://docs.apsio.io/sdks/android.md): The Apsio SDK for Android apps, Android 7.0 (API 24) and later. Coming soon. - [React Native](https://docs.apsio.io/sdks/react-native.md): The Apsio SDK for React Native apps, a thin layer over the iOS and Android SDKs. Coming soon. - [Send OTLP directly](https://docs.apsio.io/send-otlp.md): Send telemetry to Apsio from any OpenTelemetry SDK or collector, without an Apsio SDK. - [Sessions and release health](https://docs.apsio.io/concepts/sessions.md): What a session is, how it ends, and how crash-free sessions and users are counted per release. - [Crashes and issues](https://docs.apsio.io/concepts/issues.md): What Apsio records when an app fails, and how occurrences are grouped into issues. - [Symbols and dSYMs](https://docs.apsio.io/concepts/symbols.md): How Apsio turns the addresses in a crash into function names, files and lines, retraces Android stacks with R8 mappings and symbolicates NDK libraries. - [Sampling](https://docs.apsio.io/concepts/sampling.md): Keep the detail of a share of sessions while crashes, errors and release health stay complete. - [Privacy and consent](https://docs.apsio.io/concepts/privacy.md): What the SDK sends, what stays on the phone, the installation id, consent and App Store privacy labels. - [Remote configuration](https://docs.apsio.io/remote-configuration.md): Change sampling, capture and masking for an app without a release, and stop collection in an incident. - [Upload dSYMs](https://docs.apsio.io/symbols/upload.md): Upload an iOS app's dSYMs with the apsio CLI so its crashes show function names, files and lines. - [Xcode build phase](https://docs.apsio.io/symbols/xcode.md): Upload a build's dSYMs from a Run Script build phase, every time Xcode builds the app. - [Symbols in CI](https://docs.apsio.io/symbols/ci.md): Upload dSYMs from a CI job with an upload token in APSIO_TOKEN. - [Upload R8 mappings](https://docs.apsio.io/symbols/android.md): Upload an Android build's R8 mapping with the apsio CLI so its crashes show the original classes, methods, files and lines. - [Upload NDK symbols](https://docs.apsio.io/symbols/android-ndk.md): Upload an Android build's native libraries with debug information so its native crashes show functions, files and lines. - [Upload React Native source maps](https://docs.apsio.io/symbols/react-native.md): Upload a React Native bundle's source map with the apsio CLI so JavaScript crashes and errors show your functions, files and lines. - [The apsio CLI](https://docs.apsio.io/cli.md): Install the apsio command-line tool, read issues, sessions and releases, and upload symbols from a terminal or CI. - [Read API](https://docs.apsio.io/read-api.md): Read release health, issues, sessions, vitals and cohorts over HTTP. - [List your projects](https://docs.apsio.io/api-reference/list-your-projects.md): The projects the credentials can read: a project token's one project, or every project of the organizations a signed-in user belongs to, with their apps. - [A read-only token for the public sandbox](https://docs.apsio.io/api-reference/a-read-only-token-for-the-public-sandbox.md): A project token for the public sandbox (the Apsio Sandbox organization and its example project, synthetic data), without an account. It reads that one project through the read endpoints and nothing else; every write route refuses it. Short-lived and rate-limited per client. Send `Apsio-Sandbox: 1`. - [Release health](https://docs.apsio.io/api-reference/release-health.md): Sessions, crashes and users per app and release, for sessions that started in the time range (default: the last 7 days). Newest release activity first. - [Release health per day](https://docs.apsio.io/api-reference/release-health-per-day.md): Sessions, crashes and users per UTC day of session start, across releases or for one release. Every day of the range is listed, days without sessions with zero counts and null rates. Without `from`, the range starts at midnight UTC 13 days before `to` (default: now), so there are 14 days; the last d… - [Compare two releases](https://docs.apsio.io/api-reference/compare-two-releases.md): Release `a` (the baseline) and release `b` of one app over the same time range (default: the last 30 days): crash-free sessions and users, adoption, the change from `a` to `b`, and the issues with occurrences in `b` and none in `a` in that range, most users first. - [Missing symbols of a release](https://docs.apsio.io/api-reference/missing-symbols-of-a-release.md): The in-app images that events of this release referenced and for which no debug file was uploaded to the project: an Apple binary without its dSYM (upload with `apsio upload dsyms`), an Android build whose stack shows R8 names without its mapping (`apsio upload mappings`), an Android native library… - [List issues](https://docs.apsio.io/api-reference/list-issues.md): Crashes, handled errors, ANRs, hangs and abnormal exits grouped into issues, with counts for the time range (default: the last 7 days). - [Get an issue](https://docs.apsio.io/api-reference/get-an-issue.md): An issue with its latest occurrence (symbolicated stack, raw stack and binary images), the breadcrumbs before it in the same session, and the releases and devices it affects, over the time range (default: the last 90 days). - [Search sessions](https://docs.apsio.io/api-reference/search-sessions.md): Sessions that started in the time range (default: the last 7 days, at most 30), newest first, filtered by app, release, outcome, device model, OS version, errors or issue. Open one with the session timeline. - [Get a session timeline](https://docs.apsio.io/api-reference/get-a-session-timeline.md): A session's summary and its logs and spans, oldest first. Page through long sessions with the cursor; the summary comes with every page. - [Vitals per release](https://docs.apsio.io/api-reference/vitals-per-release.md): App start (cold, warm, hot) and screen load (TTID, TTFD) percentiles, and hang and ANR session rates, per app and release, for the time range (default: the last 7 days, at most 30). The 20 releases with the most sessions. - [Compare a cohort with the rest](https://docs.apsio.io/api-reference/compare-a-cohort-with-the-rest.md): The sessions that match the cohort filters, against every other session of the same app (or project) that started in the time range (default: the last 7 days, at most 30). For each dimension, the values most over-represented in the cohort, ranked by the difference in share. At least one cohort filte… - [App start](https://docs.apsio.io/api-reference/app-start.md): App start (the app.start span, spec 8.1) by start type, broken down by release, OS version, device model or iOS prewarming: percentiles and a histogram per group, the 20 groups with the most starts per app and type. Default range: the last 7 days, at most 30. - [Screens](https://docs.apsio.io/api-reference/screens.md): Screen loads per app and screen (the app.screen.load span, spec 8.1): TTID and TTFD percentiles, sessions, and the hangs and ANRs that happened on the screen. Default range: the last 7 days, at most 30. - [One screen](https://docs.apsio.io/api-reference/one-screen.md): One screen of one app: TTID and TTFD percentiles and histogram, per release and per UTC day, and its 20 slowest loads with their sessions. The screen is a query parameter because names are the app's own text. - [Hangs and ANRs](https://docs.apsio.io/api-reference/hangs-and-anrs.md): Hang (iOS) and ANR (Android) session rates per release and per UTC day of session start, the screens they happened on (the last screen loaded before each occurrence), and the distribution of hang durations (apsio.hang.duration, iOS). The issues themselves: /issues?kind=hang or kind=anr. Default rang… - [One metric over time or releases](https://docs.apsio.io/api-reference/one-metric-over-time-or-releases.md): One performance metric of one app per UTC day (every day of the range listed) or per release (the 10 with the most measurements, oldest first): cold start p90, screen TTID p90 (all screens), network p90, the network error rate (5xx and transport failures), and the hang or ANR session rate. - [MetricKit histograms](https://docs.apsio.io/api-reference/metrickit-histograms.md): MetricKit's daily histograms of one iOS app (spec 7; D14, D49), for example time_to_first_draw: the points of each release added up bucket by bucket. MetricKit reports every user's day, not a sample, and its points carry no session. Points with other bucket bounds than the release's most common ones… - [Network endpoints](https://docs.apsio.io/api-reference/network-endpoints.md): HTTP requests the apps made (spec 8.4), grouped by app, method, host and endpoint template: estimated requests, error rates and latency percentiles, with the totals of every request in the range. Default range: the last 7 days, at most 30. - [One endpoint](https://docs.apsio.io/api-reference/one-endpoint.md): One endpoint of one app: rates and a latency histogram, the statuses and error types, per UTC day and per release, and sample requests (the slowest and the latest failures) with their sessions and a link to each trace in the APM. The endpoint is given in the query because templates contain slashes.… - [A trace](https://docs.apsio.io/api-reference/a-trace.md): The device spans of one trace (W3C trace id, D37) in the time range (default: the last 30 days, at most 30), oldest first, at most 500, with a link to the same trace in the APM. Backend spans are not stored in v0. - [Start signing in or signing up on the hosted page](https://docs.apsio.io/api-reference/start-signing-in-or-signing-up-on-the-hosted-page.md) - [Finish signing in: set the session and return to the console](https://docs.apsio.io/api-reference/finish-signing-in:-set-the-session-and-return-to-the-console.md) - [Sign out](https://docs.apsio.io/api-reference/sign-out.md) - [The signed-in user and their organizations](https://docs.apsio.io/api-reference/the-signed-in-user-and-their-organizations.md) - [Update your name or language](https://docs.apsio.io/api-reference/update-your-name-or-language.md) - [Create an organization on a 14-day trial (sign-up)](https://docs.apsio.io/api-reference/create-an-organization-on-a-14-day-trial-sign-up.md) - [An organization, with its plan, trial and your role](https://docs.apsio.io/api-reference/an-organization-with-its-plan-trial-and-your-role.md) - [Rename an organization](https://docs.apsio.io/api-reference/rename-an-organization.md) - [Members and their roles](https://docs.apsio.io/api-reference/members-and-their-roles.md) - [The audit log, newest first](https://docs.apsio.io/api-reference/the-audit-log-newest-first.md) - [This billing period's captured sessions and data, against the plan](https://docs.apsio.io/api-reference/this-billing-periods-captured-sessions-and-data-against-the-plan.md): Read live from the usage rollups as the organization itself (D57). `cap` is where detail capture stops (`hard` on the trial and Solo, `spend` for a Pro spend cap); `capped` says it has. Crashes, errors and session summaries are never capped. - [Set or clear the spend cap (Pro, owners)](https://docs.apsio.io/api-reference/set-or-clear-the-spend-cap-pro-owners.md): The most a billing period may cost, in US cents, the plan price included; null clears it. Detail capture stops when usage reaches it, and resumes at once when it is raised. - [The subscription, currency and invoices](https://docs.apsio.io/api-reference/the-subscription-currency-and-invoices.md) - [Start collecting a payment method (owners)](https://docs.apsio.io/api-reference/start-collecting-a-payment-method-owners.md): Returns a SetupIntent's client secret for Stripe's Payment Element; the card's issuing country then decides the currency (BRL in Brazil, USD elsewhere). - [The currency a confirmed payment method bills in (owners)](https://docs.apsio.io/api-reference/the-currency-a-confirmed-payment-method-bills-in-owners.md): BRL for a card issued in Brazil, Pix or boleto (then the CPF or CNPJ and the address are required to subscribe); USD otherwise. - [Subscribe to Solo or Pro, monthly or yearly (owners)](https://docs.apsio.io/api-reference/subscribe-to-solo-or-pro-monthly-or-yearly-owners.md): With the payment method the SetupIntent collected. Paying in BRL needs the CPF or CNPJ and the billing address. `action_client_secret` is set when the first payment needs the customer (3-D Secure). - [Open Stripe's billing portal (owners)](https://docs.apsio.io/api-reference/open-stripes-billing-portal-owners.md): Payment methods, invoices and cancelling. It returns to the organization in the console. - [Apply for the Solo plan, or answer staff asking for more (owner, on the trial)](https://docs.apsio.io/api-reference/apply-for-the-solo-plan-or-answer-staff-asking-for-more-owner-on-the-trial.md) - [The organization's latest Solo application, with staff's message if any](https://docs.apsio.io/api-reference/the-organizations-latest-solo-application-with-staffs-message-if-any.md) - [Create a project](https://docs.apsio.io/api-reference/create-a-project.md) - [Projects of an organization](https://docs.apsio.io/api-reference/projects-of-an-organization.md) - [Set a project's APM link](https://docs.apsio.io/api-reference/set-a-projects-apm-link.md): The link from each network request to the same trace in your APM (D37): an https URL with a {trace_id} placeholder, for example https://app.datadoghq.com/apm/trace/{trace_id}. Null clears it. Owners and admins; audited. - [Create an app for one platform, with its first key](https://docs.apsio.io/api-reference/create-an-app-for-one-platform-with-its-first-key.md) - [A project's apps with their keys](https://docs.apsio.io/api-reference/a-projects-apps-with-their-keys.md) - [Rotate: add a key; previous keys keep working unless `revoke_previous`](https://docs.apsio.io/api-reference/rotate:-add-a-key;-previous-keys-keep-working-unless-`revoke_previous`.md) - [Revoke a key: ingest refuses it within about two minutes](https://docs.apsio.io/api-reference/revoke-a-key:-ingest-refuses-it-within-about-two-minutes.md) - [Invite someone by email; the link expires in 7 days](https://docs.apsio.io/api-reference/invite-someone-by-email;-the-link-expires-in-7-days.md) - [Pending invitations](https://docs.apsio.io/api-reference/pending-invitations.md) - [Withdraw a pending invitation](https://docs.apsio.io/api-reference/withdraw-a-pending-invitation.md) - [Accept an invitation with the email's token, as the invited address](https://docs.apsio.io/api-reference/accept-an-invitation-with-the-emails-token-as-the-invited-address.md) - [Agents](https://docs.apsio.io/agents.md): How coding agents and scripts read Apsio today, with the apsio CLI, skills, the read API and the MCP server, and what is coming for them. - [Pricing](https://docs.apsio.io/pricing.md): Plans, what a captured session is, and what each plan keeps. - [Privacy and security](https://docs.apsio.io/privacy-and-security.md): What Apsio collects, where it is stored, how tenants are kept apart, and how keys and tokens work. ## OpenAPI Specs - [openapi](/api-reference/openapi.json) ## Optional - [Specification](https://spec.apsio.io/v0.1/) - [apsio.io](https://apsio.io) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.