Runway REST API (1.0.0)

Download OpenAPI specification:Download

About Runway

Runway (runway.team) is a release management platform for mobile app teams. Top mobile teams like Gusto, Faire, Wealthsimple, and Mercari use Runway to track, automate, and collaborate on their app releases. For more information, visit our website.

Introduction

Welcome to the Runway API and webhooks documentation! The REST API allows you to access information about your releases in Runway. You can also subscribe to webhook events sent by Runway. To get started, create an API key from your organization's dashboard – you'll use this key to authenticate requests to the API.

Authentication

All Runway REST API endpoints are authenticated via an API key passed as an X-API-Key header like so:

X-API-Key: {YOUR_API_KEY}

API keys are created from your organization's dashboard.

Schema

The Runway REST API is accessed via HTTPS, with a base URL of https://api.runway.team/v1. All data is sent and received as JSON. Unless otherwise stated, dates are sent and received in the JSON Schema Validation date-time format, in UTC.

Most Runway REST API endpoints require one or more path parameters that correspond to the ids of various entities, like app and release. You can find your app's identifier in the Overview section of your app's Settings. To construct a release identifier for an existing release in an app, combine the app identifier with the release version like so: {appId}:{version}. For example, the release identifier of a release with version 1.1.0 on an app with an app identifier myapp-ios would be myapp-ios:1.1.0.

Rate limiting

Requests to the API will be limited to 5 requests per second, 8000 requests per day.

Org

Operations to Runway organizations

List all groups

Authorizations:
apiKey
path Parameters
orgId
required
string

The ID of the org.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new group

Authorizations:
apiKey
path Parameters
orgId
required
string

The ID of the org.

Request Body schema: application/json
required

The request body for creating a new custom group

name
required
string

The name of the group

userActions
Array of strings (UserAction)
Items Enum: "AddRemoveEditIntegration" "UpdateAppSettings" "EditAutomations" "CreateDeleteRelease" "CreateHotfix" "UpdateScheduleCadence" "UpdateReleaseTargetDates" "CreateBranchPromoteCode" "BumpVersion" "TagCommit" "ApproveScreenshotsMetadata" "PromoteBetaBuildToTestingTrack" "ApproveBetaTesting" "UpdateRegressionStatus" "SetResumeActiveRCBuild" "TriggerCIWorkflow" "UpdateAppStoreSelectedBuild" "UpdateAppStoreReviewSubmission" "SubmitAppUpdate" "DevRejectAppUpdate" "ReleaseAppUpdate" "UpdateReleasePilot" "AddRemoveEditCLI" "UAToggleApprovalCLI" "ToggleFRIgnore" "UpdatePhasedRelease" "AddRemoveEditReleaseBranchPatterns" "AddRemoveEditReleaseTagPatterns" "AddRemoveEditFeatureAffiliations" "AssignBetaTestersToBuilds" "AssignBetaGroupsToBuilds" "UpdateAdditionalBranchConfig" "DownloadBuildArtifact" "UpdateMetadata" "EditReleasePlanningSummary" "EditReleaseSummaryMessage" "EditAppStoreReleaseSettings" "ApplyMetadata" "SubmitBetaBuildForReview" "PauseResumeScheduleCadence" "UpdateBetaTestingNotes" "AccessSSOPortal" "AccessDirectorySyncPortal" "CreateDeleteApp" "InviteUsers" "EditUserRoles" "RemoveOrgUser" "AddUpdateRemoveWebhook" "CreateDeleteAPITokens" "MarkReleaseRejected" "UpdateDirectorySyncRolesForGroups" "StartRollbackResigningSequence" "AddRemoveDevice" "AddRemoveTestDeviceFromApp" "UpdateDeviceInASC" "UploadSigningKey" "ImportExportTranslationStrings" "ApproveTranslations" "AddFixRequest" "UpdateFixRequestStatus" "UploadExportMetadataTranslations" "CreateEditDeleteCustomGroup" "BuildDistroOptIn" "UACreateBuildDistroBucket" "UpdateBucketSettings" "UpdateBucketNotifications" "UpdateBucketMembers" "BucketInviteIndividualTestersToBuilds" "BucketUploadBuilds" "BucketUpdateBuildTesterNotes" "BucketInstallBuilds"

The list of user actions that the group can perform

members
Array of strings

The list of user IDs that are members of the group

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "userActions": [
    ],
  • "members": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "acb-123",
  • "name": "Developers",
  • "userActions": [
    ],
  • "members": [
    ]
}

Update a custom group

Authorizations:
apiKey
path Parameters
orgId
required
string

The ID of the org.

groupId
required
string

The ID of the group.

Request Body schema: application/json
required

The request body for updating a custom group

name
required
string

The name of the group

userActions
Array of strings (UserAction)
Items Enum: "AddRemoveEditIntegration" "UpdateAppSettings" "EditAutomations" "CreateDeleteRelease" "CreateHotfix" "UpdateScheduleCadence" "UpdateReleaseTargetDates" "CreateBranchPromoteCode" "BumpVersion" "TagCommit" "ApproveScreenshotsMetadata" "PromoteBetaBuildToTestingTrack" "ApproveBetaTesting" "UpdateRegressionStatus" "SetResumeActiveRCBuild" "TriggerCIWorkflow" "UpdateAppStoreSelectedBuild" "UpdateAppStoreReviewSubmission" "SubmitAppUpdate" "DevRejectAppUpdate" "ReleaseAppUpdate" "UpdateReleasePilot" "AddRemoveEditCLI" "UAToggleApprovalCLI" "ToggleFRIgnore" "UpdatePhasedRelease" "AddRemoveEditReleaseBranchPatterns" "AddRemoveEditReleaseTagPatterns" "AddRemoveEditFeatureAffiliations" "AssignBetaTestersToBuilds" "AssignBetaGroupsToBuilds" "UpdateAdditionalBranchConfig" "DownloadBuildArtifact" "UpdateMetadata" "EditReleasePlanningSummary" "EditReleaseSummaryMessage" "EditAppStoreReleaseSettings" "ApplyMetadata" "SubmitBetaBuildForReview" "PauseResumeScheduleCadence" "UpdateBetaTestingNotes" "AccessSSOPortal" "AccessDirectorySyncPortal" "CreateDeleteApp" "InviteUsers" "EditUserRoles" "RemoveOrgUser" "AddUpdateRemoveWebhook" "CreateDeleteAPITokens" "MarkReleaseRejected" "UpdateDirectorySyncRolesForGroups" "StartRollbackResigningSequence" "AddRemoveDevice" "AddRemoveTestDeviceFromApp" "UpdateDeviceInASC" "UploadSigningKey" "ImportExportTranslationStrings" "ApproveTranslations" "AddFixRequest" "UpdateFixRequestStatus" "UploadExportMetadataTranslations" "CreateEditDeleteCustomGroup" "BuildDistroOptIn" "UACreateBuildDistroBucket" "UpdateBucketSettings" "UpdateBucketNotifications" "UpdateBucketMembers" "BucketInviteIndividualTestersToBuilds" "BucketUploadBuilds" "BucketUpdateBuildTesterNotes" "BucketInstallBuilds"

The list of user actions that the group can perform

members
Array of strings

The list of user IDs that are members of the group

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "userActions": [
    ],
  • "members": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "acb-123",
  • "name": "Developers",
  • "userActions": [
    ],
  • "members": [
    ]
}

Get a custom group

Authorizations:
apiKey
path Parameters
orgId
required
string

The ID of the org.

groupId
required
string

The ID of the group.

Responses

Response samples

Content type
application/json
{
  • "id": "acb-123",
  • "name": "Developers",
  • "userActions": [
    ],
  • "members": [
    ]
}

Delete a custom group

Authorizations:
apiKey
path Parameters
orgId
required
string

The ID of the org.

groupId
required
string

The ID of the group.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string"
}

Get all events for an organization

Authorizations:
apiKey
path Parameters
orgId
required
string

The ID of the org.

query Parameters
since
date-time
Example: since=2022-03-02T01:15

If provided, will filter events to those that occurred after this date

appId
string
Example: appId=appollo-ios

If provided, will filter events for this app only

version
string
Example: version=1.2.3

If provided, will filter events for this release version only

Responses

Response samples

Content type
application/json
[
  • {
    }
]

App

Operations to Runway apps

Get app configuration file

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string"
}

Update an app - coming soon

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

Request Body schema: application/json
required

The request body for updating a Runway app

name
string

The name of the app

platform
string (AppPlatform)
Enum: "ios" "android" "ios-sdk" "android-sdk" "react-native-ota"

The app's platform

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "platform": "ios"
}

Response samples

Content type
application/json
{
  • "id": "fake-app",
  • "appName": "Fake app",
  • "platform": "ios",
  • "createdAt": "2022-03-02T01:15:00Z"
}

Delete an app - coming soon

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string"
}

Create an app - coming soon

Authorizations:
apiKey
Request Body schema: application/json
required

The request body for creating a Runway app

name
required
string

The name of the app

platform
required
string (AppPlatform)
Enum: "ios" "android" "ios-sdk" "android-sdk" "react-native-ota"

The app's platform

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "platform": "ios"
}

Response samples

Content type
application/json
{
  • "id": "fake-app",
  • "appName": "Fake app",
  • "platform": "ios",
  • "createdAt": "2022-03-02T01:15:00Z"
}

Create an app from configuration file

Authorizations:
apiKey
path Parameters
orgId
required
string

The ID of the org.

Request Body schema: application/yaml
required

The YAML configuration file for creating a new app

string <binary>

The YAML file containing the app configuration. Attach this either as raw text to the request body or as a binary file.

Responses

Response samples

Content type
text/plain
Created app new-app-id

Post data to custom observability and analytics integration

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

integrationId
required
string

The id of the integration

Request Body schema: application/json
required

The request body for pushing custom event data

Array of objects (CustomEventEntity)

Events data points

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
text/plain
Successfully ingested data for appId=runway-ios, integrationId=custom-analytics:EghxLZzmABk

Release

Operations to Runway releases

List releases

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

query Parameters
timelinePhase
string (ReleaseTimelinePhase)
Enum: "upcoming" "current" "completed"

Filter releases by timeline phase

limit
integer
Default: 20

For pagination, the maximum number of releases to return

offset
integer
Default: 0

For pagination, the number of releases to skip before returning the first release

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new release

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

Request Body schema: application/json
required

The request body for creating a new release

version
required
string
releaseType
required
string (CreateEditReleaseType)
Enum: "release" "hotfix" "rollback"

Release type used when creating or editing releases.

targetKickoffDate
string <date-time>

The target kickoff date for the release. All platforms. Pass null to clear the date.

targetSubmitDate
string <date-time>

The target submission date for the release. iOS and Android platforms only. Pass null to clear the date.

targetReleaseDate
string <date-time>

The target release date for the release. iOS platforms only. Pass null to clear the date.

releasePilotId
string

The user id (email) of the release pilot for the release. Pass the string 'FROM_ROTATION' to set the release pilot based on the pilot rotation schedule.

releaseName
string

A user-friendly name for your release.

releaseDescription
string

A description of the release for internal use by your team.

Responses

Request samples

Content type
application/json
{
  • "version": "1.1.0",
  • "releaseType": "release",
  • "targetKickoffDate": "2022-03-02T01:15:00Z",
  • "targetSubmitDate": "2022-03-02T01:15:00Z",
  • "targetReleaseDate": "2022-03-02T01:15:00Z",
  • "releasePilotId": "sully@example.com",
  • "releaseName": "Release 1.2.3",
  • "releaseDescription": "Description of release 1.2.3..."
}

Response samples

Content type
application/json
{
  • "id": "fake-app:1.0.0",
  • "version": "1.0.0",
  • "status": "active",
  • "type": "major",
  • "timelinePhase": "upcoming",
  • "isReleaseTagged": true,
  • "isKickedOff": true,
  • "isSubmitted": true,
  • "isReleased": true,
  • "createdAt": "2022-03-02T01:15:00Z",
  • "releasePilotId": "sully@example.com",
  • "targetKickoffDate": "2022-03-02T01:15:00Z",
  • "targetSubmissionDate": "2022-03-02T01:15:00Z",
  • "targetReleaseDate": "2022-03-02T01:15:00Z",
  • "releaseBranch": "release-1.0.0",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "kickedOffAt": "2022-03-02T01:15:00Z",
  • "submittedAt": "2022-03-02T01:15:00Z",
  • "releasedAt": "2022-03-02T01:15:00Z",
  • "completedAt": "2022-03-02T01:15:00Z",
  • "regressionTestingStatus": {
    },
  • "releaseSummary": "string",
  • "workItems": [
    ],
  • "steps": [
    ]
}

Get the details of a Runway release

Authorizations:
apiKey
path Parameters
releaseId
required
string

The id of the release. Constructed from the app's id and the release version like so: {appId}:{version}

appId
required
string

The id of the app

Responses

Response samples

Content type
application/json
{
  • "id": "fake-app:1.0.0",
  • "version": "1.0.0",
  • "status": "active",
  • "type": "major",
  • "timelinePhase": "upcoming",
  • "isReleaseTagged": true,
  • "isKickedOff": true,
  • "isSubmitted": true,
  • "isReleased": true,
  • "createdAt": "2022-03-02T01:15:00Z",
  • "releasePilotId": "sully@example.com",
  • "targetKickoffDate": "2022-03-02T01:15:00Z",
  • "targetSubmissionDate": "2022-03-02T01:15:00Z",
  • "targetReleaseDate": "2022-03-02T01:15:00Z",
  • "releaseBranch": "release-1.0.0",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "kickedOffAt": "2022-03-02T01:15:00Z",
  • "submittedAt": "2022-03-02T01:15:00Z",
  • "releasedAt": "2022-03-02T01:15:00Z",
  • "completedAt": "2022-03-02T01:15:00Z",
  • "regressionTestingStatus": {
    },
  • "releaseSummary": "string",
  • "workItems": [
    ],
  • "steps": [
    ]
}

Update a Runway release

Authorizations:
apiKey
path Parameters
releaseId
required
string

The id of the release. Constructed from the app's id and the release version like so: {appId}:{version}

appId
required
string

The id of the app

Request Body schema: application/json
required

The request body for updating a release

version
required
string
releaseType
required
string (CreateEditReleaseType)
Enum: "release" "hotfix" "rollback"

Release type used when creating or editing releases.

targetKickoffDate
string <date-time>

The target kickoff date for the release. All platforms. Pass null to clear the date.

targetSubmitDate
string <date-time>

The target submission date for the release. iOS and Android platforms only. Pass null to clear the date.

targetReleaseDate
string <date-time>

The target release date for the release. iOS platforms only. Pass null to clear the date.

releasePilotId
string

The user id (email) of the release pilot for the release. Pass the string 'FROM_ROTATION' to set the release pilot based on the pilot rotation schedule.

releaseName
string

A user-friendly name for your release.

releaseDescription
string

A description of the release for internal use by your team.

Responses

Request samples

Content type
application/json
{
  • "version": "1.1.0",
  • "releaseType": "release",
  • "targetKickoffDate": "2022-03-02T01:15:00Z",
  • "targetSubmitDate": "2022-03-02T01:15:00Z",
  • "targetReleaseDate": "2022-03-02T01:15:00Z",
  • "releasePilotId": "sully@example.com",
  • "releaseName": "Release 1.2.3",
  • "releaseDescription": "Description of release 1.2.3..."
}

Response samples

Content type
application/json
{
  • "id": "fake-app:1.0.0",
  • "version": "1.0.0",
  • "status": "active",
  • "type": "major",
  • "timelinePhase": "upcoming",
  • "isReleaseTagged": true,
  • "isKickedOff": true,
  • "isSubmitted": true,
  • "isReleased": true,
  • "createdAt": "2022-03-02T01:15:00Z",
  • "releasePilotId": "sully@example.com",
  • "targetKickoffDate": "2022-03-02T01:15:00Z",
  • "targetSubmissionDate": "2022-03-02T01:15:00Z",
  • "targetReleaseDate": "2022-03-02T01:15:00Z",
  • "releaseBranch": "release-1.0.0",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "kickedOffAt": "2022-03-02T01:15:00Z",
  • "submittedAt": "2022-03-02T01:15:00Z",
  • "releasedAt": "2022-03-02T01:15:00Z",
  • "completedAt": "2022-03-02T01:15:00Z",
  • "regressionTestingStatus": {
    },
  • "releaseSummary": "string",
  • "workItems": [
    ],
  • "steps": [
    ]
}

Delete a Runway release

Authorizations:
apiKey
path Parameters
releaseId
required
string

The id of the release. Constructed from the app's id and the release version like so: {appId}:{version}

appId
required
string

The id of the app

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string"
}

Get the details of a Runway release step

Authorizations:
apiKey
path Parameters
releaseId
required
string

The id of the release. Constructed from the app's id and the release version like so: {appId}:{version}

appId
required
string

The id of the app

stepId
required
string (ReleaseStepType)
Enum: "kickoff" "featureReadiness" "releaseCandidate" "regressionTesting" "betaTesting" "metadata" "screenshots" "approvals" "submission" "storeReview" "takeoff" "ciDistribution"

The id of the release step which is equivalent to the release step's type

Responses

Response samples

Content type
application/json
{
  • "stepId": null,
  • "type": "kickoff",
  • "status": "ready",
  • "statusReasonString": "string",
  • "data": {
    },
  • "checklistItems": [
    ]
}

Skip a Runway release

Authorizations:
apiKey
path Parameters
releaseId
required
string

The id of the release. Constructed from the app's id and the release version like so: {appId}:{version}

appId
required
string

The id of the app

Responses

Response samples

Content type
application/json
{
  • "id": "fake-app:1.0.0",
  • "version": "1.0.0",
  • "status": "active",
  • "type": "major",
  • "timelinePhase": "upcoming",
  • "isReleaseTagged": true,
  • "isKickedOff": true,
  • "isSubmitted": true,
  • "isReleased": true,
  • "createdAt": "2022-03-02T01:15:00Z",
  • "releasePilotId": "sully@example.com",
  • "targetKickoffDate": "2022-03-02T01:15:00Z",
  • "targetSubmissionDate": "2022-03-02T01:15:00Z",
  • "targetReleaseDate": "2022-03-02T01:15:00Z",
  • "releaseBranch": "release-1.0.0",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "kickedOffAt": "2022-03-02T01:15:00Z",
  • "submittedAt": "2022-03-02T01:15:00Z",
  • "releasedAt": "2022-03-02T01:15:00Z",
  • "completedAt": "2022-03-02T01:15:00Z",
  • "regressionTestingStatus": {
    },
  • "releaseSummary": "string",
  • "workItems": [
    ],
  • "steps": [
    ]
}

Un-skip a Runway release

Authorizations:
apiKey
path Parameters
releaseId
required
string

The id of the release. Constructed from the app's id and the release version like so: {appId}:{version}

appId
required
string

The id of the app

Responses

Response samples

Content type
application/json
{
  • "id": "fake-app:1.0.0",
  • "version": "1.0.0",
  • "status": "active",
  • "type": "major",
  • "timelinePhase": "upcoming",
  • "isReleaseTagged": true,
  • "isKickedOff": true,
  • "isSubmitted": true,
  • "isReleased": true,
  • "createdAt": "2022-03-02T01:15:00Z",
  • "releasePilotId": "sully@example.com",
  • "targetKickoffDate": "2022-03-02T01:15:00Z",
  • "targetSubmissionDate": "2022-03-02T01:15:00Z",
  • "targetReleaseDate": "2022-03-02T01:15:00Z",
  • "releaseBranch": "release-1.0.0",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "kickedOffAt": "2022-03-02T01:15:00Z",
  • "submittedAt": "2022-03-02T01:15:00Z",
  • "releasedAt": "2022-03-02T01:15:00Z",
  • "completedAt": "2022-03-02T01:15:00Z",
  • "regressionTestingStatus": {
    },
  • "releaseSummary": "string",
  • "workItems": [
    ],
  • "steps": [
    ]
}

Update the regression testing status of a release

Authorizations:
apiKey
path Parameters
releaseId
required
string

The id of the release. Constructed from the app's id and the release version like so: {appId}:{version}

appId
required
string

The id of the app

Request Body schema: application/json
required

The request body for updating a release's regression testing status

status
required
string (RegressionTestingStatusType)
Enum: "inProgress" "passed" "failed" "notStarted"

The updated status of the regression testing step

buildHash
string

The build hash of the RC build that regression testing is being performed on. Leave blank to use the latest successful RC build.

Responses

Request samples

Content type
application/json
{
  • "status": "inProgress",
  • "buildHash": "string"
}

Response samples

Content type
application/json
{
  • "id": "fake-app:1.0.0",
  • "version": "1.0.0",
  • "status": "active",
  • "type": "major",
  • "timelinePhase": "upcoming",
  • "isReleaseTagged": true,
  • "isKickedOff": true,
  • "isSubmitted": true,
  • "isReleased": true,
  • "createdAt": "2022-03-02T01:15:00Z",
  • "releasePilotId": "sully@example.com",
  • "targetKickoffDate": "2022-03-02T01:15:00Z",
  • "targetSubmissionDate": "2022-03-02T01:15:00Z",
  • "targetReleaseDate": "2022-03-02T01:15:00Z",
  • "releaseBranch": "release-1.0.0",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "kickedOffAt": "2022-03-02T01:15:00Z",
  • "submittedAt": "2022-03-02T01:15:00Z",
  • "releasedAt": "2022-03-02T01:15:00Z",
  • "completedAt": "2022-03-02T01:15:00Z",
  • "regressionTestingStatus": {
    },
  • "releaseSummary": "string",
  • "workItems": [
    ],
  • "steps": [
    ]
}

Checklist item

Operations to checklist items

Create step checklist item

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

Request Body schema: application/json
required

The request body for creating a new step checklist item

title
required
string

Title of the checklist item

description
string

Description of the checklist item

releaseStep
required
string (ReleaseStepType)
Enum: "kickoff" "featureReadiness" "releaseCandidate" "regressionTesting" "betaTesting" "metadata" "screenshots" "approvals" "submission" "storeReview" "takeoff" "ciDistribution"

The release step that the checklist item appears on

approverGroups
Array of strings (UserGroup)
Items Enum: "pilot" "engineer" "pm" "qa" "design" "em" "marketing" "cx" "ops" "approver"

The list of user groups that can approve this checklist item

owners
Array of strings

List of user ids allowed to approve item

notifyEnabled
boolean

Will send a notification when approval is updated.

oneOffForVersion
string

Nullable, checklist item will only appear in this version

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "releaseStep": "kickoff",
  • "approverGroups": [
    ],
  • "owners": [
    ],
  • "notifyEnabled": true,
  • "oneOffForVersion": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "Gather new release notes",
  • "description": "Contact sully@demo.com on the copywriting team to get new release notes together.",
  • "approverGroups": [
    ],
  • "releaseType": "all",
  • "notifyEnabled": true,
  • "statuses": [
    ],
  • "releaseStepType": "string",
  • "stepId": null,
  • "oneOffForVersion": "1.1.0",
  • "status": {
    },
  • "placement": "stepChecklist",
  • "comment": {
    }
}

Update checklist item status

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

releaseId
required
string

The id of the release. Constructed from the app's id and the release version like so: {appId}:{version}

checklistItemId
required
string

The id of the checklist item being fetched updated

Request Body schema: application/json
required

The request body to update the status of a checklist item

status
string (ChecklistItemStatusType)
Enum: "approved" "rejected" "inProgress" "blocked" "passed" "failed"

The checklist item's updated status. Pass null to clear the status.

Responses

Request samples

Content type
application/json
{
  • "status": "approved"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "Gather new release notes",
  • "description": "Contact sully@demo.com on the copywriting team to get new release notes together.",
  • "approverGroups": [
    ],
  • "releaseType": "all",
  • "notifyEnabled": true,
  • "statuses": [
    ],
  • "releaseStepType": "string",
  • "stepId": null,
  • "oneOffForVersion": "1.1.0",
  • "status": {
    },
  • "placement": "stepChecklist",
  • "comment": {
    }
}

Approval items

Operations to approval items

Create approval item

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

Request Body schema: application/json
required

The request body for creating a new approval item

title
required
string

Title of the approval item

description
string

Description of the approval item

approverGroups
Array of strings (UserGroup)
Items Enum: "pilot" "engineer" "pm" "qa" "design" "em" "marketing" "cx" "ops" "approver"

The list of user groups that can approve this item

owners
Array of strings

List of user ids allowed to approve item

notifyEnabled
boolean

Will send a notification when approval is updated.

oneOffForVersion
string

Nullable, approval item will only appear in this version

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "approverGroups": [
    ],
  • "owners": [
    ],
  • "notifyEnabled": true,
  • "oneOffForVersion": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "Gather new release notes",
  • "description": "Contact sully@demo.com on the copywriting team to get new release notes together.",
  • "approverGroups": [
    ],
  • "releaseType": "all",
  • "notifyEnabled": true,
  • "statuses": [
    ],
  • "releaseStepType": "string",
  • "stepId": null,
  • "oneOffForVersion": "1.1.0",
  • "status": {
    },
  • "placement": "stepChecklist",
  • "comment": {
    }
}

Build Distro

Operations to Build Distro models

Create a bucket

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

Request Body schema: application/json
required

The request body for creating a new bucket

name
required
string

The name of the bucket

orgWideAccessEnabled
required
boolean

Whether or not the bucket should have org-wide access enabled

notificationsEnabled
required
boolean

Whether or not the bucket should have notifications enabled

required
Array of objects (BucketRule)
required
Array of objects (BucketMember)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "orgWideAccessEnabled": true,
  • "notificationsEnabled": true,
  • "rules": [
    ],
  • "members": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "12345",
  • "name": "Release candidates",
  • "type": "custom",
  • "rules": {
    },
  • "members": [
    ],
  • "orgWideAccessEnabled": true,
  • "status": "active",
  • "notificationsEnabled": true,
  • "notifications": [
    ],
  • "createdAt": "2022-03-02T01:15:00Z",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "automations": [
    ],
  • "archivedAt": "2022-03-02T01:15:00Z",
  • "totalBuildsCount": 0
}

List all buckets

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a bucket's details

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

bucketId
required
string

The id of the bucket

Responses

Response samples

Content type
application/json
{
  • "id": "12345",
  • "name": "Release candidates",
  • "type": "custom",
  • "rules": {
    },
  • "members": [
    ],
  • "orgWideAccessEnabled": true,
  • "status": "active",
  • "notificationsEnabled": true,
  • "notifications": [
    ],
  • "createdAt": "2022-03-02T01:15:00Z",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "automations": [
    ],
  • "archivedAt": "2022-03-02T01:15:00Z",
  • "totalBuildsCount": 0
}

Update a bucket

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

bucketId
required
string

The id of the bucket

Request Body schema: application/json
required

Update the properties of a bucket

name
string

The name of the bucket

status
string (BucketStatus)
Enum: "active" "archived"

The status of the bucket

orgWideAccessEnabled
boolean

Whether or not the bucket should have org-wide access enabled

notificationsEnabled
boolean

Whether or not the bucket should have notifications enabled

Array of objects (BucketRule)
Array of objects (BucketMember)
Array of objects (NotificationEntity)
Array of objects (AutomationEntity)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "status": "active",
  • "orgWideAccessEnabled": true,
  • "notificationsEnabled": true,
  • "rules": [
    ],
  • "members": [
    ],
  • "notifications": [
    ],
  • "automations": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "12345",
  • "name": "Release candidates",
  • "type": "custom",
  • "rules": {
    },
  • "members": [
    ],
  • "orgWideAccessEnabled": true,
  • "status": "active",
  • "notificationsEnabled": true,
  • "notifications": [
    ],
  • "createdAt": "2022-03-02T01:15:00Z",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "automations": [
    ],
  • "archivedAt": "2022-03-02T01:15:00Z",
  • "totalBuildsCount": 0
}

Get a bucket's builds

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

bucketId
required
string

The id of the bucket

query Parameters
limit
integer
Default: 20

For pagination, the maximum number of builds to return

offset
integer
Default: 0

For pagination, the number of builds to skip before returning the first release

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a bucket build's details

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

bucketId
required
string

The id of the bucket

buildDistroBuildId
required
string

The id of the Build Distro build

Responses

Response samples

Content type
application/json
{
  • "buildId": "12345",
  • "status": "active",
  • "bucketName": "Release candidates",
  • "bucketId": "abc123",
  • "artifactFileName": "my-app.ipa",
  • "createdAt": "2022-03-02T01:15:00Z",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "additionalTesters": [
    ],
  • "testerNotes": "string",
  • "ciBuild": {
    },
  • "binaryBuildNumber": "12345",
  • "binaryBuildVersion": "1.2.3",
  • "binaryBuildType": "ipa",
  • "additionalArtifacts": []
}

Update a build's details

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

bucketId
required
string

The id of the bucket

buildDistroBuildId
required
string

The id of the Build Distro build

Request Body schema: application/json
required

The request body for updating the details of a Build Distro build

status
string (BuildDistroBuildStatus)
Enum: "active" "expired" "deleted"
testerNotes
string

The tester notes for the build

Array of objects (BuildDistroBuildTester)

Any additional users or user groups assigned as testers for the build. Bucket members of the bucket this build is in are not included in the additional testers list.

Responses

Request samples

Content type
application/json
{
  • "status": "active",
  • "testerNotes": "string",
  • "additionalTesters": [
    ]
}

Response samples

Content type
application/json
{
  • "buildId": "12345",
  • "status": "active",
  • "bucketName": "Release candidates",
  • "bucketId": "abc123",
  • "artifactFileName": "my-app.ipa",
  • "createdAt": "2022-03-02T01:15:00Z",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "additionalTesters": [
    ],
  • "testerNotes": "string",
  • "ciBuild": {
    },
  • "binaryBuildNumber": "12345",
  • "binaryBuildVersion": "1.2.3",
  • "binaryBuildType": "ipa",
  • "additionalArtifacts": []
}

Delete a build

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

bucketId
required
string

The id of the bucket

buildDistroBuildId
required
string

The id of the Build Distro build

Responses

Response samples

Content type
application/json
{
  • "buildId": "12345",
  • "status": "active",
  • "bucketName": "Release candidates",
  • "bucketId": "abc123",
  • "artifactFileName": "my-app.ipa",
  • "createdAt": "2022-03-02T01:15:00Z",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "additionalTesters": [
    ],
  • "testerNotes": "string",
  • "ciBuild": {
    },
  • "binaryBuildNumber": "12345",
  • "binaryBuildVersion": "1.2.3",
  • "binaryBuildType": "ipa",
  • "additionalArtifacts": []
}

Download a bucket build

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

bucketId
required
string

The id of the bucket

buildDistroBuildId
required
string

The id of the Build Distro build

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string"
}

Upload a build to a bucket

Please note the unique upload server URL for this endpoint.

The binary file must be included in a 'file' field as form data. Please see below for an example curl request:

curl -X POST -F "file=@example.ipa" -F 'data={"testerNotes":"optional tester notes"}' -H "X-API-KEY:API-KEY" https://upload-api.runway.team/v1/app/{appId}/bucket/{bucketId}/build

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

bucketId
required
string

The id of the bucket

Request Body schema: multipart/form-data

The request body for uploading a new Build Distro build

file
required
string <binary>
object (BuildDistroBuildUploadRequestFormData)

Responses

Response samples

Content type
application/json
{
  • "buildId": "12345",
  • "status": "active",
  • "bucketName": "Release candidates",
  • "bucketId": "abc123",
  • "artifactFileName": "my-app.ipa",
  • "createdAt": "2022-03-02T01:15:00Z",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "additionalTesters": [
    ],
  • "testerNotes": "string",
  • "ciBuild": {
    },
  • "binaryBuildNumber": "12345",
  • "binaryBuildVersion": "1.2.3",
  • "binaryBuildType": "ipa",
  • "additionalArtifacts": []
}

Attach a file to a build

Please note the unique upload server URL for this endpoint.

The file must be included in a 'file' field as form data. Please see below for an example curl request:

curl -X POST -F "file=@test_results.html" -F 'data={"fileName":"user friendly file name"}' -H "X-API-KEY:API-KEY" https://upload-api.runway.team/v1/app/{appId}/bucket/{bucketId}/build/{buildId}/additionalFiles

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

bucketId
required
string

The id of the bucket

buildDistroBuildId
required
string

The id of the Build Distro build

Request Body schema: multipart/form-data

The request body for uploading an additional file to a Build Distro build

file
required
string <binary>
object (BuildDistroBuildAdditionalFileUploadRequestFormData)

Responses

Response samples

Content type
application/json
{
  • "buildId": "12345",
  • "status": "active",
  • "bucketName": "Release candidates",
  • "bucketId": "abc123",
  • "artifactFileName": "my-app.ipa",
  • "createdAt": "2022-03-02T01:15:00Z",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "additionalTesters": [
    ],
  • "testerNotes": "string",
  • "ciBuild": {
    },
  • "binaryBuildNumber": "12345",
  • "binaryBuildVersion": "1.2.3",
  • "binaryBuildType": "ipa",
  • "additionalArtifacts": []
}

Download an additional file for a bucket build

Authorizations:
apiKey
path Parameters
appId
required
string

The id of the app

bucketId
required
string

The id of the bucket

buildDistroBuildId
required
string

The id of the Build Distro build

fileName
required
string

The file name of the additional file

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string"
}

Webhooks

Operations to webhooks

release.kickedOff Webhook

When a release is kicked off. All platforms.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookReleasePayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

release.submitted Webhook

When an app update was submitted for review. iOS and Android platforms only.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookReleasePayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

release.released Webhook

When an app update was released to users. iOS and OTA platforms only.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookReleasePayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

release.created Webhook

When a new release was drafted in Runway. All platforms.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookReleasePayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

release.targetDateUpdated Webhook

When target dates were updated for the release. All platforms.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookReleasePayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

release.pilotChanged Webhook

When the release pilot for a release was changed. All platforms.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookReleasePayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

release.regressionStatusUpdated Webhook

When the regression status in a release is updated.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookReleasePayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

release.kickoffReminder Webhook

When a reminder is sent that your release is scheduled to be kicked off soon. All platforms.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookReleasePayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

release.submitReminder Webhook

When a reminder is sent that your update is scheduled to be submitted for review soon. iOS and Android platforms only.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookReleasePayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

release.releaseReminder Webhook

When a reminder is sent that your update is scheduled to be released soon. iOS platforms only.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookReleasePayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

release.stepsReadyToSubmit Webhook

When all required release steps are complete; your app update is ready to submit for review. iOS and Android platforms only.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookReleaseStepsPayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

release.stepsReadyToRelease Webhook

When all required release steps are complete; your app update is ready to release. iOS platforms only.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookReleaseStepsPayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

releaseStep.statusChanged Webhook

When the status of a release step in Runway has changed. All platforms.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookReleaseStepsPayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

appStoreVersion.statusUpdated Webhook

When the status of an app store version has changed. iOS and Android platforms only.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookAppStoreVersionDataPayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

appStoreVersion.phasedReleaseUpdated Webhook

When the status of a phased/staged rollout has changed. iOS and Android platforms only.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookAppStoreVersionDataPayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

checklistItem.statusChanged Webhook

When the status of a checklist item, regression testing item, or approval item has changed. All platforms.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookChecklistItemPayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

buildDistro.newBuildAvailable Webhook

When a new Build Distro build is available in a given bucket

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookBuildDistroBuildPayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

buildDistro.buildArtifactAvailable Webhook

When the artifact of a new Build Distro build is available for download

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookBuildDistroBuildPayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

ciBuild.statusChanged Webhook

When the status of a CI build changes.

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookCIBuildPayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

ciBuild.appStoreBuildAssociated Webhook

When an app store build is found and associated with a CI build

Authorizations:
apiKey
Request Body schema: application/json
eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

required
object (WebhookCIBuildPayload)

Responses

Request samples

Content type
application/json
{
  • "eventType": "string",
  • "wasAutomatedByRunway": true,
  • "payload": {
    }
}

WebhookPayload

eventType
required
string

The type of event that was sent

wasAutomatedByRunway
required
boolean

True if the event happened as a result of an action automated by Runway

{
  • "eventType": "string",
  • "wasAutomatedByRunway": true
}

WebhookReleasePayload

object (AppEntity)

The app that the event occurred on

object (ReleaseEntity)

The release that the event occurred on

{
  • "app": {
    },
  • "release": {
    }
}

WebhookChecklistItemPayload

object (AppEntity)

The app that the event occurred on

object (ReleaseEntity)

The release that the event occurred on

object (ChecklistItemEntity)

The checklist item that was affected

{
  • "app": {
    },
  • "release": {
    },
  • "checklistItem": {
    }
}

WebhookAppStoreVersionDataPayload

object (AppEntity)

The app that the event occurred on

object (ReleaseEntity)

The release that the event occurred on

object or object (AppStoreVersionData)
{
  • "app": {
    },
  • "release": {
    },
  • "appStoreVersionData": {
    }
}

WebhookReleaseStepsPayload

object (AppEntity)

The app that the event occurred on

object (ReleaseEntity)

The release that the event occurred on

Array of objects (ReleaseStepEntity)

The release step(s) that were affected

{
  • "app": {
    },
  • "release": {
    },
  • "releaseSteps": [
    ]
}

WebhookCIBuildPayload

object (AppEntity)

The app that the event occurred on

object (ReleaseEntity)

The release that the event occurred on

object (CIBuildEntity)

The build whose status changed

{
  • "app": {
    },
  • "release": {
    },
  • "build": {
    }
}

WebhookBuildDistroBuildPayload

object (BuildDistroBuildEntity)

The details of a Build Distro build

{
  • "build": {
    }
}

AppEntity

id
required
string

The id of the app entity

appName
required
string

The name of the app

platform
required
string (AppPlatform)
Enum: "ios" "android" "ios-sdk" "android-sdk" "react-native-ota"

The app's platform

createdAt
required
string <date-time>
{
  • "id": "fake-app",
  • "appName": "Fake app",
  • "platform": "ios",
  • "createdAt": "2022-03-02T01:15:00Z"
}

ReleaseEntity

id
required
string

The id of the release entity

version
required
string

The release version

status
required
string (ReleaseStatus)
Enum: "active" "completed" "canceled"

The status of a release

type
required
string (ReleaseType)
Enum: "major" "minor" "point" "hotfix" "rollback"

The type of release

timelinePhase
required
string (ReleaseTimelinePhase)
Enum: "upcoming" "current" "completed"

The timeline phase of the release

isReleaseTagged
required
boolean

Indicates whether the release has been tagged in VCS

isKickedOff
required
boolean

Indicates whether the release has been kicked off in Runway

isSubmitted
required
boolean

Indicates whether the release has been submitted for review in the app store

isReleased
required
boolean

Indicates whether the release has been released to users. For iOS platforms, this corresponds to the App Store status being 'READY_FOR_SALE'. For Android platforms, this corresponds to the version's status being 'inProgress' or 'completed'

createdAt
required
string <date-time>

The date and time when the release was created in Runway

releasePilotId
string

The release pilot for the release

targetKickoffDate
string <date-time>

The target kickoff date and time for the release

targetSubmissionDate
string <date-time>

The target submission date and time for the release

targetReleaseDate
string <date-time>

The target submission date and time for the release

releaseBranch
string

The detected release branch for the release

updatedAt
string <date-time>

The date and time when the release was last updated in Runway

kickedOffAt
string <date-time>

The date and time when the release was kicked off in Runway

submittedAt
string <date-time>

The date and time when the a build for the release was submitted for review

releasedAt
string <date-time>

The date and time when a build for the release was made available to users. For iOS platforms, this corresponds to the App Store status being 'READY_FOR_SALE'. For Android platforms, this corresponds to the version's status being 'inProgress' or 'completed'

completedAt
string <date-time>

The date and time when the release was marked as completed in Runway. For iOS and Android platforms, this corresponds to the date on which a build was released to users based on the app store status. For other platforms, it corresponds to the date and time on which the production CI/CD workflow successfully completed for the first time.

object (ReleaseRegressionTestingStatus)
releaseSummary
string

The automatically generated summary of the release.

Array of objects (WorkItem)

The work items associated with the release

required
Array of objects (ReleaseStepEntity)

The steps of the release

{
  • "id": "fake-app:1.0.0",
  • "version": "1.0.0",
  • "status": "active",
  • "type": "major",
  • "timelinePhase": "upcoming",
  • "isReleaseTagged": true,
  • "isKickedOff": true,
  • "isSubmitted": true,
  • "isReleased": true,
  • "createdAt": "2022-03-02T01:15:00Z",
  • "releasePilotId": "sully@example.com",
  • "targetKickoffDate": "2022-03-02T01:15:00Z",
  • "targetSubmissionDate": "2022-03-02T01:15:00Z",
  • "targetReleaseDate": "2022-03-02T01:15:00Z",
  • "releaseBranch": "release-1.0.0",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "kickedOffAt": "2022-03-02T01:15:00Z",
  • "submittedAt": "2022-03-02T01:15:00Z",
  • "releasedAt": "2022-03-02T01:15:00Z",
  • "completedAt": "2022-03-02T01:15:00Z",
  • "regressionTestingStatus": {
    },
  • "releaseSummary": "string",
  • "workItems": [
    ],
  • "steps": [
    ]
}

GroupEntity

id
required
string

The ID of the group

name
required
string

The name of the group

userActions
required
Array of strings (UserAction)
Items Enum: "AddRemoveEditIntegration" "UpdateAppSettings" "EditAutomations" "CreateDeleteRelease" "CreateHotfix" "UpdateScheduleCadence" "UpdateReleaseTargetDates" "CreateBranchPromoteCode" "BumpVersion" "TagCommit" "ApproveScreenshotsMetadata" "PromoteBetaBuildToTestingTrack" "ApproveBetaTesting" "UpdateRegressionStatus" "SetResumeActiveRCBuild" "TriggerCIWorkflow" "UpdateAppStoreSelectedBuild" "UpdateAppStoreReviewSubmission" "SubmitAppUpdate" "DevRejectAppUpdate" "ReleaseAppUpdate" "UpdateReleasePilot" "AddRemoveEditCLI" "UAToggleApprovalCLI" "ToggleFRIgnore" "UpdatePhasedRelease" "AddRemoveEditReleaseBranchPatterns" "AddRemoveEditReleaseTagPatterns" "AddRemoveEditFeatureAffiliations" "AssignBetaTestersToBuilds" "AssignBetaGroupsToBuilds" "UpdateAdditionalBranchConfig" "DownloadBuildArtifact" "UpdateMetadata" "EditReleasePlanningSummary" "EditReleaseSummaryMessage" "EditAppStoreReleaseSettings" "ApplyMetadata" "SubmitBetaBuildForReview" "PauseResumeScheduleCadence" "UpdateBetaTestingNotes" "AccessSSOPortal" "AccessDirectorySyncPortal" "CreateDeleteApp" "InviteUsers" "EditUserRoles" "RemoveOrgUser" "AddUpdateRemoveWebhook" "CreateDeleteAPITokens" "MarkReleaseRejected" "UpdateDirectorySyncRolesForGroups" "StartRollbackResigningSequence" "AddRemoveDevice" "AddRemoveTestDeviceFromApp" "UpdateDeviceInASC" "UploadSigningKey" "ImportExportTranslationStrings" "ApproveTranslations" "AddFixRequest" "UpdateFixRequestStatus" "UploadExportMetadataTranslations" "CreateEditDeleteCustomGroup" "BuildDistroOptIn" "UACreateBuildDistroBucket" "UpdateBucketSettings" "UpdateBucketNotifications" "UpdateBucketMembers" "BucketInviteIndividualTestersToBuilds" "BucketUploadBuilds" "BucketUpdateBuildTesterNotes" "BucketInstallBuilds"

The actions that the group is allowed to perform

members
required
Array of strings

The members of the group

{
  • "id": "acb-123",
  • "name": "Developers",
  • "userActions": [
    ],
  • "members": [
    ]
}

ReleaseStepEntity

stepId
any

The step ID of the release step the checklist item appears on

type
required
string (ReleaseStepType)
Enum: "kickoff" "featureReadiness" "releaseCandidate" "regressionTesting" "betaTesting" "metadata" "screenshots" "approvals" "submission" "storeReview" "takeoff" "ciDistribution"

The type of release step

status
required
string (ReleaseStepStatus)
Enum: "ready" "pending" "pendingChecklist" "blocked" "inactive"

The status of a release step

statusReasonString
required
string

The user-friendly description of the reason for the status of the step

object or object (ReleaseStepData)
required
Array of objects (ChecklistItemEntity)

The list of checklist items for the release step

{
  • "stepId": null,
  • "type": "kickoff",
  • "status": "ready",
  • "statusReasonString": "string",
  • "data": {
    },
  • "checklistItems": [
    ]
}

ChecklistItemEntity

id
required
string

The identifier of the checklist item

title
required
string

The title of the checklist item

description
string

The description of the checklist item. Accepts markdown.

approverGroups
required
Array of strings (UserGroup)
Items Enum: "pilot" "engineer" "pm" "qa" "design" "em" "marketing" "cx" "ops" "approver"

The list of user groups that can approve this checklist item

releaseType
required
string
Enum: "all" "hotfixOnly" "rollbackOnly" "allExceptHotfix"

The type of release this checklist item will appear on

notifyEnabled
required
boolean

Whether the checklist item will notify on Slack when its status changes

statuses
required
Array of strings (ChecklistItemStatusType)
Items Enum: "approved" "rejected" "inProgress" "blocked" "passed" "failed"

The list of possible checklist item status types for this checklist item. A subset of all possible ChecklistItemStatusType values

releaseStepType
string

The release step that the checklist item appears on. Will be null if the placement of the item is not binary. Can either be of type ReleaseStepType, or a step's Step ID can be sent instead

stepId
any

The step ID of the release step the checklist item appears on

oneOffForVersion
string

If the checklist item only applies for a single release version, this field will contain the version string for that version

object (ChecklistItemStatus)

The status of the checklist item. Will be null if a binary placement checklist item is not complete, or when a status has not been set yet

placement
required
string (ChecklistItemPlacement)
Enum: "stepChecklist" "approvals" "regressionTesting"

The placement of the checklist item

object (ChecklistItemComment)

A comment on a checklist item

{
  • "id": "string",
  • "title": "Gather new release notes",
  • "description": "Contact sully@demo.com on the copywriting team to get new release notes together.",
  • "approverGroups": [
    ],
  • "releaseType": "all",
  • "notifyEnabled": true,
  • "statuses": [
    ],
  • "releaseStepType": "string",
  • "stepId": null,
  • "oneOffForVersion": "1.1.0",
  • "status": {
    },
  • "placement": "stepChecklist",
  • "comment": {
    }
}

AppleAppStoreData

type
required
string (AppStoreDataType)
Enum: "AppleAppStoreData" "GooglePlayStoreData"

The type of app store data

releaseType
required
string

The release type in ASC for the release

earliestReleaseDate
string <date-time>

the earliest release date that the update will be released on, set if the release type is SCHEDULED. If the update is approved before the earliest release date, it will be released automatically on the earliestReleaseDate

state
required
string

The ASC state of the release, can be one of a number of version states defined by Apple.

object (ApplePhasedRelease)

The phased release details for the release. Will be null if the release is not a phased released release (set to release updates to all users)

{
  • "type": "AppleAppStoreData",
  • "releaseType": "string",
  • "earliestReleaseDate": "2019-08-24T14:15:22Z",
  • "state": "string",
  • "phasedRelease": {
    }
}

GooglePlayStoreData

type
required
string (AppStoreDataType)
Enum: "AppleAppStoreData" "GooglePlayStoreData"

The type of app store data

state
required
string (GooglePlayVersionState)

The Google Play Developer API status of the versioned release, can be one of a number of release statuses

object (GoogleStagedRollout)

The staged rollout details for the release. Will be null if the release is not a staged rollout

{
  • "type": "AppleAppStoreData",
  • "state": "string",
  • "phasedRelease": {
    }
}

GooglePlayVersionState

string (GooglePlayVersionState)

The Google Play Developer API status of the versioned release, can be one of a number of release statuses

"string"

GoogleStagedRollout

state
required
string (GooglePlayVersionState)

The Google Play Developer API status of the versioned release, can be one of a number of release statuses

userFraction
number [ 0 .. 1 ]
{
  • "state": "string",
  • "userFraction": 1
}

ApplePhasedRelease

state
required
string

The phased release state for the update, can be one of a number of phased release states defined by Apple

dayNumber
required
number [ 1 .. 7 ]

The phased release day

startDate
string <date-time>

The date the phased release began

{
  • "state": "string",
  • "dayNumber": 1,
  • "startDate": "2019-08-24T14:15:22Z"
}

ChecklistItemPlacement

string (ChecklistItemPlacement)
Enum: "stepChecklist" "approvals" "regressionTesting"

The placement of a given checklist item

"stepChecklist"

UserGroup

string (UserGroup)
Enum: "pilot" "engineer" "pm" "qa" "design" "em" "marketing" "cx" "ops" "approver"

The list of possible groups a user can have. Users can have multiple groups

"pilot"

ChecklistItemStatus

status
required
string (ChecklistItemStatusType)
Enum: "approved" "rejected" "inProgress" "blocked" "passed" "failed"

The checklist item status key. For binary placement checklist items, the status will always be approved if set

createdBy
required
string

The userId (email) of the user that created the checklist item

createdAt
required
string <date-time>

The date and time the checklist item was created

{
  • "status": "approved",
  • "createdBy": "string",
  • "createdAt": "2022-03-02T01:15:00Z"
}

ChecklistItemStatusType

string (ChecklistItemStatusType)
Enum: "approved" "rejected" "inProgress" "blocked" "passed" "failed"

All possible statuses for a checklist item

"approved"

ReleaseType

string (ReleaseType)
Enum: "major" "minor" "point" "hotfix" "rollback"

The type of release

"major"

IntegrationType

string (IntegrationType)
Enum: "amazon" "apple" "google" "huawei" "samsung" "appcenter-beta" "apple-beta" "google-beta" "firebase-beta" "runway-build-distro-beta" "appcenter-ci" "apple-ci" "azure-ci" "bitrise" "buildkite" "circleci" "codemagic" "generic-ci" "github-ci" "gitlab-ci" "jenkins" "travis" "launchdarkly" "optimizely" "asana" "azure-it" "jira" "linear" "pivotal" "shortcut" "monday" "slack" "microsoft-teams" "amplitude" "datadog-analytics" "mixpanel-analytics" "google-analytics" "new-relic-analytics" "custom-analytics" "testrail" "xray" "bugsnag" "firebase" "sentry" "embrace-stability-monitoring" "datadog-stability-monitoring" "dynatrace-stability-monitoring" "new-relic-stability-monitoring" "github-vcs-dist" "bitbucket" "github" "gitlab-vcs" "azure-vcs" "pagerduty-scheduling" "opsgenie-scheduling" "crowdin" "lokalise"

The type of integration

"amazon"

CreateEditReleaseType

string (CreateEditReleaseType)
Enum: "release" "hotfix" "rollback"

Release type used when creating or editing releases.

"release"

UserAction

string (UserAction)
Enum: "AddRemoveEditIntegration" "UpdateAppSettings" "EditAutomations" "CreateDeleteRelease" "CreateHotfix" "UpdateScheduleCadence" "UpdateReleaseTargetDates" "CreateBranchPromoteCode" "BumpVersion" "TagCommit" "ApproveScreenshotsMetadata" "PromoteBetaBuildToTestingTrack" "ApproveBetaTesting" "UpdateRegressionStatus" "SetResumeActiveRCBuild" "TriggerCIWorkflow" "UpdateAppStoreSelectedBuild" "UpdateAppStoreReviewSubmission" "SubmitAppUpdate" "DevRejectAppUpdate" "ReleaseAppUpdate" "UpdateReleasePilot" "AddRemoveEditCLI" "UAToggleApprovalCLI" "ToggleFRIgnore" "UpdatePhasedRelease" "AddRemoveEditReleaseBranchPatterns" "AddRemoveEditReleaseTagPatterns" "AddRemoveEditFeatureAffiliations" "AssignBetaTestersToBuilds" "AssignBetaGroupsToBuilds" "UpdateAdditionalBranchConfig" "DownloadBuildArtifact" "UpdateMetadata" "EditReleasePlanningSummary" "EditReleaseSummaryMessage" "EditAppStoreReleaseSettings" "ApplyMetadata" "SubmitBetaBuildForReview" "PauseResumeScheduleCadence" "UpdateBetaTestingNotes" "AccessSSOPortal" "AccessDirectorySyncPortal" "CreateDeleteApp" "InviteUsers" "EditUserRoles" "RemoveOrgUser" "AddUpdateRemoveWebhook" "CreateDeleteAPITokens" "MarkReleaseRejected" "UpdateDirectorySyncRolesForGroups" "StartRollbackResigningSequence" "AddRemoveDevice" "AddRemoveTestDeviceFromApp" "UpdateDeviceInASC" "UploadSigningKey" "ImportExportTranslationStrings" "ApproveTranslations" "AddFixRequest" "UpdateFixRequestStatus" "UploadExportMetadataTranslations" "CreateEditDeleteCustomGroup" "BuildDistroOptIn" "UACreateBuildDistroBucket" "UpdateBucketSettings" "UpdateBucketNotifications" "UpdateBucketMembers" "BucketInviteIndividualTestersToBuilds" "BucketUploadBuilds" "BucketUpdateBuildTesterNotes" "BucketInstallBuilds"

A possible action a user can perform

"AddRemoveEditIntegration"

ReleaseStatus

string (ReleaseStatus)
Enum: "active" "completed" "canceled"

The status of a release

"active"

AppPlatform

string (AppPlatform)
Enum: "ios" "android" "ios-sdk" "android-sdk" "react-native-ota"

The app's platform

"ios"

CIBuildEntity

id
required
string

The id of the entity

buildIdentifier
required
string

The identifier of the build as set by the integration provider

appStoreBuildIdentifier
string

The identifier of the app store build corresponding to this CI build

integrationId
required
string (IntegrationType)
Enum: "amazon" "apple" "google" "huawei" "samsung" "appcenter-beta" "apple-beta" "google-beta" "firebase-beta" "runway-build-distro-beta" "appcenter-ci" "apple-ci" "azure-ci" "bitrise" "buildkite" "circleci" "codemagic" "generic-ci" "github-ci" "gitlab-ci" "jenkins" "travis" "launchdarkly" "optimizely" "asana" "azure-it" "jira" "linear" "pivotal" "shortcut" "monday" "slack" "microsoft-teams" "amplitude" "datadog-analytics" "mixpanel-analytics" "google-analytics" "new-relic-analytics" "custom-analytics" "testrail" "xray" "bugsnag" "firebase" "sentry" "embrace-stability-monitoring" "datadog-stability-monitoring" "dynatrace-stability-monitoring" "new-relic-stability-monitoring" "github-vcs-dist" "bitbucket" "github" "gitlab-vcs" "azure-vcs" "pagerduty-scheduling" "opsgenie-scheduling" "crowdin" "lokalise"

The integration type associated with the build

url
string

The link out to the build

startedAt
required
string <date-time>

The start date and time of the build

finishedAt
string <date-time>

The end date and time of the build

status
required
string (CIBuildStatus)
Enum: "inProgress" "stopped" "success" "failure" "skipped"

The status of the CI build.

providerStatusString
string

The status of the build returned by the integration provider

commitHash
required
string

The commit hash of that triggered the build

commitMessage
string

The commit message associated with the commit hash that triggered the build

commitAuthor
string

The author of the commit that triggered the build

workflowRunIds
Array of strings

Array of IDs of the workflow(s) run as part of the build

branch
required
string

The branch the build was triggered off of

index
integer

The index of the build in the release's CI builds

{
  • "id": "acb-123",
  • "buildIdentifier": "123",
  • "appStoreBuildIdentifier": "123",
  • "integrationId": "amazon",
  • "startedAt": "2022-03-02T01:15:00Z",
  • "finishedAt": "2022-03-02T01:15:00Z",
  • "status": "inProgress",
  • "providerStatusString": "In progress",
  • "commitHash": "abcdef",
  • "commitMessage": "string",
  • "commitAuthor": "string",
  • "workflowRunIds": [
    ],
  • "branch": "main",
  • "index": 1
}

CIBuildRequestEntity

buildIdentifier
required
string

The identifier of the build as set by the integration provider

startedAt
required
string <date-time>

The start date and time of the build

finishedAt
string <date-time>

The end date and time of the build

status
required
string (CIBuildStatus)
Enum: "inProgress" "stopped" "success" "failure" "skipped"

The status of the CI build.

url
string

Your CI provider's url for the build

commitHash
required
string

The commit hash of that triggered the build

commitMessage
string

The commit message associated with the commit hash that triggered the build

commitAuthor
string

The author of the commit that triggered the build

commitUrl
string

The url for the commit that triggered the build

branch
required
string

The branch the build was triggered off of

integrationId
required
string (CIIntegrationId)
Enum: "appcenter-ci" "apple-ci" "azure-ci" "bitrise" "buildkite" "circleci" "codemagic" "generic-ci" "github-ci" "gitlab-ci" "jenkins" "travis"

ID of possible CI integration.

object (CIBuildWorkflowData)
{
  • "buildIdentifier": "123",
  • "startedAt": "2022-03-02T01:15:00Z",
  • "finishedAt": "2022-03-02T01:15:00Z",
  • "status": "inProgress",
  • "url": "string",
  • "commitHash": "abcdef",
  • "commitMessage": "string",
  • "commitAuthor": "string",
  • "commitUrl": "string",
  • "branch": "main",
  • "integrationId": "appcenter-ci",
  • "workflowData": {
    }
}

BuildDistroBuildEntity

buildId
required
string

The id of the Build Distro build

status
required
string (BuildDistroBuildStatus)
Enum: "active" "expired" "deleted"
bucketName
required
string

The name of the build's bucket

bucketId
required
string

The ID of the build's bucket

artifactFileName
string

The name of the artifact file associated with the build

createdAt
required
string <date-time>
updatedAt
required
string <date-time>
required
Array of objects (BuildDistroBuildTester)

Any additional users or user groups assigned as testers for the build. Bucket members of the bucket this build is in are not included in the additional testers list.

testerNotes
string

Optional tester notes for the build

downloadURL
string

The url to download the build. The request to this URL must be authenticated with a Runway API key.

object (CIBuildEntity)

The CI build associated with this Build Distro build

binaryBuildNumber
string

The build number found associated to the binary artifact

binaryBuildVersion
string

The build version found associated to the binary artifact

binaryBuildType
string

The type of binary artifact

required
Array of objects (BuildDistroAdditionalArtifact)

Additional artifacts for the build

{
  • "buildId": "12345",
  • "status": "active",
  • "bucketName": "Release candidates",
  • "bucketId": "abc123",
  • "artifactFileName": "my-app.ipa",
  • "createdAt": "2022-03-02T01:15:00Z",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "additionalTesters": [
    ],
  • "testerNotes": "string",
  • "ciBuild": {
    },
  • "binaryBuildNumber": "12345",
  • "binaryBuildVersion": "1.2.3",
  • "binaryBuildType": "ipa",
  • "additionalArtifacts": []
}

BuildDistroAdditionalArtifact

fileName
required
string

The name of the file

size
required
number

The file's size in bytes

downloadUrl
required
string

The file's download URL. Requests to this URL must be authenticated with a Runway API key.

BuildDistroBucketEntity

id
required
string

The id of the Build Distro bucket

name
required
string

The name of the bucket

type
required
string (BucketType)
Enum: "custom" "personal" "rc" "dev"

The type of bucket

required
object (BucketRule)

Any rules defined for the bucket

required
Array of objects (BucketMember)

The members of the bucket

orgWideAccessEnabled
required
boolean

Whether or not the bucket has org-wide access enabled

status
required
string (BucketStatus)
Enum: "active" "archived"

The status of the bucket

notificationsEnabled
required
boolean

Whether or not the bucket has notifications enabled

required
Array of objects (NotificationEntity)

The notifications for the bucket

createdAt
required
string <date-time>
updatedAt
required
string <date-time>
required
Array of objects (AutomationEntity)

The automations for the bucket

archivedAt
string <date-time>
totalBuildsCount
required
integer

The total count of builds in the bucket

{
  • "id": "12345",
  • "name": "Release candidates",
  • "type": "custom",
  • "rules": {
    },
  • "members": [
    ],
  • "orgWideAccessEnabled": true,
  • "status": "active",
  • "notificationsEnabled": true,
  • "notifications": [
    ],
  • "createdAt": "2022-03-02T01:15:00Z",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "automations": [
    ],
  • "archivedAt": "2022-03-02T01:15:00Z",
  • "totalBuildsCount": 0
}

WorkItem

id
required
string

The id of the work item

required
object (WorkItemTicket)

Issue tracking item associated with work item, WorkItemTicket

required
WorkItemCodeCommit (object) or WorkItemCodePullRequest (object)

VCS item associated with work item

explanationText
required
string

The detailed explanation of why this work item appears in this release

ignored
required
boolean

If the work item has been marked as ignored

isItemDone
required
boolean

If the work item is completed

{
  • "id": "acb-1234",
  • "ticket": {
    },
  • "code": {
    },
  • "explanationText": "string",
  • "ignored": true,
  • "isItemDone": true
}

WorkItemTicket

identifier
required
string

The identifier of the ticket

description
required
string

The description of the ticket

url
required
string

The url of the ticket

owner
required
string

The owner of the ticket

reporter
required
string

The reporter of the ticket

status
required
string

The status of the ticket

createdAt
required
string <date-time>

The date and time the ticket was created

updatedAt
required
string <date-time>

The date and time the ticket was last updated

isTicketDone
required
boolean

If the ticket is completed

project
required
object

The project the ticket is associated with

{
  • "identifier": "string",
  • "description": "string",
  • "url": "string",
  • "owner": "string",
  • "reporter": "string",
  • "status": "string",
  • "createdAt": "2022-03-02T01:15:00Z",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "isTicketDone": true,
  • "project": { }
}

WorkItemCodeCommit

identifier
required
string

The identifier of the commit

codeStatus
required
string (CodeStatus)
Enum: "openPR" "merged" "unmerged" "cherryPickPending" "cherryPickOpen" "cherryPickFailed" "cherryPickMerged"

The status of the code

type
required
string (CodeType)
Enum: "commit" "pullRequest"

The type of code item (commit in this case)

url
required
string

The url of the commit

author
required
string

The author of the commit

message
required
string

The message of the commit

branch
required
string

The branch of the commit

committedAt
required
string <date-time>

The date and time the commit was created

authoredAt
required
string <date-time>

The date and time the commit was authored

{
  • "identifier": "string",
  • "codeStatus": "openPR",
  • "type": "commit",
  • "url": "string",
  • "author": "string",
  • "message": "string",
  • "branch": "string",
  • "committedAt": "2022-03-02T01:15:00Z",
  • "authoredAt": "2022-03-02T01:15:00Z"
}

WorkItemCodePullRequest

identifier
required
string

The identifier of the pull request

codeStatus
string (CodeStatus)
Enum: "openPR" "merged" "unmerged" "cherryPickPending" "cherryPickOpen" "cherryPickFailed" "cherryPickMerged"

The status of the pull request

type
required
string (CodeType)
Enum: "commit" "pullRequest"

The type of code item (pullRequest in this case)

url
required
string

The url of the pull request

title
required
string

The title of the pull request

description
required
string

The description of the pull request

baseBranch
required
string

The base branch of the pull request

headBranch
required
string

The head branch of the pull request

author
required
string

The author of the pull request

createdAt
required
string <date-time>

The date and time the pull request was created

updatedAt
required
string <date-time>

The date and time the pull request was last updated

pullRequestStatus
required
string (PullRequestStatus)
Enum: "open" "merged" "closed" "unknown"

The status of the pull request

{
  • "identifier": "string",
  • "codeStatus": "openPR",
  • "type": "commit",
  • "url": "string",
  • "title": "string",
  • "description": "string",
  • "baseBranch": "string",
  • "headBranch": "string",
  • "author": "string",
  • "createdAt": "2022-03-02T01:15:00Z",
  • "updatedAt": "2022-03-02T01:15:00Z",
  • "pullRequestStatus": "open"
}

CodeStatus

string (CodeStatus)
Enum: "openPR" "merged" "unmerged" "cherryPickPending" "cherryPickOpen" "cherryPickFailed" "cherryPickMerged"

Status of WorkItemCode entity

"openPR"

CodeType

string (CodeType)
Enum: "commit" "pullRequest"

Type of WorkItemCode entity

"commit"

PullRequestStatus

string (PullRequestStatus)
Enum: "open" "merged" "closed" "unknown"

Status of WorkItemCode entity

"open"

BucketMember

permissionLevel
required
string
Enum: "admin" "uploader" "tester"

The permission level associated with the tester

type
required
string
Enum: "user" "userGroup"

The type of tester

id
required
string

The ID of the user or user group

{
  • "permissionLevel": "admin",
  • "type": "user",
  • "id": "string"
}

BuildDistroBuildTester

type
required
string
Enum: "user" "userGroup"

The type of tester

id
required
string

The ID of the user or user group

{
  • "type": "user",
  • "id": "string"
}

NotificationEntity

type
required
string
enabled
required
boolean
{
  • "type": "string",
  • "enabled": true
}

AutomationEntity

type
required
string
enabled
required
boolean
{
  • "type": "string",
  • "enabled": true
}

BucketRule

type
required
string

The type of rule

fileFilterPatterns
required
Array of strings

The patterns to match files on

branch
string

The branch to match on. You should only set this value on branch rules.

baseBranch
string

The target branch for Pull Requests to match on. You should only set this value on pr rules.

workflowId
string

The Id for the workflow associated with this rule.

{
  • "type": "string",
  • "fileFilterPatterns": [
    ],
  • "branch": "string",
  • "baseBranch": "string",
  • "workflowId": "string"
}

BuildDistroBuildStatus

string (BuildDistroBuildStatus)
Enum: "active" "expired" "deleted"
"active"