aid: ios name: iOS description: >- iOS is Apple's mobile operating system and the developer platform behind iPhone apps. While the bulk of the iOS SDK is delivered as Swift / Objective-C client frameworks (UIKit, SwiftUI, MapKit, HealthKit, HomeKit, SiriKit, StoreKit, AppIntents, PassKit, WidgetKit, ActivityKit), Apple also exposes a substantial set of server-side HTTPS APIs that iOS developers, publishers, and back-end systems consume directly. This repository indexes that server-side surface — App Store Connect API, App Store Server API, App Store Server Notifications, Apple Push Notification service (APNs), DeviceCheck / App Attest, Sign in with Apple, Apple Music API, the Wallet / PassKit Web Service contract, and related developer infrastructure — and points to the matching OpenAPI artifacts where Apple publishes them. type: Index position: Consumer access: 3rd-Party image: https://kinlane-productions.s3.amazonaws.com/apis-json/apis-json-logo.jpg tags: - iOS - Apple - Mobile - App Store - Push Notifications - In-App Purchases - Subscriptions - Authentication - Wallet - Developer Platform url: https://raw.githubusercontent.com/api-evangelist/ios/refs/heads/main/apis.yml created: '2026-05-11' modified: '2026-05-23' specificationVersion: '0.19' apis: - aid: ios:app-store-connect-api name: App Store Connect API description: >- "This standards-based REST API lets you automate tasks across developer tools, such as App Store Connect, Xcode, and Certificates, Identifiers & Profiles, to give you greater flexibility and efficiency in your workflows." The App Store Connect API is the primary REST surface Apple provides to iOS publishers — covering app metadata, builds, TestFlight, in-app purchases and subscriptions, pricing and availability, Game Center, Xcode Cloud, provisioning, analytics, and sales / financial / power-and- performance reports. Authentication uses JSON Web Tokens (JWT) signed with an API key created in App Store Connect. Apple publishes an official OpenAPI 3.0 specification as a downloadable ZIP from the App Store Connect API landing page. humanURL: https://developer.apple.com/app-store-connect/api/ baseURL: https://api.appstoreconnect.apple.com tags: - App Store Connect - App Store - TestFlight - In-App Purchases - Subscriptions - Game Center - Xcode Cloud - Provisioning - Reporting properties: - type: Documentation url: https://developer.apple.com/documentation/appstoreconnectapi - type: APIReference url: https://developer.apple.com/documentation/appstoreconnectapi - type: OpenAPI url: https://raw.githubusercontent.com/api-evangelist/ios/main/openapi/app-store-connect-openapi.json - type: GettingStarted url: https://developer.apple.com/documentation/appstoreconnectapi/creating-api-keys-for-app-store-connect-api - type: Authentication url: https://developer.apple.com/documentation/appstoreconnectapi/generating-tokens-for-api-requests - type: ReleaseNotes url: https://developer.apple.com/documentation/appstoreconnectapi/app-store-connect-api-release-notes - type: SDK name: app-store-server-library-swift url: https://github.com/apple/app-store-server-library-swift - type: SDK name: app-store-server-library-java url: https://github.com/apple/app-store-server-library-java - type: SDK name: app-store-server-library-python url: https://github.com/apple/app-store-server-library-python - type: SDK name: app-store-server-library-node url: https://github.com/apple/app-store-server-library-node - aid: ios:app-store-server-api name: App Store Server API description: >- The App Store Server API is the server-to-server REST API for managing App Store transactions — looking up transaction history, fetching all subscription statuses for a customer, requesting test notifications, and issuing refunds. It pairs with StoreKit on the device and with App Store Server Notifications v2 for asynchronous state changes. Authentication is JWT (ES256) signed with a key created in App Store Connect; payloads and responses are JWS-signed JSON. humanURL: https://developer.apple.com/documentation/appstoreserverapi baseURL: https://api.storekit.itunes.apple.com tags: - In-App Purchases - Subscriptions - Receipts - Refunds - StoreKit properties: - type: Documentation url: https://developer.apple.com/documentation/appstoreserverapi - type: APIReference url: https://developer.apple.com/documentation/appstoreserverapi - type: Sandbox url: https://api.storekit-sandbox.itunes.apple.com - type: SDK name: app-store-server-library-swift url: https://github.com/apple/app-store-server-library-swift - type: SDK name: app-store-server-library-java url: https://github.com/apple/app-store-server-library-java - type: SDK name: app-store-server-library-python url: https://github.com/apple/app-store-server-library-python - type: SDK name: app-store-server-library-node url: https://github.com/apple/app-store-server-library-node - aid: ios:app-store-server-notifications name: App Store Server Notifications description: >- App Store Server Notifications v2 is Apple's webhook surface for in-app purchase and subscription lifecycle events — SUBSCRIBED, DID_RENEW, EXPIRED, REFUND, GRACE_PERIOD_EXPIRED, REVOKE, CONSUMPTION_REQUEST and related notification types. Providers register a production URL and a sandbox URL in App Store Connect; payloads are signed JWS (JSON Web Signatures) wrapping the transaction and renewal-info objects. humanURL: https://developer.apple.com/documentation/appstoreservernotifications tags: - Webhooks - Subscriptions - In-App Purchases - Events - JWS properties: - type: Documentation url: https://developer.apple.com/documentation/appstoreservernotifications - type: APIReference url: https://developer.apple.com/documentation/appstoreservernotifications - type: AsyncAPI url: https://raw.githubusercontent.com/api-evangelist/ios/main/asyncapi/app-store-server-notifications-asyncapi.yml - aid: ios:apns name: Apple Push Notification Service (APNs) description: >- The Apple Push Notification service (APNs) is the HTTP/2 + JSON push delivery surface for sending remote notifications, background updates, VoIP pushes, and Live Activity updates to iOS, iPadOS, watchOS, tvOS and macOS devices. Providers authenticate either with a token-based JWT (ES256) or with a per-app TLS client certificate, and POST a notification payload to /3/device/{deviceToken}. APNs is the transport behind every push notification on iOS. humanURL: https://developer.apple.com/documentation/usernotifications/sending-notification-requests-to-apns baseURL: https://api.push.apple.com tags: - Push Notifications - HTTP/2 - Live Activities - VoIP - Background Updates properties: - type: Documentation url: https://developer.apple.com/documentation/usernotifications/sending-notification-requests-to-apns - type: APIReference url: https://developer.apple.com/documentation/usernotifications/setting-up-a-remote-notification-server - type: Sandbox url: https://api.sandbox.push.apple.com - type: Authentication url: https://developer.apple.com/documentation/usernotifications/establishing-a-token-based-connection-to-apns - aid: ios:devicecheck name: DeviceCheck and App Attest description: >- DeviceCheck allows servers to set and query two bits of per-device state and to verify that a request is coming from a genuine Apple device. App Attest, exposed through the same service, lets a server cryptographically verify that requests are coming from an authentic, uncompromised instance of an app. The API is JWT-authenticated (ES256) and is used as an anti- fraud / anti-abuse signal alongside iOS apps. humanURL: https://developer.apple.com/documentation/devicecheck baseURL: https://api.devicecheck.apple.com tags: - Device Attestation - Anti-Fraud - App Attest - Security properties: - type: Documentation url: https://developer.apple.com/documentation/devicecheck - type: APIReference url: https://developer.apple.com/documentation/devicecheck/accessing-and-modifying-per-device-data - type: Sandbox url: https://api.development.devicecheck.apple.com - aid: ios:sign-in-with-apple name: Sign in with Apple REST API description: >- Sign in with Apple is Apple's OpenID Connect-style identity provider for iOS, web, and other Apple-platform apps. The REST surface, hosted at appleid.apple.com, exposes /auth/token (authorization-code and refresh- token exchange), /auth/revoke (token revocation), /auth/keys (JWKS public keys for ID-token validation), and a server-to-server notification channel for account-deletion and email-relay events. Required for any iOS app offering third-party social login. humanURL: https://developer.apple.com/sign-in-with-apple/ baseURL: https://appleid.apple.com tags: - Authentication - OpenID Connect - OAuth 2.0 - Identity - Single Sign-On properties: - type: Documentation url: https://developer.apple.com/documentation/sign_in_with_apple - type: APIReference url: https://developer.apple.com/documentation/sign_in_with_apple/sign_in_with_apple_rest_api - type: Authentication url: https://developer.apple.com/documentation/sign_in_with_apple/generate_and_validate_tokens - aid: ios:apple-music-api name: Apple Music API description: >- The Apple Music API is Apple's REST surface for Apple Music catalog, library, ratings, playlists, recommendations, and search. Calls are authenticated with a developer token (JWT) and, when accessing a subscriber's personal data, an additional Music User Token obtained through MusicKit on the device. It powers Apple Music integrations in iOS apps and on the web. humanURL: https://developer.apple.com/documentation/applemusicapi baseURL: https://api.music.apple.com tags: - Apple Music - Music - Catalog - Streaming - MusicKit properties: - type: Documentation url: https://developer.apple.com/documentation/applemusicapi - type: APIReference url: https://developer.apple.com/documentation/applemusicapi - type: Authentication url: https://developer.apple.com/documentation/applemusicapi/generating-developer-tokens - aid: ios:wallet-passkit-web-service name: Wallet / PassKit Web Service description: >- The PassKit Web Service is a server-side HTTP contract that Wallet pass providers must implement so that Apple Wallet can register devices, enumerate pass serial numbers, fetch the latest pass version, unregister devices, and accept log messages. While Apple does not host this API itself, it specifies the exact endpoints (/v1/devices/.../registrations/..., /v1/passes/{passTypeIdentifier}/{serialNumber}, /v1/log) every provider must expose. APNs is the companion channel for pass-update notifications. humanURL: https://developer.apple.com/documentation/walletpasses tags: - Wallet - PassKit - Passes - Loyalty - Boarding Passes properties: - type: Documentation url: https://developer.apple.com/documentation/walletpasses - type: APIReference url: https://developer.apple.com/documentation/walletpasses/adding-a-web-service-to-update-passes common: - type: Portal name: Apple Developer url: https://developer.apple.com/ - type: DeveloperPortal name: iOS Developer url: https://developer.apple.com/ios/ - type: Documentation name: Apple Developer Documentation url: https://developer.apple.com/documentation/ - type: APIReference name: App Store Connect API Reference url: https://developer.apple.com/documentation/appstoreconnectapi - type: SignUp name: Apple Developer Program Enrollment url: https://developer.apple.com/programs/enroll/ - type: Pricing name: Apple Developer Program Pricing url: https://developer.apple.com/programs/whats-included/ - type: Plans name: Apple Developer Program url: https://developer.apple.com/programs/ - type: StatusPage name: Apple Developer System Status url: https://developer.apple.com/system-status/ - type: Blog name: Apple Developer News url: https://developer.apple.com/news/ - type: RSS name: Apple Developer News RSS url: https://developer.apple.com/news/rss/news.rss - type: ReleaseNotes name: Apple Developer Releases url: https://developer.apple.com/news/releases/ - type: Forum name: Apple Developer Forums url: https://developer.apple.com/forums/ - type: Support name: Apple Developer Support url: https://developer.apple.com/support/ - type: GitHubOrganization name: Apple on GitHub url: https://github.com/apple - type: Events name: Apple WWDC url: https://developer.apple.com/wwdc/ - type: YouTube name: Apple Developer on YouTube url: https://www.youtube.com/appledevelopers - type: TermsOfService name: Apple Developer Agreement url: https://developer.apple.com/support/terms/ - type: Privacy name: Apple Developer Privacy url: https://developer.apple.com/support/privacy/ - type: OpenAPI name: App Store Connect OpenAPI 3.0 Specification (4.3.1) url: https://raw.githubusercontent.com/api-evangelist/ios/main/openapi/app-store-connect-openapi.json - type: AsyncAPI name: App Store Server Notifications V2 AsyncAPI url: https://raw.githubusercontent.com/api-evangelist/ios/main/asyncapi/app-store-server-notifications-asyncapi.yml - type: Spectral name: App Store Connect Spectral Rules url: https://raw.githubusercontent.com/api-evangelist/ios/main/rules/app-store-connect-rules.yml - type: Capabilities name: Naftiko Capabilities (App Store Connect / Server / APNs / Sign in with Apple) url: https://github.com/api-evangelist/ios/tree/main/capabilities - type: JSONSchema name: JSON Schemas (App, Build, Transaction, APNs Payload, Sign-in-with-Apple ID Token) url: https://github.com/api-evangelist/ios/tree/main/json-schema - type: JSONLD name: iOS JSON-LD Context url: https://raw.githubusercontent.com/api-evangelist/ios/main/json-ld/ios-context.jsonld - type: Vocabulary name: iOS Vocabulary url: https://raw.githubusercontent.com/api-evangelist/ios/main/vocabulary/ios-vocabulary.yml - type: Plans name: iOS / Apple Developer Plans and Pricing url: https://raw.githubusercontent.com/api-evangelist/ios/main/plans/ios-plans-pricing.yml - type: RateLimits name: iOS / Apple Developer Rate Limits url: https://raw.githubusercontent.com/api-evangelist/ios/main/rate-limits/ios-rate-limits.yml - type: FinOps name: iOS / Apple Developer FinOps url: https://raw.githubusercontent.com/api-evangelist/ios/main/finops/ios-finops.yml maintainers: - FN: Kin Lane email: kin@apievangelist.com url: https://apievangelist.com