iOS · Arazzo Workflow

iOS Enable a Capability on a Bundle ID

Version 1.0.0

Create a bundle identifier and enable a capability such as Push Notifications or iCloud on it.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub iOSAppleMobileApp StorePush NotificationsIn-App PurchasesSubscriptionAuthenticationWalletsDeveloper PlatformArazzoWorkflows

Provider

ios

Workflows

enable-bundle-id-capability
Create a bundle id, enable a capability on it, and read it back.
Creates a bundle identifier, enables the requested capability type on it, and reads the bundle id to confirm.
3 steps inputs: bundleIdName, bundleIdentifier, capabilityType, platform outputs: bundleId, capabilityId
1
createBundleId
Create the bundle identifier the capability will be enabled on.
2
enableCapability
Enable the requested capability on the new bundle id.
3
getBundleId
Read the bundle id back to confirm it exists with the expected identifier.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: 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.
  description: >-
    Provisions an app's bundle identifier and turns on a capability in one pass.
    The workflow creates the bundle id, enables the requested capability (for
    example PUSH_NOTIFICATIONS, ICLOUD, or IN_APP_PURCHASE) on it, and reads the
    bundle id back to confirm the configuration. Every step spells out its
    request inline so the flow can be read and executed without opening the
    underlying App Store Connect OpenAPI description. All calls require an App
    Store Connect JWT bearer token.
  version: 1.0.0
sourceDescriptions:
- name: bundleidcapabilitiesApi
  url: ../openapi/ios-bundleidcapabilities-api-openapi.yml
  type: openapi
- name: bundleidsApi
  url: ../openapi/ios-bundleids-api-openapi.yml
  type: openapi
workflows:
- workflowId: enable-bundle-id-capability
  summary: Create a bundle id, enable a capability on it, and read it back.
  description: >-
    Creates a bundle identifier, enables the requested capability type on it, and
    reads the bundle id to confirm.
  inputs:
    type: object
    required:
    - bundleIdName
    - bundleIdentifier
    - platform
    - capabilityType
    properties:
      bundleIdName:
        type: string
        description: A friendly name for the bundle identifier.
      bundleIdentifier:
        type: string
        description: The reverse-DNS bundle identifier (e.g. com.example.app).
      platform:
        type: string
        description: Bundle id platform (IOS, MAC_OS, or UNIVERSAL).
      capabilityType:
        type: string
        description: The capability to enable (e.g. PUSH_NOTIFICATIONS, ICLOUD, IN_APP_PURCHASE).
  steps:
  - stepId: createBundleId
    description: >-
      Create the bundle identifier the capability will be enabled on.
    operationId: bundleIds_createInstance
    requestBody:
      contentType: application/json
      payload:
        data:
          type: bundleIds
          attributes:
            name: $inputs.bundleIdName
            identifier: $inputs.bundleIdentifier
            platform: $inputs.platform
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      bundleId: $response.body#/data/id
  - stepId: enableCapability
    description: >-
      Enable the requested capability on the new bundle id.
    operationId: bundleIdCapabilities_createInstance
    requestBody:
      contentType: application/json
      payload:
        data:
          type: bundleIdCapabilities
          attributes:
            capabilityType: $inputs.capabilityType
          relationships:
            bundleId:
              data:
                type: bundleIds
                id: $steps.createBundleId.outputs.bundleId
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      capabilityId: $response.body#/data/id
  - stepId: getBundleId
    description: >-
      Read the bundle id back to confirm it exists with the expected identifier.
    operationId: bundleIds_getInstance
    parameters:
    - name: id
      in: path
      value: $steps.createBundleId.outputs.bundleId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      identifier: $response.body#/data/attributes/identifier
  outputs:
    bundleId: $steps.createBundleId.outputs.bundleId
    capabilityId: $steps.enableCapability.outputs.capabilityId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/ios-enable-bundle-id-capability-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.