iOS logo

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

APIs

App Store Connect API

"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...

App Store Server API

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

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...

Apple Push Notification Service (APNs)

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 and App Attest

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 REST API

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...

Apple Music API

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...

Wallet / PassKit Web Service

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 ...

Event Specifications

App Store Server Notifications V2

App Store Server Notifications V2 is Apple's webhook surface for in-app purchase and subscription lifecycle events. Apple POSTs a JWS-signed payload to the production and sandbo...

ASYNCAPI

Semantic Vocabularies

Ios Context

21 classes · 6 properties

JSON-LD

API Governance Rules

iOS API Rules

7 rules · 3 errors 3 warnings 1 info

SPECTRAL

Resources

🔗
ArazzoWorkflows
ArazzoWorkflows
🌐
Portal
Portal
🌐
DeveloperPortal
DeveloperPortal
🔗
Documentation
Documentation
🔗
APIReference
APIReference
📝
SignUp
SignUp
💰
Pricing
Pricing
🔗
Plans
Plans
🟢
StatusPage
StatusPage
📰
Blog
Blog
🔗
RSS
RSS
📄
ReleaseNotes
ReleaseNotes
🔗
Forum
Forum
💬
Support
Support
👥
GitHubOrganization
GitHubOrganization
🔗
Events
Events
👥
YouTube
YouTube
📜
TermsOfService
TermsOfService
📜
Privacy
Privacy
🔗
OpenAPI
OpenAPI
🔗
AsyncAPI
AsyncAPI
🔗
Spectral
Spectral
🔗
Capabilities
Capabilities
🔗
JSONSchema
JSONSchema
🔗
JSONLD
JSONLD
🔗
Vocabulary
Vocabulary
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
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