iOS
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.
8 APIs
0 Features
iOSAppleMobileApp StorePush NotificationsIn-App PurchasesSubscriptionsAuthenticationWalletDeveloper Platform
"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 fl...
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...
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...
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 update...
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...
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/to...
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 (JW...
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 ...
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-images.s3.amazonaws.com/shared/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: ArazzoWorkflows
url: arazzo/
workflows:
- url: arazzo/ios-create-app-store-version-workflow.yml
name: iOS Create an App Store Version
summary: Create a new App Store version, add its primary localization, and attach a build.
- url: arazzo/ios-create-beta-group-assign-build-workflow.yml
name: iOS Create a TestFlight Beta Group and Assign a Build
summary: Create a TestFlight beta group for an app, find a build by version, and make that build available to the group.
- url: arazzo/ios-create-in-app-purchase-workflow.yml
name: iOS Create and Submit an In-App Purchase
summary: Create an in-app purchase, add its localized display name, and submit it for review.
- url: arazzo/ios-create-signing-certificate-workflow.yml
name: iOS Create a Signing Certificate
summary: Submit a certificate signing request, then read the issued certificate back for download.
- url: arazzo/ios-create-subscription-workflow.yml
name: iOS Create an Auto-Renewable Subscription
summary: Create a subscription group, add a subscription to it, and localize the subscription.
- url: arazzo/ios-enable-bundle-id-capability-workflow.yml
name: iOS Enable a Capability on a Bundle ID
summary: Create a bundle identifier and enable a capability such as Push Notifications or iCloud on it.
- url: arazzo/ios-invite-beta-tester-workflow.yml
name: iOS Invite a TestFlight Beta Tester
summary: Create a beta tester, add them to a beta group, and send an App Store Connect invitation.
- url: arazzo/ios-notify-testers-new-build-workflow.yml
name: iOS Notify TestFlight Testers of a New Build
summary: Find a build, push a TestFlight notification to its testers, and confirm the build's beta state.
- url: arazzo/ios-register-provisioning-profile-workflow.yml
name: iOS Register a Provisioning Profile
summary: Register a test device, create a bundle identifier, and generate a provisioning profile that ties them together.
- url: arazzo/ios-respond-to-customer-review-workflow.yml
name: iOS Respond to a Customer Review
summary: Find the most recent low-rated review for an app and post a developer response to it.
- url: arazzo/ios-submit-build-for-beta-review-workflow.yml
name: iOS Submit a Build for TestFlight Beta Review
summary: Find a build, add localized "What to Test" notes, and submit it for external beta review.
- url: arazzo/ios-submit-version-for-review-workflow.yml
name: iOS Submit an App Store Version for Review
summary: Open a review submission, add the App Store version as an item, and submit it to App Review.
- 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