iOS

iOS Webhooks API

The Webhooks API from iOS — 4 operation(s) for webhooks.

OpenAPI Specification

ios-webhooks-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: App Store Connect AccessibilityDeclarations Webhooks API
  version: 4.3.1
  x-platforms:
    app_store_connect_api: App Store Connect API
  description: The App Store Connect API is the standards-based REST API Apple provides to automate tasks across App Store Connect, Xcode, and Certificates, Identifiers & Profiles. It covers apps, builds, TestFlight, in-app purchases, subscriptions, Game Center, Xcode Cloud, provisioning, pricing and availability, and the full reporting surface (analytics, sales and trends, financial reports, power and performance). This spec is the official OpenAPI 3.0 document published by Apple at https://developer.apple.com/app-store-connect/api/ — mirrored here unmodified except for title-cased operation summaries.
servers:
- url: https://api.appstoreconnect.apple.com/
security:
- itc-bearer-token: []
tags:
- name: Webhooks
paths:
  /v1/webhooks:
    post:
      tags:
      - Webhooks
      operationId: webhooks_createInstance
      requestBody:
        description: Webhook representation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookCreateRequest'
        required: true
      responses:
        '400':
          description: Parameter error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable request entity error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '201':
          description: Single Webhook
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
        '409':
          description: Request entity error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: Create Webhooks
  /v1/webhooks/{id}:
    parameters:
    - name: id
      in: path
      description: the id of the requested resource
      schema:
        type: string
      style: simple
      required: true
    get:
      tags:
      - Webhooks
      operationId: webhooks_getInstance
      parameters:
      - name: fields[webhooks]
        in: query
        description: the fields to include for returned resources of type webhooks
        schema:
          type: array
          items:
            type: string
            enum:
            - enabled
            - eventTypes
            - name
            - url
            - app
            - deliveries
        style: form
        explode: false
        required: false
      - name: fields[apps]
        in: query
        description: the fields to include for returned resources of type apps
        schema:
          type: array
          items:
            type: string
            enum:
            - accessibilityUrl
            - name
            - bundleId
            - sku
            - primaryLocale
            - isOrEverWasMadeForKids
            - subscriptionStatusUrl
            - subscriptionStatusUrlVersion
            - subscriptionStatusUrlForSandbox
            - subscriptionStatusUrlVersionForSandbox
            - contentRightsDeclaration
            - streamlinedPurchasingEnabled
            - accessibilityDeclarations
            - appEncryptionDeclarations
            - appStoreIcon
            - ciProduct
            - betaTesters
            - betaGroups
            - appStoreVersions
            - appTags
            - preReleaseVersions
            - betaAppLocalizations
            - builds
            - betaLicenseAgreement
            - betaAppReviewDetail
            - appInfos
            - appClips
            - appPricePoints
            - endUserLicenseAgreement
            - appPriceSchedule
            - appAvailabilityV2
            - inAppPurchases
            - subscriptionGroups
            - gameCenterEnabledVersions
            - perfPowerMetrics
            - appCustomProductPages
            - inAppPurchasesV2
            - promotedPurchases
            - appEvents
            - reviewSubmissions
            - subscriptionGracePeriod
            - customerReviews
            - customerReviewSummarizations
            - gameCenterDetail
            - appStoreVersionExperimentsV2
            - alternativeDistributionKey
            - analyticsReportRequests
            - marketplaceSearchDetail
            - buildUploads
            - backgroundAssets
            - betaFeedbackScreenshotSubmissions
            - betaFeedbackCrashSubmissions
            - searchKeywords
            - webhooks
            - androidToIosAppMappingDetails
        style: form
        explode: false
        required: false
      - name: include
        in: query
        description: comma-separated list of relationships to include
        schema:
          type: array
          items:
            type: string
            enum:
            - app
        style: form
        explode: false
        required: false
      responses:
        '400':
          description: Parameter error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '200':
          description: Single Webhook
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: Get Webhooks
    patch:
      tags:
      - Webhooks
      operationId: webhooks_updateInstance
      requestBody:
        description: Webhook representation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookUpdateRequest'
        required: true
      responses:
        '400':
          description: Parameter error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable request entity error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '200':
          description: Single Webhook
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
        '409':
          description: Request entity error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: Update Webhooks
    delete:
      tags:
      - Webhooks
      operationId: webhooks_deleteInstance
      responses:
        '400':
          description: Parameter error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '204':
          description: Success (no content)
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: Delete Webhooks
  /v1/webhooks/{id}/relationships/deliveries:
    parameters:
    - name: id
      in: path
      description: the id of the requested resource
      schema:
        type: string
      style: simple
      required: true
    get:
      tags:
      - Webhooks
      operationId: webhooks_deliveries_getToManyRelationship
      parameters:
      - name: limit
        in: query
        description: maximum resources per page
        schema:
          type: integer
          maximum: 200
        style: form
      responses:
        '400':
          description: Parameter error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '200':
          description: List of related linkages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookDeliveriesLinkagesResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: List Related Webhooks / Deliveries
  /v1/webhooks/{id}/deliveries:
    parameters:
    - name: id
      in: path
      description: the id of the requested resource
      schema:
        type: string
      style: simple
      required: true
    get:
      tags:
      - Webhooks
      operationId: webhooks_deliveries_getToManyRelated
      parameters:
      - name: filter[deliveryState]
        in: query
        description: filter by attribute 'deliveryState'
        schema:
          type: array
          items:
            type: string
            enum:
            - SUCCEEDED
            - FAILED
            - PENDING
        style: form
        explode: false
      - name: filter[createdDateGreaterThanOrEqualTo]
        in: query
        description: filter by createdDateGreaterThanOrEqualTo
        schema:
          type: array
          items:
            type: string
        style: form
        explode: false
      - name: filter[createdDateLessThan]
        in: query
        description: filter by createdDateLessThan
        schema:
          type: array
          items:
            type: string
        style: form
        explode: false
      - name: fields[webhookDeliveries]
        in: query
        description: the fields to include for returned resources of type webhookDeliveries
        schema:
          type: array
          items:
            type: string
            enum:
            - createdDate
            - deliveryState
            - errorMessage
            - redelivery
            - sentDate
            - request
            - response
            - event
        style: form
        explode: false
      - name: fields[webhookEvents]
        in: query
        description: the fields to include for returned resources of type webhookEvents
        schema:
          type: array
          items:
            type: string
            enum:
            - eventType
            - payload
            - ping
            - createdDate
        style: form
        explode: false
      - name: limit
        in: query
        description: maximum resources per page
        schema:
          type: integer
          maximum: 200
        style: form
      - name: include
        in: query
        description: comma-separated list of relationships to include
        schema:
          type: array
          items:
            type: string
            enum:
            - event
        style: form
        explode: false
      responses:
        '400':
          description: Parameter error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '200':
          description: List of WebhookDeliveries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookDeliveriesResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: List Related Webhooks / Deliveries
components:
  schemas:
    PagedDocumentLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
        first:
          type: string
          format: uri-reference
        next:
          type: string
          format: uri-reference
      required:
      - self
    Webhook:
      type: object
      title: Webhook
      properties:
        type:
          type: string
          enum:
          - webhooks
        id:
          type: string
        attributes:
          type: object
          properties:
            enabled:
              type: boolean
            eventTypes:
              type: array
              items:
                $ref: '#/components/schemas/WebhookEventType'
            name:
              type: string
            url:
              type: string
              format: uri
        relationships:
          type: object
          properties:
            app:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - apps
                    id:
                      type: string
                  required:
                  - id
                  - type
            deliveries:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
        links:
          $ref: '#/components/schemas/ResourceLinks'
      required:
      - id
      - type
    ResourceLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
    ErrorSourceParameter:
      type: object
      title: Parameter
      properties:
        parameter:
          type: string
      required:
      - parameter
    ErrorLinks:
      type: object
      properties:
        about:
          type: string
          format: uri-reference
        associated:
          oneOf:
          - type: string
            format: uri-reference
          - type: object
            properties:
              href:
                type: string
                format: uri-reference
              meta:
                type: object
                properties:
                  source:
                    type: string
    WebhookResponse:
      type: object
      title: WebhookResponse
      properties:
        data:
          $ref: '#/components/schemas/Webhook'
        included:
          type: array
          items:
            $ref: '#/components/schemas/App'
        links:
          $ref: '#/components/schemas/DocumentLinks'
      required:
      - data
      - links
    WebhookCreateRequest:
      type: object
      title: WebhookCreateRequest
      properties:
        data:
          type: object
          properties:
            type:
              type: string
              enum:
              - webhooks
            attributes:
              type: object
              properties:
                enabled:
                  type: boolean
                eventTypes:
                  type: array
                  items:
                    $ref: '#/components/schemas/WebhookEventType'
                name:
                  type: string
                secret:
                  type: string
                url:
                  type: string
                  format: uri
              required:
              - name
              - secret
              - eventTypes
              - url
              - enabled
            relationships:
              type: object
              properties:
                app:
                  type: object
                  properties:
                    data:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                          - apps
                        id:
                          type: string
                      required:
                      - id
                      - type
                  required:
                  - data
              required:
              - app
          required:
          - relationships
          - attributes
          - type
      required:
      - data
    WebhookDeliveriesLinkagesResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                - webhookDeliveries
              id:
                type: string
            required:
            - id
            - type
        links:
          $ref: '#/components/schemas/PagedDocumentLinks'
        meta:
          $ref: '#/components/schemas/PagingInformation'
      required:
      - data
      - links
    WebhookEvent:
      type: object
      title: WebhookEvent
      properties:
        type:
          type: string
          enum:
          - webhookEvents
        id:
          type: string
        attributes:
          type: object
          properties:
            eventType:
              $ref: '#/components/schemas/WebhookEventType'
            payload:
              type: string
            ping:
              type: boolean
            createdDate:
              type: string
              format: date-time
        links:
          $ref: '#/components/schemas/ResourceLinks'
      required:
      - id
      - type
    DocumentLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
      required:
      - self
    ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              status:
                type: string
              code:
                type: string
              title:
                type: string
              detail:
                type: string
              source:
                oneOf:
                - $ref: '#/components/schemas/ErrorSourcePointer'
                - $ref: '#/components/schemas/ErrorSourceParameter'
              links:
                $ref: '#/components/schemas/ErrorLinks'
              meta:
                type: object
                additionalProperties: {}
            required:
            - code
            - detail
            - status
            - title
    WebhookDeliveriesResponse:
      type: object
      title: WebhookDeliveriesResponse
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/WebhookDelivery'
        included:
          type: array
          items:
            $ref: '#/components/schemas/WebhookEvent'
        links:
          $ref: '#/components/schemas/PagedDocumentLinks'
        meta:
          $ref: '#/components/schemas/PagingInformation'
      required:
      - data
      - links
    App:
      type: object
      title: App
      properties:
        type:
          type: string
          enum:
          - apps
        id:
          type: string
        attributes:
          type: object
          properties:
            accessibilityUrl:
              type: string
              format: uri
            name:
              type: string
            bundleId:
              type: string
            sku:
              type: string
            primaryLocale:
              type: string
            isOrEverWasMadeForKids:
              type: boolean
            subscriptionStatusUrl:
              type: string
              format: uri
            subscriptionStatusUrlVersion:
              $ref: '#/components/schemas/SubscriptionStatusUrlVersion'
            subscriptionStatusUrlForSandbox:
              type: string
              format: uri
            subscriptionStatusUrlVersionForSandbox:
              $ref: '#/components/schemas/SubscriptionStatusUrlVersion'
            contentRightsDeclaration:
              type: string
              enum:
              - DOES_NOT_USE_THIRD_PARTY_CONTENT
              - USES_THIRD_PARTY_CONTENT
            streamlinedPurchasingEnabled:
              type: boolean
        relationships:
          type: object
          properties:
            accessibilityDeclarations:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
            appEncryptionDeclarations:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - appEncryptionDeclarations
                      id:
                        type: string
                    required:
                    - id
                    - type
            appStoreIcon:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - buildIcons
                    id:
                      type: string
                  required:
                  - id
                  - type
            ciProduct:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - ciProducts
                    id:
                      type: string
                  required:
                  - id
                  - type
            betaTesters:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
            betaGroups:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - betaGroups
                      id:
                        type: string
                    required:
                    - id
                    - type
            appStoreVersions:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - appStoreVersions
                      id:
                        type: string
                    required:
                    - id
                    - type
            appTags:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
            preReleaseVersions:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - preReleaseVersions
                      id:
                        type: string
                    required:
                    - id
                    - type
            betaAppLocalizations:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - betaAppLocalizations
                      id:
                        type: string
                    required:
                    - id
                    - type
            builds:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - builds
                      id:
                        type: string
                    required:
                    - id
                    - type
            betaLicenseAgreement:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - betaLicenseAgreements
                    id:
                      type: string
                  required:
                  - id
                  - type
            betaAppReviewDetail:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - betaAppReviewDetails
                    id:
                      type: string
                  required:
                  - id
                  - type
            appInfos:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - appInfos
                      id:
                        type: string
                    required:
                    - id
                    - type
            appClips:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - appClips
                      id:
                        type: string
                    required:
                    - id
                    - type
            appPricePoints:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
            endUserLicenseAgreement:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - endUserLicenseAgreements
                    id:
                      type: string
                  required:
                  - id
                  - type
            appPriceSchedule:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
            appAvailabilityV2:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
            inAppPurchases:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/

# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ios/refs/heads/main/openapi/ios-webhooks-api-openapi.yml