iOS · Arazzo Workflow

iOS Create a TestFlight Beta Group and Assign a Build

Version 1.0.0

Create a TestFlight beta group for an app, find a build by version, and make that build available to the group.

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

Provider

ios

Workflows

create-beta-group-assign-build
Create a beta group, find a build by number, and assign the build to the group.
Creates a beta group for an app, resolves a build by its version, and links that build to the group via the builds relationship.
3 steps inputs: appId, buildVersion, groupName, publicLinkEnabled outputs: buildId, groupId
1
createGroup
Create the beta group scoped to the target app.
2
findBuild
Find the build of the app that matches the supplied build number, returning at most one result.
3
assignBuild
Link the resolved build to the beta group so the group's testers can install it. A 204 indicates the relationship was created.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: 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.
  description: >-
    A common TestFlight setup pattern. The workflow creates a beta group scoped
    to an app, looks up a specific build of that app by its build number, and
    then links the build to the group so the group's testers can install it.
    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
  x-realizes-capability-ids:
  - BC-4210
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-4210
      capability_name: Software Release & Deployment Management
      spec: ios-builds-api-openapi.yml
      confidence: 0.7
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: betagroupsApi
  url: ../openapi/ios-betagroups-api-openapi.yml
  type: openapi
- name: buildsApi
  url: ../openapi/ios-builds-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-beta-group-assign-build
  summary: Create a beta group, find a build by number, and assign the build to the group.
  description: >-
    Creates a beta group for an app, resolves a build by its version, and links
    that build to the group via the builds relationship.
  inputs:
    type: object
    required:
    - appId
    - groupName
    - buildVersion
    properties:
      appId:
        type: string
        description: The id of the app the beta group belongs to.
      groupName:
        type: string
        description: The display name for the new beta group.
      buildVersion:
        type: string
        description: The build number (CFBundleVersion) of the build to assign.
      publicLinkEnabled:
        type: boolean
        description: Whether to enable a public TestFlight invite link for the group.
  steps:
  - stepId: createGroup
    description: >-
      Create the beta group scoped to the target app.
    operationId: betaGroups_createInstance
    requestBody:
      contentType: application/json
      payload:
        data:
          type: betaGroups
          attributes:
            name: $inputs.groupName
            publicLinkEnabled: $inputs.publicLinkEnabled
          relationships:
            app:
              data:
                type: apps
                id: $inputs.appId
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      groupId: $response.body#/data/id
  - stepId: findBuild
    description: >-
      Find the build of the app that matches the supplied build number,
      returning at most one result.
    operationId: builds_getCollection
    parameters:
    - name: filter[app]
      in: query
      value: $inputs.appId
    - name: filter[version]
      in: query
      value: $inputs.buildVersion
    - name: limit
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      buildId: $response.body#/data/0/id
  - stepId: assignBuild
    description: >-
      Link the resolved build to the beta group so the group's testers can
      install it. A 204 indicates the relationship was created.
    operationId: betaGroups_builds_createToManyRelationship
    parameters:
    - name: id
      in: path
      value: $steps.createGroup.outputs.groupId
    requestBody:
      contentType: application/json
      payload:
        data:
        - type: builds
          id: $steps.findBuild.outputs.buildId
    successCriteria:
    - condition: $statusCode == 204
  outputs:
    groupId: $steps.createGroup.outputs.groupId
    buildId: $steps.findBuild.outputs.buildId

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-create-beta-group-assign-build-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.