# AppBarn Documentation > AppBarn documentation for retaining, finding, sharing and installing mobile builds with browser, CLI, CI and the supported API. AppBarn retains IPA, APK and AAB artifacts outside CI. A ready Build keeps its identity, SHA-256, provenance and release notes. Original artifacts are immutable; re-signed Builds retain source lineage. **Hierarchy:** Workspace → Project → App → Environment → Build. A Free Workspace starts with a Project, App and production Environment. API and CLI identifiers are UUIDs, not display names. **Upload:** Use the browser while signed in, or the official `appbarn-cli` on Node.js 22+. The CLI runs locally and in GitHub Actions, GitLab CI, Azure Pipelines, Bitrise and Codemagic; Fastlane and Jenkins can also invoke it. **Automation:** Set the App and Environment UUIDs and supply the scoped Automation Token only via `APPBARN_TOKEN` or a CI secret. Only the five operations in the linked OpenAPI are supported externally. **Sharing:** A revocable Share Link or QR code grants seven-day access to one ready Build without a recipient account. Build Tester assignments require sign-in. Links are bearer secrets; downloaded files cannot be recalled. **Installation:** Android can install downloaded APKs subject to device policy; AAB is download-only. iPhone OTA needs an eligible signed IPA, provisioning and device approval; the Install button does not guarantee success. **Limits:** Individual uploads cannot exceed 2 GiB. Automatic email delivery of no-account Share Links and stable latest-approved-Build links are not supported currently. Read Pricing and the limits reference for quotas. Use the linked Markdown pages for full instructions, examples and errors. This index provides useful context and discovery, not duplicated full guides. ## API contract - [OpenAPI](https://docs.app-barn.com/openapi.yaml): Supported external Automation Token API, schemas and errors. ## CI - [Azure Pipelines](https://docs.app-barn.com/ci/azure-pipelines.md): Store APPBARNTOKEN as a secret pipeline variable and run the CLI after producing the artifact. - [Bitrise](https://docs.app-barn.com/ci/bitrise.md): Add a Script step after the build/export step. Store APPBARNTOKEN as a protected Secret and IDs as normal environment variables. - [Codemagic](https://docs.app-barn.com/ci/codemagic.md): Store APPBARNTOKEN in a protected Codemagic variable group and run the CLI after the artifact is produced. - [GitHub Actions](https://docs.app-barn.com/ci/github-actions.md): Use the AppBarn CLI in a job after producing the mobile artifact. - [GitLab CI](https://docs.app-barn.com/ci/gitlab-ci.md): Store APPBARNTOKEN as a masked/protected CI variable and upload after the build job creates the artifact. - [Use AppBarn with your build pipeline](https://docs.app-barn.com/ci/index.md): Run appbarn upload after your pipeline exports an IPA, APK or AAB. The same CLI works in Fastlane lanes, Jenkins pipelines and the CI services below. You do not need a provider-specific AppBarn plugin. ## CLI - [Work with builds](https://docs.app-barn.com/cli/builds.md): List and download ready Builds with the CLI. - [Configure the CLI](https://docs.app-barn.com/cli/configure.md): Store non-secret defaults with appbarn config; keep the bearer token only in the environment. - [CLI errors](https://docs.app-barn.com/cli/errors.md): The CLI prints safe error text to stderr and exits non-zero. API failures retain the stable API code and server request ID; never paste bearer tokens into support logs. - [CLI](https://docs.app-barn.com/cli/index.md): The AppBarn CLI uses the same API for local and CI workflows. - [Install the CLI](https://docs.app-barn.com/cli/install.md): Install the published npm package. Do not substitute an unofficial binary or curl | sh installer. - [Re-sign a build](https://docs.app-barn.com/cli/resign.md): Re-signing runs on your machine. AppBarn never receives signing keys or passwords. - [Upload a build](https://docs.app-barn.com/cli/upload.md): Upload an .ipa, .apk or .aab to one App and Environment. ## Concepts - [Access](https://docs.app-barn.com/concepts/access.md): AppBarn separates Workspace membership from scoped capabilities. - [Builds](https://docs.app-barn.com/concepts/builds.md): A Build is an immutable mobile artifact record tied to one App and Environment. - [Hierarchy](https://docs.app-barn.com/concepts/hierarchy.md): AppBarn uses one containment hierarchy: - [Concepts](https://docs.app-barn.com/concepts/index.md): Required pages/sections: - Workspace → Project → App → Environment → Build. - Build vs artifact. - immutable metadata and mutable release notes. - Owner / Project Admin / App Admin / Developer / Tester. - Automation Token scope. - Share Lin - [Provenance](https://docs.app-barn.com/concepts/provenance.md): AppBarn records where an upload came from without making CI metadata authoritative. - [Sharing](https://docs.app-barn.com/concepts/sharing.md): AppBarn has two ways to give someone access to a ready Build. ## Installation and sharing - [Delete a build](https://docs.app-barn.com/guides/delete-build.md): Delete retained artifact bytes deliberately; AppBarn does not cascade them from parent deletion. - [Guides](https://docs.app-barn.com/guides/index.md): - Received a link? Share and install a build. - Using an iPhone? Install an IPA. - Using Android? Install an APK. - Managing people? Give a tester signed-in access. - Using a historical build? Re-sign locally. - Cleaning up? Delete a build. - [Install a shared build on Android](https://docs.app-barn.com/guides/install-android.md): AppBarn provides APK downloads for Android installation. An AAB is download-only and cannot be installed directly by tapping it. - [Install a shared build on iPhone](https://docs.app-barn.com/guides/install-ios.md): An iPhone can offer over-the-air installation of an eligible IPA. The AppBarn Install button starts Apple's installation process. It does not guarantee success. - [Re-sign a retained build](https://docs.app-barn.com/guides/resign.md): Create a derived build without uploading signing credentials to AppBarn. - [Share and install a build](https://docs.app-barn.com/guides/share-install.md): Send a ready Build without requiring the recipient to create an AppBarn account. A Share Link grants anyone holding it access to one Build. - [Give a tester access](https://docs.app-barn.com/guides/tester-access.md): Use Build Tester grants for authenticated ongoing access. For one-off no-login access, send a seven-day Share Link instead. A tester invitation is not a public Share Link. ## Start here - [AppBarn](https://docs.app-barn.com/index.md): Upload, keep and share mobile builds. Follow a guide yourself or copy a prompt into an AI coding assistant. - [Quick start](https://docs.app-barn.com/quickstart.md): Retain an IPA, APK or AAB outside CI. Choose either upload path; both create the same immutable Build in AppBarn. ## Reference - [API errors and pagination](https://docs.app-barn.com/reference/api-errors-pagination.md): AppBarn API errors, response formats, Workspace context and pagination. - [External API](https://docs.app-barn.com/reference/api.md): Supported AppBarn Automation Token API for build upload, listing, metadata and short-lived artifact download URLs. - [Artifacts and limits](https://docs.app-barn.com/reference/artifacts-limits.md): Supported artifact types: IPA, APK and AAB. - [Automation Tokens](https://docs.app-barn.com/reference/automation-tokens.md): Automation Tokens are bearer credentials for CLI/CI use. They are separate from browser Auth0 sessions. - [Environment variables](https://docs.app-barn.com/reference/environment-variables.md): | Variable | Purpose | |---|---| | APPBARNTOKEN | Automation Token bearer credential | | APPBARNSIGNINGPASSWORD | local Android keystore or P12 password | | APPBARNKEYPASSWORD | optional Android key password | - [Environments](https://docs.app-barn.com/reference/environments.md): An Environment is a named release lane under one App, for example staging or production. - [Reference](https://docs.app-barn.com/reference/index.md): Required reference: - supported artifact types and 2 GiB limit. - Environment rules. - Automation Token scope/expiry. - Share Link expiry/access semantics. - common API conventions/errors/pagination. - CLI environment variables/config prece - [Installability](https://docs.app-barn.com/reference/installability.md): Installability is AppBarn's indication of whether it can offer an install action. It is not proof that the device can install the file. - [Provenance reference](https://docs.app-barn.com/reference/provenance.md): local, githubactions, gitlabci, azurepipelines, bitrise, codemagic. ## Troubleshooting - [Android installation troubleshooting](https://docs.app-barn.com/troubleshooting/android-install.md): AppBarn downloads APK files; Android decides whether installation is allowed. An AAB is not directly installable. - [Authentication and token troubleshooting](https://docs.app-barn.com/troubleshooting/auth-token.md): The bearer credential is missing, malformed, expired, revoked or no longer accepted. Replace it with a current Automation Token; do not retry indefinitely. - [Troubleshooting](https://docs.app-barn.com/troubleshooting/index.md): Start with the task that failed: - [iOS installation troubleshooting](https://docs.app-barn.com/troubleshooting/ios-install.md): AppBarn shows Install only when a ready IPA is marked eligible and its stored provisioning profile expiry is in the future. That check does not prove iPhone installation will succeed. - [Share-link troubleshooting](https://docs.app-barn.com/troubleshooting/share-link.md): The Share Link may be invalid, revoked, expired, or its Build may no longer be ready. A secret cannot be recovered from storage because AppBarn keeps only its hash; create a new link if still authorized. - [Signing troubleshooting](https://docs.app-barn.com/troubleshooting/signing.md): Re-signing is local. AppBarn does not receive signing material. - [Upload troubleshooting](https://docs.app-barn.com/troubleshooting/upload.md): Confirm the file is IPA/APK/AAB, non-empty, no larger than 2 GiB and has coherent platform/installability metadata.