Unity DevOps Build Automation

NOTE: As of February 15, 2023, any automation using this API should support redirects for all endpoints to avoid any disruptions in the future.

This API is intended to be used in conjunction with Unity DevOps Build Automation.

Making requests

This website is built to allow requests to be made against the API. If you are currently logged into Unity DevOps you should be able to make requests without entering an API key.

You can find your API key in the Unity Cloud Services portal by clicking on 'Build Automation Settings' in the sidebar. Copy the API Key and paste it into the upper left corner of this website. It will be used in all subsequent requests.

Clients

The Build Automation API is based upon Swagger. Client libraries to integrate with your projects can easily be generated with the Swagger Code Generator.

The JSON schema required to generate a client for this API version is located here:

https://build-api.cloud.unity3d.com/api/v1/api.json

Authorization

The Build Automation API requires an access token from your Unity DevOps account, which can be found by selecting Settings under DevOps > Build Automation at https://dashboard.unity3d.com/cloud-build

To authenticate requests, include a Basic Authentication header with your API key as the value. e.g.

Authorization: Basic [YOUR API KEY]

Pagination

Paged results will take two parameters. A page number that is calculated based upon the per_page amount. For instance if there are 40 results and you specify page 2 with per_page set to 10 you will receive records 11-20.

Paged results will also return a Content-Range header. For the example above the content range header would look like this:

Content-Range: items 11-20/40

Versioning

The API version is indicated in the request URL. Upgrading to a newer API version can be done by changing the path.

The API will receive a new version in the following cases:

  • removal of a path or request type
  • addition of a required field
  • removal of a required field

The following changes are considered backwards compatible and will not trigger a new API version:

  • addition of an endpoint or request type
  • addition of an optional field
  • removal of an optional field
  • changes to the format of ids

Identifiers

It should not be assumed that any of the identifiers used in paths will be a perfect match for your user-entered information. If you see unexpected 403s or 404s from API calls then check your identifiers match the ones used by the API. In particular, projectId does NOT typically change when the project is renamed and in fact may not be a direct match for the project name even at initial creation time.

To avoid confusion we recommend that instead of using the human-readable autogenerated orgId and projectId available from the API you should instead use:

  • org foreign key for orgId (available from project APIs as orgFk and org APIs as coreForeignKey)
  • guid for projectId

All links generated by the API and the Dashboard should follow this format already, making it easy to figure out the correct parameters by making a comparison.

Rate Limiting

Requests against the Build Automation API are limited to a rate of 100 per minute. To preserve the quality of service throughout Build Automation, additional rate limits may apply to some actions. For example, polling aggressively instead of using webhooks or making API calls with a high concurrency may result in rate limiting.

It is not intended for these rate limits to interfere with any legitimate use of the API. Please contact support at cloudbuild@unity3d.com if your use is affected by this rate limit.

You can check the returned HTTP headers for any API request to see your current rate limit status.

  • X-RateLimit-Limit: maximum number of requests per minute
  • X-RateLimit-Remaining: remaining number of requests in the current window
  • X-RateLimit-Reset: time at which the current window will reset (UTC epoch seconds)

Once you go over the rate limit you will receive an error response:

HTTP Status: 429
{
"error": "Rate limit exceeded, retry in XX seconds"
}

# initialize the API client configuration = Configuration(); configuration.username = "[YOUR API KEY]"; client = CloudBuild.ApiClient("https://build-api.cloud.unity3d.com/api/v1")

Paths

Get billing plan

GET /orgs/{orgid}/projects/{projectid}/billingplan_alpha

Description

Get the billing plan for the specified organization (but pull from project)

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
`

List all build target groups for a project

GET /orgs/{orgid}/projects/{projectid}/buildTargetGroups

Description

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildTargetGroups

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
data: object[]
object
id: string
name: string
description: string
created: string (date-time)
lastModified: string (date-time)
deleted: boolean
enabled: boolean
buildTargets: object[]
object
buildTargetId: string
name: string
enabled: boolean
platform: string
builderOperatingSystem: string
`
{ "data": [ { "id": "63e31979d9efa30438dcbee5", "name": "test group number 3", "description": "hi this is a description", "created": "2023-02-08T03:39:37.545Z", "lastModified": "2023-02-08T03:39:37.548Z", "deleted": false, "enabled": true, "buildTargets": [ { "buildTargetId": "default-mac-desktop-universal", "name": "Default Mac desktop Universal", "enabled": true, "platform": "standaloneosxuniversal", "builderOperatingSystem": "mac" } ] }, { "id": "63e31979d9efa30438dcbee6", "name": "test group number 4", "description": "hi this is a description", "created": "2023-02-11T03:39:37.545Z", "lastModified": "2023-02-11T03:39:37.548Z", "deleted": false, "enabled": true, "buildTargets": [ { "buildTargetId": "default-mac-desktop-universal", "name": "Default Mac desktop Universal", "enabled": true, "platform": "standaloneosxuniversal", "builderOperatingSystem": "mac" } ] } ] }

Create build target group for a project

POST /orgs/{orgid}/projects/{projectid}/buildTargetGroups

Description

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string

Parameters are specified as application/json in the request body.

Options for creating a build target group

{"required":["name","buildTargetIds"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"buildTargetIds":{"type":"array","items":{"type":"string"}}}}
curl -X POST -H "Content-Type: application/json" -d '{"name": "test group number 3", "description": "hi this is a description", "buildTargetIds": ["default-mac-desktop-universal"]}' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildTargetGroups

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
id: string
name: string
description: string
created: string (date-time)
lastModified: string (date-time)
deleted: boolean
enabled: boolean
buildTargets: object[]
object
buildTargetId: string
name: string
enabled: boolean
platform: string
builderOperatingSystem: string
`
{ "id": "63e31979d9efa30438dcbee5", "name": "test group number 3", "description": "hi this is a description", "created": "2023-02-08T03:39:37.545Z", "lastModified": "2023-02-08T03:39:37.548Z", "deleted": false, "enabled": true, "buildTargets": [ { "buildTargetId": "default-mac-desktop-universal", "name": "Default Mac desktop Universal", "enabled": true, "platform": "standaloneosxuniversal", "builderOperatingSystem": "mac" } ] }

Delete build target groups for a project

DELETE /orgs/{orgid}/projects/{projectid}/buildTargetGroups

Description

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string

Parameters are specified as application/json in the request body.

Options for deleting build target groups

{"required":["buildTargetGroupIds"],"properties":{"buildTargetGroupIds":{"type":"array","maxItems":500,"items":{"type":"string"}}}}
curl -X DELETE -H "Content-Type: application/json" -d '{"buildTargetGroupIds": ["643777304e3edf0016865fbc", "643858504af6150017aa3b6b"]}' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildTargetGroups

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Set enabled state of build target groups for a project

PUT /orgs/{orgid}/projects/{projectid}/buildTargetGroups/enabled

Description

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string

Parameters are specified as application/json in the request body.

Options for updating the enabled state of build target groups

{"required":["buildTargetGroupIds","enabled"],"properties":{"buildTargetGroupIds":{"type":"array","minItems":1,"maxItems":500,"items":{"type":"string"}},"enabled":{"type":"boolean"}}}
curl -X PUT -H "Content-Type: application/json" -d '{"enabled": true, "buildTargetGroupIds": ["63e31979d9efa30438dcbee5"]}' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildTargetGroups/enabled

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
data: object[]
object
id: string
name: string
description: string
created: string (date-time)
lastModified: string (date-time)
deleted: boolean
enabled: boolean
buildTargets: object[]
object
buildTargetId: string
name: string
enabled: boolean
platform: string
builderOperatingSystem: string
`
{ "data": [ { "id": "63e31979d9efa30438dcbee5", "name": "test group number 3", "description": "hi this is a description", "created": "2023-02-08T03:39:37.545Z", "lastModified": "2023-02-08T03:39:37.548Z", "deleted": false, "enabled": false, "buildTargets": [ { "buildTargetId": "default-mac-desktop-universal", "name": "Default Mac desktop Universal", "enabled": true, "platform": "standaloneosxuniversal", "builderOperatingSystem": "mac" } ] } ] }

Update build target group for a project

PATCH /orgs/{orgid}/projects/{projectid}/buildTargetGroups/{buildtargetgroupid}

Description

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetgroupid

Build target group identifier

path string

Parameters are specified as application/json in the request body.

Options for updating a build target group

{"properties":{"name":{"type":"string"},"description":{"type":"string"},"buildTargetIds":{"type":"array","items":{"type":"string"}}}}
curl -X PATCH -H "Content-Type: application/json" -d '{"name": "test group number 3", "description": "This is a newly added description", "buildTargetIds": ["default-mac-desktop-universal"]}' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildTargetGroups/{buildtargetgroupid}

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
id: string
name: string
description: string
created: string (date-time)
lastModified: string (date-time)
deleted: boolean
enabled: boolean
buildTargets: object[]
object
buildTargetId: string
name: string
enabled: boolean
platform: string
builderOperatingSystem: string
`
{ "id": "63e31979d9efa30438dcbee5", "name": "test group number 3", "description": "This is a newly added description", "created": "2023-02-08T03:39:37.545Z", "lastModified": "2023-02-08T03:39:37.548Z", "deleted": false, "enabled": true, "buildTargets": [ { "buildTargetId": "default-mac-desktop-universal", "name": "Default Mac desktop Universal", "enabled": true, "platform": "standaloneosxuniversal", "builderOperatingSystem": "mac" } ] }

Set enabled state of build target group for a project

PUT /orgs/{orgid}/projects/{projectid}/buildTargetGroups/{buildtargetgroupid}/enabled

Description

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetgroupid

Build target group identifier

path string

Parameters are specified as application/json in the request body.

Options for updating the enabled state of a build target group

{"required":["enabled"],"properties":{"enabled":{"type":"boolean"}}}
curl -X PUT -H "Content-Type: application/json" -d '{"enabled": true}' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildTargetGroups/{buildtargetgroupid}/enabled

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
id: string
name: string
description: string
created: string (date-time)
lastModified: string (date-time)
deleted: boolean
enabled: boolean
buildTargets: object[]
object
buildTargetId: string
name: string
enabled: boolean
platform: string
builderOperatingSystem: string
`
{ "id": "63e31979d9efa30438dcbee5", "name": "test group number 3", "description": "This is a newly added description", "created": "2023-02-08T03:39:37.545Z", "lastModified": "2023-02-08T03:39:37.548Z", "deleted": false, "enabled": true, "buildTargets": [ { "buildTargetId": "default-mac-desktop-universal", "name": "Default Mac desktop Universal", "enabled": true, "platform": "standaloneosxuniversal", "builderOperatingSystem": "mac" } ] }

Builds Introduction

Builds contain the output of building a Build Target for a Project. They contain metadata about the build itself as well as links to the build artifacts.

For certain operations, you can substitute "_all" for the buildtargetid to operate across all configured build targets.

Get audit log

GET /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/auditlog

Description

Retrieve a list of historical settings changes for this build target.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
per_page

Number of audit log records to retrieve

query number 25
page

Skip to page number, based on per_page value

query number 1
curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/auditlog buildsApi = BuildsApi(client) auditlog = buildsApi.get_audit_log('{orgid}', '{projectid}', '{buildtargetid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
updatingUserEmail: string
updated: string (dateTime)
lines: object[]
object
label: string
field: string
to: string
from: string
`
[ { "updatingUserEmail": "julie.smith@example.org", "updated": "2015-08-04T17:18:24.532Z", "lines": [{ "from": "Latest 4.x", "to": "4.6.5", "label": "Unity version", "field": "buildtarget.settings.unityVersion" }] }, { "updatingUserEmail": "sandra.johnson@example.org", "updated": "2015-08-02T12:02:44.532Z", "lines": [{ "label": "Keypass", "field": "buildtarget.settings.platform.keystoreInfo.keypass", "from": "", "to": "changed" }] } ]

Get all build targets that can share caches with the specified build target

GET /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/compatibletargets

Description

Retrieve a list of build targets that are able to share caches with the specified build target.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/compatibletargets buildsApi = BuildsApi(client) buildtargets = buildsApi.get_compatible_targets('{orgid}', '{projectid}', '{buildtargetid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
name: string (up to 64 chars)
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
buildtargetid: string

unique id auto-generated from the build target name

enabled: boolean

whether this target can be built by the API

settings: object
autoBuild: boolean

start builds automatically when your repo is updated

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

autoDetectUnityVersion: boolean

attempt to automatically detect which unity version to use, fallback to specified unityVersion if unable to.

fallbackPatchVersion: boolean

attempt to get a similar unity patch version to use, applies to unavailable auto-detected Unity versions only.

executablename: string
scm: object
type: string , x ∈ { git , svn , p4 , oauth , plastic }
repo: string

Which repo to use. Only applies to Plastic SCM, other SCM types configure repo on the project level.

branch: string
subdirectory: string

subdirectory to build from

client: string

perforce only client workspace to build from

platform: object
bundleId: string

a unique identifier (com.example.name)

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

buildSchedule: object

For Scheduling builds

isEnabled: boolean
date: string (date-time)
repeatCycle: string , x ∈ { none , once (default) , daily , weekly , monthly , yearly }
cleanBuild: boolean
autoBuildCancellation: boolean
machineTypeLabel: string
operatingSystemSelected: string , x ∈ { mac , windows }
operatingSystemVersion: string

Choose the version of the operating system for building your project.

rubyVersion: string
remoteCacheStrategy: string , x ∈ { none , library , workspace , inherit }

Specifies the caching strategy (none, library, workspace, or inherit) for remote data storage and retrieval

buildTargetCopyCache: string

Specifies the id of the build target that this target's cache was copied from

cacheCompressionLevel: string , x ∈ { inherit (default) , none , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }

Specifies the compression level for caching workspace or Library.

advanced: object
cache: object
xcode: object
useArchiveAndExport: boolean
customFastlaneConfigPath: string

The path (including file name) from the project root to the custom FastLane configuration json file to configure multiple provisioning files, or customize the FastLane build process. See https://forum.unity.com/threads/xcode-9-multiple-provisioning-profiles.545121/ Will look for Assets/ucb_xcode_fastlane.json by default, if not specified.

uploadXCArchive: boolean

Upload the XCArchive file produced by the build. This file will be downloadable from the dashboard if this property is true.

shouldNotarize: boolean

Only used with OSX targets, this triggers signing and notarization process for the executable.

android: object
buildAppBundle: boolean
buildAssetPacks: boolean
androidSDKVersion: string

Android SDK Version

unity: object
preExportMethod: string

The fully-qualified name of a public static method you want us to call before we start the Unity build process. For example: ClassName.NeatMethod or NameSpace.ClassName.NeatMethod. No trailing parenthesis, and it can't have the same name as your Post-Export method!

postExportMethod: string

The fully-qualified name of a public static method you want us to call after we finish the Unity build process (but before Xcode). For example: ClassName.CoolMethod or NameSpace.ClassName.CoolMethod. No trailing parenthesis, and it can't have the same name as your Post-Export method! This method must accept a string parameter, which will receive the path to the exported Unity player (or Xcode project in the case of iOS).

preBuildScript: string

Relative path to the script that should be run before the build process starts.

postBuildScript: string

Relative path to the script that should be run after the build process finishes.

preBuildScriptFailsBuild: boolean

If this is true, a non-zero exit code on your preBuildScript will cause your build to be marked as Failed

postBuildScriptFailsBuild: boolean

If this is true, a non-zero exit code on your postBuildScript will cause your build to be marked as Failed

scriptingDefineSymbols: string

Enter the names of the symbols you want to define for iOS. These symbols can then be used as the conditions for #if directives just like the built-in ones. (i.e. #IF MYDEFINE or #IF AMAZON)

playerExporter: object
sceneList: string[]

A list of scenes to build overriding those specified in the Build Settings menu of your Unity project.

string

scene names

buildOptions: string[]

Unity Editor build options. Use BuildOptions.Development and BuildOptions.AllowDebugging to create a development build.

string
export: boolean true

Enable exporting a player from Unity (i.e. running BuildPipeline.BuildPlayer). Enabling this is equivalent to disabling Content-only Build in Build Target on Developer Dashboard. In general, this should be true, unless you are doing something something like an asset bundle only build or unit test only build without generating an actual build artifact.

playerSettings: object
Android: object
useAPKExpansionFiles: boolean

break up android apk into an installable apk and expansion files

editorUserBuildSettings: object
androidBuildSystem: string , x ∈ { internal , gradle }

which android build system to build with (android only, supported in Unity 5.5+)

standaloneBuildSubtarget: string , x ∈ { Player (default) , Server }

standalone build subtarget for Dedicated Server Build (supported in Unity 2021.2+). see https://docs.unity3d.com/2021.2/Documentation/ScriptReference/StandaloneBuildSubtarget.html

assetBundles: object
buildBundles: boolean

enable asset bundle builds for this target

basePath: string

base path relative to Assets folder where asset bundles are output. Default is 'AssetBundles'

buildAssetBundleOptions: string

comma separated list of flags from BuildAssetBundleOptions. see https://docs.unity3d.com/ScriptReference/BuildAssetBundleOptions.html

copyToStreamingAssets: boolean

copy bundles to streaming assets folder, which will be packaged into the exported player.

copyBundlePatterns: string[]

array of patterns to match (C# Regular Expressions) when copying asset bundle files. By default, all bundles will be copied.

string
addressables: object
buildAddressables: boolean

enable addressable builds for this target

contentUpdate: boolean

Update a previously built player with new Addressable Content.

profileName: string

which addressables profile should be used for the build

failedAddressablesFailsBuild: boolean true

Exit and mark the build as failed if an error occurs when addressables are built

contentUpdateSettings: object
contentStatePath: string

The path to a Content State .bin file relative to the project root

linkedTargetId: string

The Id of the build target to obtain a Content State .bin file from

generateBuildLayout: boolean

Whether to generate the bundle build layout report.

buildLayoutReportFileFormat: string , x ∈ { JSON (default) , TXT }

The format of the bundle build layout report.

runUnitTests: boolean

Run any unit tests your project has when a build happens.

runEditModeTests: boolean

Should Edit Mode unit tests be run? NOTE: requires runUnitTests to be true and building with Unity 5.6 or newer.

runPlayModeTests: boolean

Should Play Mode unit tests be run? NOTE: requires runUnitTests to be true and building with Unity 5.6 or newer.

failedUnitTestFailsBuild: boolean

Mark builds as failed if the unit tests do not pass.

unitTestMethod: string

LEGACY - The Unity method to call when running unit tests (only supported in Unity 5.2 and lower).

enableLightBake: boolean

Enable lightmap baking (disabled by default since it is very slow and usually unnecessary)

uwp: object
windowsSDKVersion: string , x ∈ { 10.0.17134.0 , 10.0.17763.0 , 10.0.18362.0 , 10.0.19041.0 , 10.0.20348.0 , 10.0.22621.0 , 10.0.22000.0 }

Sets Windows SDK Version to use when building UWP

visualStudioVersion: string , x ∈ { 2019 , 2022 }

Sets the Visual Studio Version to use when building UWP

wsaArchitecture: string,null , x ∈ { x64 , x86 , ARM , ARM64 }

Sets target architecture for Exectuable Only builds

capabilities: array,null

Sets the capabilities of the build UWP application

targetFamily: string[]

Sets the target device family for the build

string , x ∈ { Universal , Desktop , Mobile , Xbox , Holographic , IoT , IoTHeadless }

The target device family

buildType: string , x ∈ { ExecutableOnly , D3D , XAML }

Sets the build type for UWP. Executable

msbuildConfiguration: string,null , x ∈ { Debug , Release , Master , MasterWithLTCG }

Sets the ms build configuration for UWP

platforms: array,null

Sets the target platforms for the AppXBundle

publishVisualStudioSolution: boolean

Enable publishing of the visual studio .sln file

gamecorescarlett: object
ps5: object
buildTargetGroups: object[]
object
id: string
name: string
lastBuilt: object
unityVersion: string

Last Unity version built by this target. Setting this has no effect.

credentials: object
signing: object
credentialid: string
credentialResourceRef: object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

uuid: string

generated UUID of the profile

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string

expiration date

links: object
builds: object[]
object

buildattempt

build: number
buildtargetid: string

unique id auto-generated from the build target name

buildTargetName: string (up to 64 chars)
buildGUID: string

unique GUID identifying this build

buildStatus: string , x ∈ { created , queued , sentToBuilder , started , restarted , success , failure , canceled , unknown }
cleanBuild: boolean

if the build was built without using data cached from previous builds

failureDetails: object[]

list of failure details for this build attempt, when available

object
label: string
resolutionHint: string
stages: string[]
string
failureType: string
count: number
canceledBy: string , x ∈ { api , service , service-timelimit , concurrency-timelimit , restart-limit , evaluation-timelimit , jenkins-timelimit , service-badconfiguration , billing-invalidsubscription }
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
workspaceSize: number

size of workspace in bytes

created: string

when the build was created

finished: string

when the build completely finished

checkoutStartTime: string

when the build starting checking out code

checkoutTimeInSeconds: number

amount of time spent checking out code

buildStartTime: string

when the build started compiling

buildTimeInSeconds: number

amount of time spend compiling

publishStartTime: string

when the build started saving build artifacts

publishTimeInSeconds: number

amount of time spent saving build artifacts

totalTimeInSeconds: number

total time for the build

billableTimeInSeconds: number

total billable time for the build

unitTestTimeInSeconds: number

total time for unit test execution step

editModeTestTimeInSeconds: number

total time for unit test execution step

playModeTestTimeInSeconds: number

total time for unit test execution step

lastBuiltRevision: string

source control commit id for the build

changeset: object[]

a list of source control changes between this and the last build

object
favorited: boolean

if the build is marked as do not delete or not

label: string

description given when a build is favorited

deleted: boolean

if the build is deleted or not

headless: object

if the build was built to run in linux headless mode

credentialsOutdated: boolean

if a newer credential has been attached to this buildtarget and the build can be re-signed

groupBuildId: string (uuid)

the unique ID used to launch a group of attempts

buildTargetGroups: object[]

list of build target groups this build attempt is a part of

object
name: string
id: string
deleted: boolean
enabled: boolean
machineType: object

the type of machine used to build this build

name: string
label: string
enabled: boolean
operatingSystem: string
deletedBy: string

email address of the user who deleted this attempt

queuedReason: string , x ∈ { targetConcurrency , cooldown , buildConcurrency , concurrency , waitingForBuildAgent , evaluating , sentToBuilder , notPending }

reason the build is currently waiting

cooldownDate: string

time until this build will be reconsidered for building

scmBranch: string

scm branch to be built

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

operatingSystemVersion: string

a supported operating system version (ex. 'monterey')

operatingSystem: string

the OS that this build ran (or will run) on (ex. 'windows' / 'mac')

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

auditChanges: number
projectVersion: object
name: string

automatically generated name for the build

filename: string

filename for the primary artifact

projectName: string

name of the project

platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
size: number

size of the the primary build artifact in bytes

created: string

creation date

lastMod: string

last modified date

bundleId: string

a unique identifier (com.example.name)

udids: string[]

iPhone unique identifiers that are able to install this build

string
links: object

links to build artifacts

projectName: string
projectId: string
projectGuid: string
orgId: string
orgFk: string
filetoken: string
links: object
artifacts: object[]
object
object
href: string
method: string
meta: object
buildReport: object
errors: integer
warnings: integer
testResults: object

results from the build's unit tests, if any

unit_test: object
unit_test_editmode: object
unit_test_playmode: object
machineTypeLabel: string
requestedRevision: string
error: string
links: object
`
[ { "name": "Default WebGL", "platform": "webgl", "buildtargetid": "default-webgl", "enabled": true, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl" }, "start_builds": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/builds" }, "list_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/builds" }, "cancel_builds": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/builds" }, "polling": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/polling" } } }, { "name": "Default Linux desktop Universal", "platform": "standalonelinuxuniversal", "buildtargetid": "default-linux-desktop-universal", "enabled": true, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal" }, "start_builds": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal/builds" }, "list_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal/builds" }, "cancel_builds": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal/builds" }, "polling": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal/polling" } } } ]

Delete all artifacts associated with all non-favorited builds for a specified buildtargetid (_all is allowed).

DELETE /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/artifacts

Description

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
curl -X DELETE -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/artifacts buildsApi = BuildsApi(client) build = buildsApi.delete_all_build_artifacts('{orgid}', '{projectid}', '{buildtargetid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Delete all artifacts associated with a specific build

DELETE /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/artifacts

Description

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
number

Build number or in some cases _all

path string
curl -X DELETE -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/artifacts buildsApi = BuildsApi(client) build = buildsApi.delete_build_artifacts('{orgid}', '{projectid}', '{buildtargetid}', '{number}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Delete artifacts for a batch of builds

POST /orgs/{orgid}/projects/{projectid}/artifacts/delete

Description

Delete all artifacts whose build target ids and build numbers are included in the builds array. Alternatively, delete all builds that match a given filter, excluding builds from the operation by including their build target ids and build numbers in the excludedBuilds array (the allWithExclusions query parameter must be set to true for this to work). Builds that are favorited, or whose status does not match one of the following statuses, will not be deleted: success, failure, canceled, unknown.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
allWithExclusions

Flag to indicate that the request will attempt to delete all builds, minus the ones included in the body's excludedBuilds array

query boolean

Parameters are specified as application/json in the request body.

Options to specify what builds to delete

{"properties":{"builds":{"type":"array","items":{"required":["buildtargetid","build"],"properties":{"buildtargetid":{"type":"string"},"build":{"type":"number"}}}},"excludedBuilds":{"type":"array","items":{"type":"object","properties":{"buildtargetid":{"type":"string"},"build":{"type":"number"}}}},"filters":{"type":"object","properties":{"buildStatus":{"type":"array"},"target":{"type":"string"},"platform":{"type":"string"},"search":{"type":"string"},"targetGroup":{"type":"string","description":"the id of the target group to filter the delete by"}},"additionalProperties":false},"deleteOnOrBeforeDate":{"type":"string","format":"date-time"}}}
curl -X POST -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" -d '{builds: [{buildtargetid:"default-android",build:1}]}' https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/artifacts/delete buildsApi = BuildsApi(client) build = buildsApi.batch_delete_build_artifacts('{orgid}', '{projectid}', '{builds: [{buildtargetid:"default-android",build:1}]}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
numberOfDeletedBuildArtifacts: number
`

List all builds

GET /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds

Description

List all running and finished builds, sorted by build number (optionally paginating the results). Use '_all' as the buildtargetid to get all configured build targets. The response includes a Content-Range header that identifies the range of results returned and the total number of results matching the given query parameters.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
include

Extra fields to include in the response

query string
per_page

Number of audit log records to retrieve

query number 25
page

Skip to page number, based on per_page value

query number 1
buildStatus

Query for only builds of a specific status

query string
platform

Query for only builds of a specific platform

query string
showDeleted

Query for builds that have been deleted

query boolean
onlyFavorites

Query for builds that have been favorited

query boolean
cleanBuild

Query for builds that have either been built clean or using caches

query boolean
search

Regex string to use to restrict the results via search

query string
latestBuildPerPlatformOnly

Query for only the most recent build per platform

query boolean
targetGroup

A build target group identifier

query string
groupBuildId

A group build identifier

query string (uuid)
Default List curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds With Paging curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds?per_page=5&page=2 With Filtering curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds?buildStatus=success&platform=ios # Default List buildsApi = BuildsApi(client) builds = buildsApi.get_builds('{orgid}', '{projectid}', '{buildtargetid}') # With Paging buildsApi = BuildsApi(client) builds = buildsApi.get_builds('{orgid}', '{projectid}', '{buildtargetid}', per_page=5, page=2) # With Filtering buildsApi = BuildsApi(client) builds = buildsApi.get_builds('{orgid}', '{projectid}', '{buildtargetid}', build_status='success', platform='ios')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object

buildattempt

build: number
buildtargetid: string

unique id auto-generated from the build target name

buildTargetName: string (up to 64 chars)
buildGUID: string

unique GUID identifying this build

buildStatus: string , x ∈ { created , queued , sentToBuilder , started , restarted , success , failure , canceled , unknown }
cleanBuild: boolean

if the build was built without using data cached from previous builds

failureDetails: object[]

list of failure details for this build attempt, when available

object
label: string
resolutionHint: string
stages: string[]
string
failureType: string
count: number
canceledBy: string , x ∈ { api , service , service-timelimit , concurrency-timelimit , restart-limit , evaluation-timelimit , jenkins-timelimit , service-badconfiguration , billing-invalidsubscription }
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
workspaceSize: number

size of workspace in bytes

created: string

when the build was created

finished: string

when the build completely finished

checkoutStartTime: string

when the build starting checking out code

checkoutTimeInSeconds: number

amount of time spent checking out code

buildStartTime: string

when the build started compiling

buildTimeInSeconds: number

amount of time spend compiling

publishStartTime: string

when the build started saving build artifacts

publishTimeInSeconds: number

amount of time spent saving build artifacts

totalTimeInSeconds: number

total time for the build

billableTimeInSeconds: number

total billable time for the build

unitTestTimeInSeconds: number

total time for unit test execution step

editModeTestTimeInSeconds: number

total time for unit test execution step

playModeTestTimeInSeconds: number

total time for unit test execution step

lastBuiltRevision: string

source control commit id for the build

changeset: object[]

a list of source control changes between this and the last build

object
favorited: boolean

if the build is marked as do not delete or not

label: string

description given when a build is favorited

deleted: boolean

if the build is deleted or not

headless: object

if the build was built to run in linux headless mode

credentialsOutdated: boolean

if a newer credential has been attached to this buildtarget and the build can be re-signed

groupBuildId: string (uuid)

the unique ID used to launch a group of attempts

buildTargetGroups: object[]

list of build target groups this build attempt is a part of

object
name: string
id: string
deleted: boolean
enabled: boolean
machineType: object

the type of machine used to build this build

name: string
label: string
enabled: boolean
operatingSystem: string
deletedBy: string

email address of the user who deleted this attempt

queuedReason: string , x ∈ { targetConcurrency , cooldown , buildConcurrency , concurrency , waitingForBuildAgent , evaluating , sentToBuilder , notPending }

reason the build is currently waiting

cooldownDate: string

time until this build will be reconsidered for building

scmBranch: string

scm branch to be built

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

operatingSystemVersion: string

a supported operating system version (ex. 'monterey')

operatingSystem: string

the OS that this build ran (or will run) on (ex. 'windows' / 'mac')

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

auditChanges: number
projectVersion: object
name: string

automatically generated name for the build

filename: string

filename for the primary artifact

projectName: string

name of the project

platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
size: number

size of the the primary build artifact in bytes

created: string

creation date

lastMod: string

last modified date

bundleId: string

a unique identifier (com.example.name)

udids: string[]

iPhone unique identifiers that are able to install this build

string
links: object

links to build artifacts

projectName: string
projectId: string
projectGuid: string
orgId: string
orgFk: string
filetoken: string
links: object
artifacts: object[]
object
object
href: string
method: string
meta: object
buildReport: object
errors: integer
warnings: integer
testResults: object

results from the build's unit tests, if any

unit_test: object
unit_test_editmode: object
unit_test_playmode: object
machineTypeLabel: string
requestedRevision: string
error: string
`
[ { "orgId": example-org, "projectId": new-project, "projectName": new-project, "build": 2, "buildtargetid": "android-builder", "buildTargetName": "Android Builder", "buildStatus": "success", "platform": "android", "workspaceSize": 8911006, "created": "2015-07-14T21:56:28.202Z", "finished": "2015-07-14T22:04:10.000Z", "checkoutStartTime": "2015-07-14T22:00:20.000Z", "checkoutTimeInSeconds": 40, "buildStartTime": "2015-07-14T22:01:00.000Z", "buildTimeInSeconds": 152.386056, "publishStartTime": "2015-07-14T22:03:33.000Z", "publishTimeInSeconds": 10.371839, "totalTimeInSeconds": 461.798, "lastBuiltRevision": "88e565df27ca35c2603c29eb924dc018f32a22c1", "changeset": [], "favorited": false, "scmBranch": "master", "unityVersion": "latest", "auditChanges": 0, "projectVersion": { "name": "android-builder-2", "filename": "example-org/new-project/android-builder-2/android-builder.apk", "projectName": "New Project", "platform": "android", "size": 14452762, "created": "2015-07-14T22:03:45.847Z", "lastMod": "2015-07-14T22:03:46.251Z", "bundleId": "com.unity3d.example", "udids": [] }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2" }, "log": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/log" }, "auditlog": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/auditlog" }, "download_primary": { "method": "get", "href": "https://unitycloud-build-user-svc-dev-build.s3.amazonaws.com/example-org/new-project/android-builder-2/android-builder.apk?AWSAccessKeyId=AKIAI6ZGSQWNDMF7X33A&Expires=1447890477&Signature=e9Hs%2FYECpVlrMITqCRY5dSWXChE%3D&response-content-disposition=attachment%3B%20filename%3Dexample-org%2Fnew-project-android-2-1436910988202.apk&response-content-type=application%2Foctet-stream", "meta": { "type": "APK" } }, "create_share": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/share" }, "revoke_share": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/share" }, "icon": { "method": "get", "href": "https://unitycloud-build-user-svc-dev-extras-pub.s3.amazonaws.com/example-org/new-project/android-builder-2/icon.png" } } }, { "orgId": example-org, "projectId": new-project, "projectName": new-project, "build": 1, "buildtargetid": "android-builder", "buildTargetName": "Android Builder", "buildStatus": "success", "cleanBuild": "false", "platform": "android", "workspaceSize": 8910982, "created": "2015-07-14T21:51:26.520Z", "finished": "2015-07-14T21:54:43.000Z", "checkoutStartTime": "2015-07-14T21:51:45.000Z", "checkoutTimeInSeconds": 41, "buildStartTime": "2015-07-14T21:52:26.000Z", "buildTimeInSeconds": 120.410226, "publishStartTime": "2015-07-14T21:54:27.000Z", "publishTimeInSeconds": 4.846675, "totalTimeInSeconds": 196.48, "lastBuiltRevision": "88e565df27ca35c2603c29eb924dc018f32a22c1", "changeset": [], "favorited": false, "scmBranch": "master", "unityVersion": "latest", "auditChanges": 0, "projectVersion": { "name": "android-builder-1", "filename": "example-org/new-project/android-builder-1/android-builder.apk", "projectName": "Example Unity Project", "platform": "android", "size": 14443743, "created": "2015-07-14T21:54:34.395Z", "lastMod": "2015-07-14T21:54:34.776Z", "bundleId": "com.tsugi.example", "udids": [] }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/1" }, "log": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/1/log" }, "auditlog": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/1/auditlog" }, "download_primary": { "method": "get", "href": "https://unitycloud-build-user-svc-dev-build.s3.amazonaws.com/example-org/new-project/android-builder-1/android-builder.apk?AWSAccessKeyId=AKIAI6ZGSQWNDMF7X33A&Expires=1447890477&Signature=5Z4ouUFyVIJ8jaChE%2F6K%2FMHHpiM%3D&response-content-disposition=attachment%3B%20filename%3Dexample-org%2Fnew-project-android-1-1436910686520.apk&response-content-type=application%2Foctet-stream", "meta": { "type": "APK" } }, "create_share": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/1/share" }, "revoke_share": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/1/share" }, "icon": { "method": "get", "href": "https://unitycloud-build-user-svc-dev-extras-pub.s3.amazonaws.com/example-org/new-project/android-builder-1/icon.png" } } } ]

Create new build

POST /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds

Description

Start the build process for this build target (or all targets, if '_all' is specified as the buildtargetid), if there is not one currently in process.

If a build is currently in process that information will be related in the 'error' field.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string

Parameters are specified as application/json in the request body.

Options for starting the builds. You can specify a platform and label only when starting a local (_local) build. A local build will return immediately and be marked as successful.

{"properties":{"clean":{"type":"boolean"},"delay":{"type":"number","description":"Delay to start build, in milliseconds"},"commit":{"type":"string"},"branch":{"type":"string","description":"Optional override for the default branch"},"headless":{"description":"Only valid for local builds\n","type":"boolean"},"label":{"description":"Only valid for local builds\n","type":"string"},"platform":{"description":"Only valid for local builds\n","type":"string","enum":["ios","android","webplayer","webgl","standaloneosxintel","standaloneosxintel64","standaloneosxuniversal","standalonewindows","standalonewindows64","standalonelinux","standalonelinux64","standalonelinuxuniversal","wsaplayer","gamecorescarlett","ps5"]},"operatingSystemSelected":{"description":"Optional operating system family for the build","type":"string"},"operatingSystemVersion":{"description":"Optional operating system version for the build","type":"string"},"buildTargetGroupIds":{"type":"array","items":{"type":"string"},"description":"Optional group ids for build. Must correspond to existing BuildTargetGroup id.\ngroupBuildId field is required if buildTargetGroupId is set.\n"},"groupBuildId":{"type":"string","format":"uuid","description":"Optional group build id for build. Must be unique id within the group.\nbuildTargetGroupIds field is required if groupBuildId is set.\n"},"machineTypeLabel":{"type":"string","enum":["win_premium_v1","win_standard_v1","mac_standard_v1","mac_premium_v1"],"description":"Optional machine type override at build time.\n"}}}
curl -X POST -d '{"clean": true, "delay": 30}' -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds buildsApi = BuildsApi(client) status = buildsApi.start_builds('{orgid}', '{projectid}', '{buildtargetid}', options={"clean": True, "delay": 30})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

202 Accepted
object

buildattempt

build: number
buildtargetid: string

unique id auto-generated from the build target name

buildTargetName: string (up to 64 chars)
buildGUID: string

unique GUID identifying this build

buildStatus: string , x ∈ { created , queued , sentToBuilder , started , restarted , success , failure , canceled , unknown }
cleanBuild: boolean

if the build was built without using data cached from previous builds

failureDetails: object[]

list of failure details for this build attempt, when available

object
label: string
resolutionHint: string
stages: string[]
string
failureType: string
count: number
canceledBy: string , x ∈ { api , service , service-timelimit , concurrency-timelimit , restart-limit , evaluation-timelimit , jenkins-timelimit , service-badconfiguration , billing-invalidsubscription }
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
workspaceSize: number

size of workspace in bytes

created: string

when the build was created

finished: string

when the build completely finished

checkoutStartTime: string

when the build starting checking out code

checkoutTimeInSeconds: number

amount of time spent checking out code

buildStartTime: string

when the build started compiling

buildTimeInSeconds: number

amount of time spend compiling

publishStartTime: string

when the build started saving build artifacts

publishTimeInSeconds: number

amount of time spent saving build artifacts

totalTimeInSeconds: number

total time for the build

billableTimeInSeconds: number

total billable time for the build

unitTestTimeInSeconds: number

total time for unit test execution step

editModeTestTimeInSeconds: number

total time for unit test execution step

playModeTestTimeInSeconds: number

total time for unit test execution step

lastBuiltRevision: string

source control commit id for the build

changeset: object[]

a list of source control changes between this and the last build

object
favorited: boolean

if the build is marked as do not delete or not

label: string

description given when a build is favorited

deleted: boolean

if the build is deleted or not

headless: object

if the build was built to run in linux headless mode

credentialsOutdated: boolean

if a newer credential has been attached to this buildtarget and the build can be re-signed

groupBuildId: string (uuid)

the unique ID used to launch a group of attempts

buildTargetGroups: object[]

list of build target groups this build attempt is a part of

object
name: string
id: string
deleted: boolean
enabled: boolean
machineType: object

the type of machine used to build this build

name: string
label: string
enabled: boolean
operatingSystem: string
deletedBy: string

email address of the user who deleted this attempt

queuedReason: string , x ∈ { targetConcurrency , cooldown , buildConcurrency , concurrency , waitingForBuildAgent , evaluating , sentToBuilder , notPending }

reason the build is currently waiting

cooldownDate: string

time until this build will be reconsidered for building

scmBranch: string

scm branch to be built

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

operatingSystemVersion: string

a supported operating system version (ex. 'monterey')

operatingSystem: string

the OS that this build ran (or will run) on (ex. 'windows' / 'mac')

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

auditChanges: number
projectVersion: object
name: string

automatically generated name for the build

filename: string

filename for the primary artifact

projectName: string

name of the project

platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
size: number

size of the the primary build artifact in bytes

created: string

creation date

lastMod: string

last modified date

bundleId: string

a unique identifier (com.example.name)

udids: string[]

iPhone unique identifiers that are able to install this build

string
links: object

links to build artifacts

projectName: string
projectId: string
projectGuid: string
orgId: string
orgFk: string
filetoken: string
links: object
artifacts: object[]
object
object
href: string
method: string
meta: object
buildReport: object
errors: integer
warnings: integer
testResults: object

results from the build's unit tests, if any

unit_test: object
unit_test_editmode: object
unit_test_playmode: object
machineTypeLabel: string
requestedRevision: string
error: string
`
Build Accepted [ { "build": 3, "buildtargetid": "android-builder", "buildTargetName": "Android Builder", "buildStatus": "queued", "cleanBuild": "false", "platform": "a ndroid", "created": "2015-11-19T22:02:20.244Z", "changeset": [], "favorited": false, "auditChanges": 1, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-ios/builds/3" }, "log": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-ios/builds/3/log" }, "auditlog": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-ios/builds/3/auditlog" }, "cancel": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-ios/builds/3" } } } ] Build Already Started [ { "buildtargetid": "android-builder", "buildTargetName": "Android Builder", "error": "Cannot start build - already a build pending." } ]

Cancel all builds

DELETE /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds

Description

Cancel all builds in progress for this build target (or all targets, if '_all' is specified as the buildtargetid). Canceling an already finished build will do nothing and respond successfully.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
curl -X DELETE -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds buildsApi = BuildsApi(client) buildsApi.cancel_all_builds('{orgid}', '{projectid}', '{buildtargetid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Build Status

GET /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}

Description

Retrieve information for a specific build. A Build resource contains information related to a build attempt for a build target, including the build number, changeset, build times, and other pertinent data.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
number

Build number or in some cases _all

path string
include

Extra fields to include in the response

query string
curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number} buildsApi = BuildsApi(client) build = buildsApi.get_build('{orgid}', '{projectid}', '{buildtargetid}', '{number}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK

buildattempt

build: number
buildtargetid: string

unique id auto-generated from the build target name

buildTargetName: string (up to 64 chars)
buildGUID: string

unique GUID identifying this build

buildStatus: string , x ∈ { created , queued , sentToBuilder , started , restarted , success , failure , canceled , unknown }
cleanBuild: boolean

if the build was built without using data cached from previous builds

failureDetails: object[]

list of failure details for this build attempt, when available

object
label: string
resolutionHint: string
stages: string[]
string
failureType: string
count: number
canceledBy: string , x ∈ { api , service , service-timelimit , concurrency-timelimit , restart-limit , evaluation-timelimit , jenkins-timelimit , service-badconfiguration , billing-invalidsubscription }
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
workspaceSize: number

size of workspace in bytes

created: string

when the build was created

finished: string

when the build completely finished

checkoutStartTime: string

when the build starting checking out code

checkoutTimeInSeconds: number

amount of time spent checking out code

buildStartTime: string

when the build started compiling

buildTimeInSeconds: number

amount of time spend compiling

publishStartTime: string

when the build started saving build artifacts

publishTimeInSeconds: number

amount of time spent saving build artifacts

totalTimeInSeconds: number

total time for the build

billableTimeInSeconds: number

total billable time for the build

unitTestTimeInSeconds: number

total time for unit test execution step

editModeTestTimeInSeconds: number

total time for unit test execution step

playModeTestTimeInSeconds: number

total time for unit test execution step

lastBuiltRevision: string

source control commit id for the build

changeset: object[]

a list of source control changes between this and the last build

object
favorited: boolean

if the build is marked as do not delete or not

label: string

description given when a build is favorited

deleted: boolean

if the build is deleted or not

headless: object

if the build was built to run in linux headless mode

credentialsOutdated: boolean

if a newer credential has been attached to this buildtarget and the build can be re-signed

groupBuildId: string (uuid)

the unique ID used to launch a group of attempts

buildTargetGroups: object[]

list of build target groups this build attempt is a part of

object
name: string
id: string
deleted: boolean
enabled: boolean
machineType: object

the type of machine used to build this build

name: string
label: string
enabled: boolean
operatingSystem: string
deletedBy: string

email address of the user who deleted this attempt

queuedReason: string , x ∈ { targetConcurrency , cooldown , buildConcurrency , concurrency , waitingForBuildAgent , evaluating , sentToBuilder , notPending }

reason the build is currently waiting

cooldownDate: string

time until this build will be reconsidered for building

scmBranch: string

scm branch to be built

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

operatingSystemVersion: string

a supported operating system version (ex. 'monterey')

operatingSystem: string

the OS that this build ran (or will run) on (ex. 'windows' / 'mac')

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

auditChanges: number
projectVersion: object
name: string

automatically generated name for the build

filename: string

filename for the primary artifact

projectName: string

name of the project

platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
size: number

size of the the primary build artifact in bytes

created: string

creation date

lastMod: string

last modified date

bundleId: string

a unique identifier (com.example.name)

udids: string[]

iPhone unique identifiers that are able to install this build

string
links: object

links to build artifacts

projectName: string
projectId: string
projectGuid: string
orgId: string
orgFk: string
filetoken: string
links: object
artifacts: object[]
object
object
href: string
method: string
meta: object
buildReport: object
errors: integer
warnings: integer
testResults: object

results from the build's unit tests, if any

unit_test: object
unit_test_editmode: object
unit_test_playmode: object
machineTypeLabel: string
requestedRevision: string
error: string
`
{ "build": 2, "buildtargetid": "android-builder", "buildTargetName": "Android Builder", "buildStatus": "success", "cleanBuild": "false", "platform": "android", "workspaceSize": 8911006, "created": "2015-07-14T21:56:28.202Z", "finished": "2015-07-14T22:04:10.000Z", "checkoutStartTime": "2015-07-14T22:00:20.000Z", "checkoutTimeInSeconds": 40, "buildStartTime": "2015-07-14T22:01:00.000Z", "buildTimeInSeconds": 152.386056, "publishStartTime": "2015-07-14T22:03:33.000Z", "publishTimeInSeconds": 10.371839, "totalTimeInSeconds": 461.798, "lastBuiltRevision": "88e565df27ca35c2603c29eb924dc018f32a22c1", "changeset": [], "favorited": true, "auditChanges": 0, "projectVersion": { "name": "android-builder-2", "filename": "example-org/new-project/android-builder-2/android-builder.apk", "projectName": "Example Unity Project", "platform": "android", "size": 14452762, "created": "2015-07-14T22:03:45.847Z", "lastMod": "2015-07-14T22:03:46.251Z", "bundleId": "com.tsugi.example", "udids": [] }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2" }, "log": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/log" }, "auditlog": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/auditlog" }, "download_primary": { "method": "get", "href": "https://unitycloud-build-user-svc-dev-build.s3.amazonaws.com/example-org/new-project/android-builder-2/android-builder.apk?AWSAccessKeyId=AKIAI6ZGSQWNDMF7X33A&Expires=1447973385&Signature=ffKQIKOJsKN6qrwzxObXSSyCVts%3D&response-content-disposition=attachment%3B%20filename%3Dexample-org%2Fnew-project-android-2-1436910988202.apk&response-content-type=application%2Foctet-stream", "meta": { "type": "APK" } }, "create_share": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/share" }, "revoke_share": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/share" }, "icon": { "method": "get", "href": "https://unitycloud-build-user-svc-dev-extras-pub.s3.amazonaws.com/example-org/new-project/android-builder-2/icon.png" } } }

Cancel build

DELETE /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}

Description

Cancel a build in progress. Canceling an already finished build will do nothing and respond successfully.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
number

Build number or in some cases _all

path string
curl -X DELETE -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number} buildsApi = BuildsApi(client) build = buildsApi.cancel_build('{orgid}', '{projectid}', '{buildtargetid}', '{number}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Update build information

PUT /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}

Description

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
number

Build number or in some cases _all

path string

Parameters are specified as application/json in the request body.

Options for build update

{"properties":{"favorited":{"type":"boolean"},"label":{"type":"string"}}}
curl -X PUT -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" -d '{"favorited": true}' https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number} buildsApi = BuildsApi(client) build = buildsApi.cancel_build('{orgid}', '{projectid}', '{buildtargetid}', '{number}', {"favorited": true}) responses:

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK

buildattempt

build: number
buildtargetid: string

unique id auto-generated from the build target name

buildTargetName: string (up to 64 chars)
buildGUID: string

unique GUID identifying this build

buildStatus: string , x ∈ { created , queued , sentToBuilder , started , restarted , success , failure , canceled , unknown }
cleanBuild: boolean

if the build was built without using data cached from previous builds

failureDetails: object[]

list of failure details for this build attempt, when available

object
label: string
resolutionHint: string
stages: string[]
string
failureType: string
count: number
canceledBy: string , x ∈ { api , service , service-timelimit , concurrency-timelimit , restart-limit , evaluation-timelimit , jenkins-timelimit , service-badconfiguration , billing-invalidsubscription }
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
workspaceSize: number

size of workspace in bytes

created: string

when the build was created

finished: string

when the build completely finished

checkoutStartTime: string

when the build starting checking out code

checkoutTimeInSeconds: number

amount of time spent checking out code

buildStartTime: string

when the build started compiling

buildTimeInSeconds: number

amount of time spend compiling

publishStartTime: string

when the build started saving build artifacts

publishTimeInSeconds: number

amount of time spent saving build artifacts

totalTimeInSeconds: number

total time for the build

billableTimeInSeconds: number

total billable time for the build

unitTestTimeInSeconds: number

total time for unit test execution step

editModeTestTimeInSeconds: number

total time for unit test execution step

playModeTestTimeInSeconds: number

total time for unit test execution step

lastBuiltRevision: string

source control commit id for the build

changeset: object[]

a list of source control changes between this and the last build

object
favorited: boolean

if the build is marked as do not delete or not

label: string

description given when a build is favorited

deleted: boolean

if the build is deleted or not

headless: object

if the build was built to run in linux headless mode

credentialsOutdated: boolean

if a newer credential has been attached to this buildtarget and the build can be re-signed

groupBuildId: string (uuid)

the unique ID used to launch a group of attempts

buildTargetGroups: object[]

list of build target groups this build attempt is a part of

object
name: string
id: string
deleted: boolean
enabled: boolean
machineType: object

the type of machine used to build this build

name: string
label: string
enabled: boolean
operatingSystem: string
deletedBy: string

email address of the user who deleted this attempt

queuedReason: string , x ∈ { targetConcurrency , cooldown , buildConcurrency , concurrency , waitingForBuildAgent , evaluating , sentToBuilder , notPending }

reason the build is currently waiting

cooldownDate: string

time until this build will be reconsidered for building

scmBranch: string

scm branch to be built

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

operatingSystemVersion: string

a supported operating system version (ex. 'monterey')

operatingSystem: string

the OS that this build ran (or will run) on (ex. 'windows' / 'mac')

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

auditChanges: number
projectVersion: object
name: string

automatically generated name for the build

filename: string

filename for the primary artifact

projectName: string

name of the project

platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
size: number

size of the the primary build artifact in bytes

created: string

creation date

lastMod: string

last modified date

bundleId: string

a unique identifier (com.example.name)

udids: string[]

iPhone unique identifiers that are able to install this build

string
links: object

links to build artifacts

projectName: string
projectId: string
projectGuid: string
orgId: string
orgFk: string
filetoken: string
links: object
artifacts: object[]
object
object
href: string
method: string
meta: object
buildReport: object
errors: integer
warnings: integer
testResults: object

results from the build's unit tests, if any

unit_test: object
unit_test_editmode: object
unit_test_playmode: object
machineTypeLabel: string
requestedRevision: string
error: string
`
{ "build": 2, "buildtargetid": "android-builder", "buildTargetName": "Android Builder", "buildStatus": "success", "cleanBuild": "false", "platform": "android", "workspaceSize": 8911006, "created": "2015-07-14T21:56:28.202Z", "finished": "2015-07-14T22:04:10.000Z", "checkoutStartTime": "2015-07-14T22:00:20.000Z", "checkoutTimeInSeconds": 40, "buildStartTime": "2015-07-14T22:01:00.000Z", "buildTimeInSeconds": 152.386056, "publishStartTime": "2015-07-14T22:03:33.000Z", "publishTimeInSeconds": 10.371839, "totalTimeInSeconds": 461.798, "lastBuiltRevision": "88e565df27ca35c2603c29eb924dc018f32a22c1", "changeset": [], "favorited": true, "auditChanges": 0, "projectVersion": { "name": "android-builder-2", "filename": "example-org/new-project/android-builder-2/android-builder.apk", "projectName": "Example Unity Project", "platform": "android", "size": 14452762, "created": "2015-07-14T22:03:45.847Z", "lastMod": "2015-07-14T22:03:46.251Z", "bundleId": "com.tsugi.example", "udids": [] }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2" }, "log": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/log" }, "auditlog": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/auditlog" }, "download_primary": { "method": "get", "href": "https://unitycloud-build-user-svc-dev-build.s3.amazonaws.com/example-org/new-project/android-builder-2/android-builder.apk?AWSAccessKeyId=AKIAI6ZGSQWNDMF7X33A&Expires=1447973385&Signature=ffKQIKOJsKN6qrwzxObXSSyCVts%3D&response-content-disposition=attachment%3B%20filename%3Dexample-org%2Fnew-project-android-2-1436910988202.apk&response-content-type=application%2Foctet-stream", "meta": { "type": "APK" } }, "create_share": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/share" }, "revoke_share": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/share" }, "icon": { "method": "get", "href": "https://unitycloud-build-user-svc-dev-extras-pub.s3.amazonaws.com/example-org/new-project/android-builder-2/icon.png" } } }

Get audit log

GET /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/auditlog

Description

Retrieve a list of settings changes between the last and current build.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
number

Build number or in some cases _all

path string
per_page

Number of audit log records to retrieve

query number 25
page

Skip to page number, based on per_page value

query number 1
curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/auditlog buildsApi = BuildsApi(client) auditlog = buildsApi.get_audit_log('{orgid}', '{projectid}', '{buildtargetid}', '{number}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
updatingUserEmail: string
updated: string (dateTime)
lines: object[]
object
label: string
field: string
to: string
from: string
`
[ { "updatingUserEmail": "julie.smith@example.org", "updated": "2015-08-04T17:18:24.532Z", "lines": [{ "from": "Latest 4.x", "to": "4.6.5", "label": "Unity version", "field": "buildtarget.settings.unityVersion" }] }, { "updatingUserEmail": "sandra.johnson@example.org", "updated": "2015-08-02T12:02:44.532Z", "lines": [{ "label": "Keypass", "field": "buildtarget.settings.platform.keystoreInfo.keypass", "from": "", "to": "changed" }] } ]

Re-sign a build artifact

POST /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/resign

Description

Re-sign a build artifact using the most recent credentials associated with the buildtarget.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
number

Build number or in some cases _all

path string
curl -X POST -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/resign buildsApi = BuildsApi(client) build = buildsApi.resign_build_artifact('{orgid}', '{projectid}', '{buildtargetid}', '{number}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

202 Accepted
object

buildattempt

build: number
buildtargetid: string

unique id auto-generated from the build target name

buildTargetName: string (up to 64 chars)
buildGUID: string

unique GUID identifying this build

buildStatus: string , x ∈ { created , queued , sentToBuilder , started , restarted , success , failure , canceled , unknown }
cleanBuild: boolean

if the build was built without using data cached from previous builds

failureDetails: object[]

list of failure details for this build attempt, when available

object
label: string
resolutionHint: string
stages: string[]
string
failureType: string
count: number
canceledBy: string , x ∈ { api , service , service-timelimit , concurrency-timelimit , restart-limit , evaluation-timelimit , jenkins-timelimit , service-badconfiguration , billing-invalidsubscription }
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
workspaceSize: number

size of workspace in bytes

created: string

when the build was created

finished: string

when the build completely finished

checkoutStartTime: string

when the build starting checking out code

checkoutTimeInSeconds: number

amount of time spent checking out code

buildStartTime: string

when the build started compiling

buildTimeInSeconds: number

amount of time spend compiling

publishStartTime: string

when the build started saving build artifacts

publishTimeInSeconds: number

amount of time spent saving build artifacts

totalTimeInSeconds: number

total time for the build

billableTimeInSeconds: number

total billable time for the build

unitTestTimeInSeconds: number

total time for unit test execution step

editModeTestTimeInSeconds: number

total time for unit test execution step

playModeTestTimeInSeconds: number

total time for unit test execution step

lastBuiltRevision: string

source control commit id for the build

changeset: object[]

a list of source control changes between this and the last build

object
favorited: boolean

if the build is marked as do not delete or not

label: string

description given when a build is favorited

deleted: boolean

if the build is deleted or not

headless: object

if the build was built to run in linux headless mode

credentialsOutdated: boolean

if a newer credential has been attached to this buildtarget and the build can be re-signed

groupBuildId: string (uuid)

the unique ID used to launch a group of attempts

buildTargetGroups: object[]

list of build target groups this build attempt is a part of

object
name: string
id: string
deleted: boolean
enabled: boolean
machineType: object

the type of machine used to build this build

name: string
label: string
enabled: boolean
operatingSystem: string
deletedBy: string

email address of the user who deleted this attempt

queuedReason: string , x ∈ { targetConcurrency , cooldown , buildConcurrency , concurrency , waitingForBuildAgent , evaluating , sentToBuilder , notPending }

reason the build is currently waiting

cooldownDate: string

time until this build will be reconsidered for building

scmBranch: string

scm branch to be built

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

operatingSystemVersion: string

a supported operating system version (ex. 'monterey')

operatingSystem: string

the OS that this build ran (or will run) on (ex. 'windows' / 'mac')

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

auditChanges: number
projectVersion: object
name: string

automatically generated name for the build

filename: string

filename for the primary artifact

projectName: string

name of the project

platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
size: number

size of the the primary build artifact in bytes

created: string

creation date

lastMod: string

last modified date

bundleId: string

a unique identifier (com.example.name)

udids: string[]

iPhone unique identifiers that are able to install this build

string
links: object

links to build artifacts

projectName: string
projectId: string
projectGuid: string
orgId: string
orgFk: string
filetoken: string
links: object
artifacts: object[]
object
object
href: string
method: string
meta: object
buildReport: object
errors: integer
warnings: integer
testResults: object

results from the build's unit tests, if any

unit_test: object
unit_test_editmode: object
unit_test_playmode: object
machineTypeLabel: string
requestedRevision: string
error: string
`
Resign Accepted [ { "build": 3, "buildtargetid": "default-ios", "buildTargetName": "iOS Builder", "buildStatus": "queued", "cleanBuild": "false", "platform": "ios", "created": "2015-11-19T22:02:20.244Z", "changeset": [], "favorited": false, "auditChanges": 1, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-ios/builds/3" }, "log": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-ios/builds/3/log" }, "auditlog": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-ios/builds/3/auditlog" }, "cancel": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-ios/builds/3" } } } ] Resign Already Started [ { "buildtargetid": "default-ios", "buildTargetName": "iOS Builder", "error": "Cannot start build - already a build pending." } ]

List all builds for org

GET /orgs/{orgid}/builds

Description

List all running and finished builds, sorted by build number (optionally paginating the results). The response includes a Content-Range header that identifies the range of results returned and the total number of results matching the given query parameters.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
include

Extra fields to include in the response

query string
per_page

Number of audit log records to retrieve

query number 25
page

Skip to page number, based on per_page value

query number 1
buildStatus

Query for only builds of a specific status

query string
platform

Query for only builds of a specific platform

query string
showDeleted

Query for builds that have been deleted

query boolean
onlyFavorites

Query for builds that have been favorited

query boolean
cleanBuild

Query for builds that have either been built clean or using caches

query boolean
search

Regex string to use to restrict the results via search

query string
Default List curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/builds With Paging curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/builds?per_page=5&page=2 With Filtering curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/builds?buildStatus=success&platform=ios

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object

buildattempt

build: number
buildtargetid: string

unique id auto-generated from the build target name

buildTargetName: string (up to 64 chars)
buildGUID: string

unique GUID identifying this build

buildStatus: string , x ∈ { created , queued , sentToBuilder , started , restarted , success , failure , canceled , unknown }
cleanBuild: boolean

if the build was built without using data cached from previous builds

failureDetails: object[]

list of failure details for this build attempt, when available

object
label: string
resolutionHint: string
stages: string[]
string
failureType: string
count: number
canceledBy: string , x ∈ { api , service , service-timelimit , concurrency-timelimit , restart-limit , evaluation-timelimit , jenkins-timelimit , service-badconfiguration , billing-invalidsubscription }
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
workspaceSize: number

size of workspace in bytes

created: string

when the build was created

finished: string

when the build completely finished

checkoutStartTime: string

when the build starting checking out code

checkoutTimeInSeconds: number

amount of time spent checking out code

buildStartTime: string

when the build started compiling

buildTimeInSeconds: number

amount of time spend compiling

publishStartTime: string

when the build started saving build artifacts

publishTimeInSeconds: number

amount of time spent saving build artifacts

totalTimeInSeconds: number

total time for the build

billableTimeInSeconds: number

total billable time for the build

unitTestTimeInSeconds: number

total time for unit test execution step

editModeTestTimeInSeconds: number

total time for unit test execution step

playModeTestTimeInSeconds: number

total time for unit test execution step

lastBuiltRevision: string

source control commit id for the build

changeset: object[]

a list of source control changes between this and the last build

object
favorited: boolean

if the build is marked as do not delete or not

label: string

description given when a build is favorited

deleted: boolean

if the build is deleted or not

headless: object

if the build was built to run in linux headless mode

credentialsOutdated: boolean

if a newer credential has been attached to this buildtarget and the build can be re-signed

groupBuildId: string (uuid)

the unique ID used to launch a group of attempts

buildTargetGroups: object[]

list of build target groups this build attempt is a part of

object
name: string
id: string
deleted: boolean
enabled: boolean
machineType: object

the type of machine used to build this build

name: string
label: string
enabled: boolean
operatingSystem: string
deletedBy: string

email address of the user who deleted this attempt

queuedReason: string , x ∈ { targetConcurrency , cooldown , buildConcurrency , concurrency , waitingForBuildAgent , evaluating , sentToBuilder , notPending }

reason the build is currently waiting

cooldownDate: string

time until this build will be reconsidered for building

scmBranch: string

scm branch to be built

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

operatingSystemVersion: string

a supported operating system version (ex. 'monterey')

operatingSystem: string

the OS that this build ran (or will run) on (ex. 'windows' / 'mac')

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

auditChanges: number
projectVersion: object
name: string

automatically generated name for the build

filename: string

filename for the primary artifact

projectName: string

name of the project

platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
size: number

size of the the primary build artifact in bytes

created: string

creation date

lastMod: string

last modified date

bundleId: string

a unique identifier (com.example.name)

udids: string[]

iPhone unique identifiers that are able to install this build

string
links: object

links to build artifacts

projectName: string
projectId: string
projectGuid: string
orgId: string
orgFk: string
filetoken: string
links: object
artifacts: object[]
object
object
href: string
method: string
meta: object
buildReport: object
errors: integer
warnings: integer
testResults: object

results from the build's unit tests, if any

unit_test: object
unit_test_editmode: object
unit_test_playmode: object
machineTypeLabel: string
requestedRevision: string
error: string
`
[ { "orgId": example-org, "projectId": new-project, "projectName": new-project, "build": 2, "buildtargetid": "android-builder", "buildTargetName": "Android Builder", "buildStatus": "success", "cleanBuild": "true", "platform": "android", "workspaceSize": 8911006, "created": "2015-07-14T21:56:28.202Z", "finished": "2015-07-14T22:04:10.000Z", "checkoutStartTime": "2015-07-14T22:00:20.000Z", "checkoutTimeInSeconds": 40, "buildStartTime": "2015-07-14T22:01:00.000Z", "buildTimeInSeconds": 152.386056, "publishStartTime": "2015-07-14T22:03:33.000Z", "publishTimeInSeconds": 10.371839, "totalTimeInSeconds": 461.798, "lastBuiltRevision": "88e565df27ca35c2603c29eb924dc018f32a22c1", "changeset": [], "favorited": false, "scmBranch": "master", "unityVersion": "latest", "auditChanges": 0, "projectVersion": { "name": "android-builder-2", "filename": "example-org/new-project/android-builder-2/android-builder.apk", "projectName": "New Project", "platform": "android", "size": 14452762, "created": "2015-07-14T22:03:45.847Z", "lastMod": "2015-07-14T22:03:46.251Z", "bundleId": "com.unity3d.example", "udids": [] }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2" }, "log": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/log" }, "auditlog": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/auditlog" }, "download_primary": { "method": "get", "href": "https://unitycloud-build-user-svc-dev-build.s3.amazonaws.com/example-org/new-project/android-builder-2/android-builder.apk?AWSAccessKeyId=AKIAI6ZGSQWNDMF7X33A&Expires=1447890477&Signature=e9Hs%2FYECpVlrMITqCRY5dSWXChE%3D&response-content-disposition=attachment%3B%20filename%3Dexample-org%2Fnew-project-android-2-1436910988202.apk&response-content-type=application%2Foctet-stream", "meta": { "type": "APK" } }, "create_share": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/share" }, "revoke_share": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/2/share" }, "icon": { "method": "get", "href": "https://unitycloud-build-user-svc-dev-extras-pub.s3.amazonaws.com/example-org/new-project/android-builder-2/icon.png" } } }, { "orgId": example-org, "projectId": new-project, "projectName": new-project, "build": 1, "buildtargetid": "android-builder", "buildTargetName": "Android Builder", "buildStatus": "success", "cleanBuild": "false", "platform": "android", "workspaceSize": 8910982, "created": "2015-07-14T21:51:26.520Z", "finished": "2015-07-14T21:54:43.000Z", "checkoutStartTime": "2015-07-14T21:51:45.000Z", "checkoutTimeInSeconds": 41, "buildStartTime": "2015-07-14T21:52:26.000Z", "buildTimeInSeconds": 120.410226, "publishStartTime": "2015-07-14T21:54:27.000Z", "publishTimeInSeconds": 4.846675, "totalTimeInSeconds": 196.48, "lastBuiltRevision": "88e565df27ca35c2603c29eb924dc018f32a22c1", "changeset": [], "favorited": false, "scmBranch": "master", "unityVersion": "latest", "auditChanges": 0, "projectVersion": { "name": "android-builder-1", "filename": "example-org/new-project/android-builder-1/android-builder.apk", "projectName": "Example Unity Project", "platform": "android", "size": 14443743, "created": "2015-07-14T21:54:34.395Z", "lastMod": "2015-07-14T21:54:34.776Z", "bundleId": "com.tsugi.example", "udids": [] }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/1" }, "log": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/1/log" }, "auditlog": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/1/auditlog" }, "download_primary": { "method": "get", "href": "https://unitycloud-build-user-svc-dev-build.s3.amazonaws.com/example-org/new-project/android-builder-1/android-builder.apk?AWSAccessKeyId=AKIAI6ZGSQWNDMF7X33A&Expires=1447890477&Signature=5Z4ouUFyVIJ8jaChE%2F6K%2FMHHpiM%3D&response-content-disposition=attachment%3B%20filename%3Dexample-org%2Fnew-project-android-1-1436910686520.apk&response-content-type=application%2Foctet-stream", "meta": { "type": "APK" } }, "create_share": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/1/share" }, "revoke_share": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/android-builder/builds/1/share" }, "icon": { "method": "get", "href": "https://unitycloud-build-user-svc-dev-extras-pub.s3.amazonaws.com/example-org/new-project/android-builder-1/icon.png" } } } ]

Cancel builds for org

DELETE /orgs/{orgid}/builds

Description

Cancel all in progress builds for an organization. Canceling an already finished build will do nothing and respond successfully.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
curl -X DELETE -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/builds buildsApi = BuildsApi(client) build = buildsApi.cancel_builds_for_org('{orgid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Get build log

GET /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/log

Description

Retrieve the plain text log for a specific build.

Please note that this route will normally redirect with a 303 code to the build log for a completed job, so it is important to follow redirects.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
number

Build number or in some cases _all

path string
offsetlines

Stream log from the given line number

query number 1
linenumbers

Include log line numbers in the text output

query boolean
lastLineNumber

The last line number seen, numbering will continue from here

query number
compact

Return the compact log, showing only errors and warnings

query boolean
withHtml

Surround important lines (errors, warnings) with SPAN and CSS markup

query boolean
Retrieve full log curl -L GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/log Retrieve HTML compact log curl -L GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/log?compact=true&withHtml=true # Retrieve full log buildsApi = BuildsApi(client) log = buildsApi.get_build_log('{orgid}', '{projectid}', '{buildtargetid}', '{number}') # Retrieve HTML compact log log = buildsApi.get_build_log('{orgid}', '{projectid}', '{buildtargetid}', '{number}', 1, compact='true', with_html='true')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
`
Full text log Running Prebuild steps done. bvr 0.2.47 bvr-api 0.0.41 Using strategy: Default Cloning the remote Git repository ... WORKSPACESIZE | ARTIFACTSSIZE 8.50 MiB | 13.81 MiB Publishing build 2 of example-org/new-project for target 'android-builder'... Uploading /BUILD_PATH/example-org.new-project.android-builder/.build/last/android-builder/android-builder.apk ...done Uploading /BUILD_PATH/example-org.new-project.android-builder/.build/last/android-builder/extra_data/artifacts/icon.png ...done publishing finished successfully. done. postbuildstatus finished successfully. Deleting project workspace... Finished: SUCCESS Compact text log [Unity] Initialize engine version: 4.6.4f1 (99f88340878d) [Unity] Initialize engine version: 4.6.4f1 (99f88340878d) [Unity] Finished exporting player successfully. Warning: publishing finished successfully. Finished: SUCCESS Compact HTML log <span class="log_important_line">[Unity] <span class="log_important">Initialize engine version: </span>4.6.4f1 (99f88340878d)</span> <span class="log_important_line">[Unity] <span class="log_important">Initialize engine version: </span>4.6.4f1 (99f88340878d)</span> <span class="log_success_line">[Unity] <span class="log_success">Finished exporting player successfully.</span></span> <span class="log_warning_line"> <span class="log_warning">Warning</span>: </span> <span class="log_success_line"><span class="log_success">publishing finished successfully</span>.</span> <span class="log_success_line"><span class="log_success">Finished: SUCCESS</span></span>
303 See Other
`
default
error: string
errorCode: string
detail: string[]
string
`

Get the build steps for a given build

GET /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/steps

Description

Retrieves all build steps for a build, this replaces the old method where we would manually download the build report artifacts and allows us to add more functionality into build steps.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
number

Build number or in some cases _all

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/steps

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
depth: integer
duration: number
name: string
messages: object[]
object
content: string
typeCode: integer
`
[{ "depth": 0, "duration": 67138.5108, "name": "Build player", "messages": [] }, { "depth": 1, "duration": 2839.5708, "name": "Compile scripts", "messages": [{ "content": "Library/PackageCache/com.unity.analytics@3.2.2/DataPrivacy/DataPrivacyButton.cs(28,13): warning CS0618: 'Application.ExternalEval(string)' is obsolete: 'Application.ExternalEval is deprecated. See https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html for alternatives.'", "typeCode": 2, }] }, { "depth": 1, "duration": 0.027, "name": "Prepare splash screen", "messages": [] }])

Get the share link

GET /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/share

Description

Gets a share link if it exists

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
number

Build number or in some cases _all

path string
curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/share buildsApi = BuildsApi(client) share = buildsApi.get_share('{orgid}', '{projectid}', '{buildtargetid}', '{number}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
shareid: string
shareExpiry: string
`
{ "shareid": "bJ5Pu6RYFl" }
404 Not Found
`

Create a new link to share a project

POST /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/share

Description

Create a new short link to share a project. If this is called when a share already exists, that share will be revoked and a new one created.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
number

Build number or in some cases _all

path string

application/x-www-form-urlencoded

Date when share link will expire

{"properties":{"shareExpiry":{"type":"string"}}}
curl -X POST -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/share buildsApi = BuildsApi(client) share = buildsApi.create_share('{orgid}', '{projectid}', '{buildtargetid}', '{number}', '{shareExpiry}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
shareid: string
shareExpiry: string
`
{ "shareid": "bJ5Pu6RYFl" }
404 Not Found
`

Modify existing share link

PUT /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/share

Description

Modify an existing share link. Only intended for updating the Expiry without revoking the link.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
number

Build number or in some cases _all

path string

application/x-www-form-urlencoded

Date when share link will expire

{"properties":{"shareExpiry":{"type":"string"}}}
curl -X POST -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/share buildsApi = BuildsApi(client) share = buildsApi.modify_share('{orgid}', '{projectid}', '{buildtargetid}', '{number}', '{shareExpiry}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
shareid: string
shareExpiry: string
`
{ "shareid": "bJ5Pu6RYFl" }
404 Not Found
`

Revoke a shared link

DELETE /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/share

Description

Revoke a shared link, both {buildtargetid} and {number} may use _all to revoke all share links for a given buildtarget or entire project.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
number

Build number or in some cases _all

path string
curl -X DELETE -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/builds/{number}/share buildsApi = BuildsApi(client) share = buildsApi.revoke_share('{orgid}', '{projectid}', '{buildtargetid}', '{number}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`
404 Not Found
`

Buildtargets Introduction

Build Targets are the configuration to build a project for a specific platform and/or source control branch.

List all build targets for a project

GET /orgs/{orgid}/projects/{projectid}/buildtargets

Description

Gets all configured build targets for a project, regardless of whether they are enabled. Add "?include=settings,credentials" as a query parameter to include the build target settings and credentials with the response.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
include

Extra fields to include in the response

query string
lastBuiltUnityVersion

The unity version used in the most recent build attempt for a build target

query string
operatingSystem

The currently selected operating system for a build target

query string
cacheType

The currently selected cache type for a build target. If the value is inherit, it will use the cache type of the project instead

query string
include_last_success

Include last successful build

query boolean
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets buildtargetsApi = BuildtargetsApi(client) buildtargets = buildtargetsApi.get_build_targets('{orgid}', '{projectid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
name: string (up to 64 chars)
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
buildtargetid: string

unique id auto-generated from the build target name

enabled: boolean

whether this target can be built by the API

settings: object
autoBuild: boolean

start builds automatically when your repo is updated

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

autoDetectUnityVersion: boolean

attempt to automatically detect which unity version to use, fallback to specified unityVersion if unable to.

fallbackPatchVersion: boolean

attempt to get a similar unity patch version to use, applies to unavailable auto-detected Unity versions only.

executablename: string
scm: object
type: string , x ∈ { git , svn , p4 , oauth , plastic }
repo: string

Which repo to use. Only applies to Plastic SCM, other SCM types configure repo on the project level.

branch: string
subdirectory: string

subdirectory to build from

client: string

perforce only client workspace to build from

platform: object
bundleId: string

a unique identifier (com.example.name)

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

buildSchedule: object

For Scheduling builds

isEnabled: boolean
date: string (date-time)
repeatCycle: string , x ∈ { none , once (default) , daily , weekly , monthly , yearly }
cleanBuild: boolean
autoBuildCancellation: boolean
machineTypeLabel: string
operatingSystemSelected: string , x ∈ { mac , windows }
operatingSystemVersion: string

Choose the version of the operating system for building your project.

rubyVersion: string
remoteCacheStrategy: string , x ∈ { none , library , workspace , inherit }

Specifies the caching strategy (none, library, workspace, or inherit) for remote data storage and retrieval

buildTargetCopyCache: string

Specifies the id of the build target that this target's cache was copied from

cacheCompressionLevel: string , x ∈ { inherit (default) , none , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }

Specifies the compression level for caching workspace or Library.

advanced: object
cache: object
xcode: object
useArchiveAndExport: boolean
customFastlaneConfigPath: string

The path (including file name) from the project root to the custom FastLane configuration json file to configure multiple provisioning files, or customize the FastLane build process. See https://forum.unity.com/threads/xcode-9-multiple-provisioning-profiles.545121/ Will look for Assets/ucb_xcode_fastlane.json by default, if not specified.

uploadXCArchive: boolean

Upload the XCArchive file produced by the build. This file will be downloadable from the dashboard if this property is true.

shouldNotarize: boolean

Only used with OSX targets, this triggers signing and notarization process for the executable.

android: object
buildAppBundle: boolean
buildAssetPacks: boolean
androidSDKVersion: string

Android SDK Version

unity: object
preExportMethod: string

The fully-qualified name of a public static method you want us to call before we start the Unity build process. For example: ClassName.NeatMethod or NameSpace.ClassName.NeatMethod. No trailing parenthesis, and it can't have the same name as your Post-Export method!

postExportMethod: string

The fully-qualified name of a public static method you want us to call after we finish the Unity build process (but before Xcode). For example: ClassName.CoolMethod or NameSpace.ClassName.CoolMethod. No trailing parenthesis, and it can't have the same name as your Post-Export method! This method must accept a string parameter, which will receive the path to the exported Unity player (or Xcode project in the case of iOS).

preBuildScript: string

Relative path to the script that should be run before the build process starts.

postBuildScript: string

Relative path to the script that should be run after the build process finishes.

preBuildScriptFailsBuild: boolean

If this is true, a non-zero exit code on your preBuildScript will cause your build to be marked as Failed

postBuildScriptFailsBuild: boolean

If this is true, a non-zero exit code on your postBuildScript will cause your build to be marked as Failed

scriptingDefineSymbols: string

Enter the names of the symbols you want to define for iOS. These symbols can then be used as the conditions for #if directives just like the built-in ones. (i.e. #IF MYDEFINE or #IF AMAZON)

playerExporter: object
sceneList: string[]

A list of scenes to build overriding those specified in the Build Settings menu of your Unity project.

string

scene names

buildOptions: string[]

Unity Editor build options. Use BuildOptions.Development and BuildOptions.AllowDebugging to create a development build.

string
export: boolean true

Enable exporting a player from Unity (i.e. running BuildPipeline.BuildPlayer). Enabling this is equivalent to disabling Content-only Build in Build Target on Developer Dashboard. In general, this should be true, unless you are doing something something like an asset bundle only build or unit test only build without generating an actual build artifact.

playerSettings: object
Android: object
useAPKExpansionFiles: boolean

break up android apk into an installable apk and expansion files

editorUserBuildSettings: object
androidBuildSystem: string , x ∈ { internal , gradle }

which android build system to build with (android only, supported in Unity 5.5+)

standaloneBuildSubtarget: string , x ∈ { Player (default) , Server }

standalone build subtarget for Dedicated Server Build (supported in Unity 2021.2+). see https://docs.unity3d.com/2021.2/Documentation/ScriptReference/StandaloneBuildSubtarget.html

assetBundles: object
buildBundles: boolean

enable asset bundle builds for this target

basePath: string

base path relative to Assets folder where asset bundles are output. Default is 'AssetBundles'

buildAssetBundleOptions: string

comma separated list of flags from BuildAssetBundleOptions. see https://docs.unity3d.com/ScriptReference/BuildAssetBundleOptions.html

copyToStreamingAssets: boolean

copy bundles to streaming assets folder, which will be packaged into the exported player.

copyBundlePatterns: string[]

array of patterns to match (C# Regular Expressions) when copying asset bundle files. By default, all bundles will be copied.

string
addressables: object
buildAddressables: boolean

enable addressable builds for this target

contentUpdate: boolean

Update a previously built player with new Addressable Content.

profileName: string

which addressables profile should be used for the build

failedAddressablesFailsBuild: boolean true

Exit and mark the build as failed if an error occurs when addressables are built

contentUpdateSettings: object
contentStatePath: string

The path to a Content State .bin file relative to the project root

linkedTargetId: string

The Id of the build target to obtain a Content State .bin file from

generateBuildLayout: boolean

Whether to generate the bundle build layout report.

buildLayoutReportFileFormat: string , x ∈ { JSON (default) , TXT }

The format of the bundle build layout report.

runUnitTests: boolean

Run any unit tests your project has when a build happens.

runEditModeTests: boolean

Should Edit Mode unit tests be run? NOTE: requires runUnitTests to be true and building with Unity 5.6 or newer.

runPlayModeTests: boolean

Should Play Mode unit tests be run? NOTE: requires runUnitTests to be true and building with Unity 5.6 or newer.

failedUnitTestFailsBuild: boolean

Mark builds as failed if the unit tests do not pass.

unitTestMethod: string

LEGACY - The Unity method to call when running unit tests (only supported in Unity 5.2 and lower).

enableLightBake: boolean

Enable lightmap baking (disabled by default since it is very slow and usually unnecessary)

uwp: object
windowsSDKVersion: string , x ∈ { 10.0.17134.0 , 10.0.17763.0 , 10.0.18362.0 , 10.0.19041.0 , 10.0.20348.0 , 10.0.22621.0 , 10.0.22000.0 }

Sets Windows SDK Version to use when building UWP

visualStudioVersion: string , x ∈ { 2019 , 2022 }

Sets the Visual Studio Version to use when building UWP

wsaArchitecture: string,null , x ∈ { x64 , x86 , ARM , ARM64 }

Sets target architecture for Exectuable Only builds

capabilities: array,null

Sets the capabilities of the build UWP application

targetFamily: string[]

Sets the target device family for the build

string , x ∈ { Universal , Desktop , Mobile , Xbox , Holographic , IoT , IoTHeadless }

The target device family

buildType: string , x ∈ { ExecutableOnly , D3D , XAML }

Sets the build type for UWP. Executable

msbuildConfiguration: string,null , x ∈ { Debug , Release , Master , MasterWithLTCG }

Sets the ms build configuration for UWP

platforms: array,null

Sets the target platforms for the AppXBundle

publishVisualStudioSolution: boolean

Enable publishing of the visual studio .sln file

gamecorescarlett: object
ps5: object
buildTargetGroups: object[]
object
id: string
name: string
lastBuilt: object
unityVersion: string

Last Unity version built by this target. Setting this has no effect.

credentials: object
signing: object
credentialid: string
credentialResourceRef: object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

uuid: string

generated UUID of the profile

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string

expiration date

links: object
builds: object[]
object

buildattempt

build: number
buildtargetid: string

unique id auto-generated from the build target name

buildTargetName: string (up to 64 chars)
buildGUID: string

unique GUID identifying this build

buildStatus: string , x ∈ { created , queued , sentToBuilder , started , restarted , success , failure , canceled , unknown }
cleanBuild: boolean

if the build was built without using data cached from previous builds

failureDetails: object[]

list of failure details for this build attempt, when available

object
label: string
resolutionHint: string
stages: string[]
string
failureType: string
count: number
canceledBy: string , x ∈ { api , service , service-timelimit , concurrency-timelimit , restart-limit , evaluation-timelimit , jenkins-timelimit , service-badconfiguration , billing-invalidsubscription }
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
workspaceSize: number

size of workspace in bytes

created: string

when the build was created

finished: string

when the build completely finished

checkoutStartTime: string

when the build starting checking out code

checkoutTimeInSeconds: number

amount of time spent checking out code

buildStartTime: string

when the build started compiling

buildTimeInSeconds: number

amount of time spend compiling

publishStartTime: string

when the build started saving build artifacts

publishTimeInSeconds: number

amount of time spent saving build artifacts

totalTimeInSeconds: number

total time for the build

billableTimeInSeconds: number

total billable time for the build

unitTestTimeInSeconds: number

total time for unit test execution step

editModeTestTimeInSeconds: number

total time for unit test execution step

playModeTestTimeInSeconds: number

total time for unit test execution step

lastBuiltRevision: string

source control commit id for the build

changeset: object[]

a list of source control changes between this and the last build

object
favorited: boolean

if the build is marked as do not delete or not

label: string

description given when a build is favorited

deleted: boolean

if the build is deleted or not

headless: object

if the build was built to run in linux headless mode

credentialsOutdated: boolean

if a newer credential has been attached to this buildtarget and the build can be re-signed

groupBuildId: string (uuid)

the unique ID used to launch a group of attempts

buildTargetGroups: object[]

list of build target groups this build attempt is a part of

object
name: string
id: string
deleted: boolean
enabled: boolean
machineType: object

the type of machine used to build this build

name: string
label: string
enabled: boolean
operatingSystem: string
deletedBy: string

email address of the user who deleted this attempt

queuedReason: string , x ∈ { targetConcurrency , cooldown , buildConcurrency , concurrency , waitingForBuildAgent , evaluating , sentToBuilder , notPending }

reason the build is currently waiting

cooldownDate: string

time until this build will be reconsidered for building

scmBranch: string

scm branch to be built

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

operatingSystemVersion: string

a supported operating system version (ex. 'monterey')

operatingSystem: string

the OS that this build ran (or will run) on (ex. 'windows' / 'mac')

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

auditChanges: number
projectVersion: object
name: string

automatically generated name for the build

filename: string

filename for the primary artifact

projectName: string

name of the project

platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
size: number

size of the the primary build artifact in bytes

created: string

creation date

lastMod: string

last modified date

bundleId: string

a unique identifier (com.example.name)

udids: string[]

iPhone unique identifiers that are able to install this build

string
links: object

links to build artifacts

projectName: string
projectId: string
projectGuid: string
orgId: string
orgFk: string
filetoken: string
links: object
artifacts: object[]
object
object
href: string
method: string
meta: object
buildReport: object
errors: integer
warnings: integer
testResults: object

results from the build's unit tests, if any

unit_test: object
unit_test_editmode: object
unit_test_playmode: object
machineTypeLabel: string
requestedRevision: string
error: string
links: object
`
[ { "name": "Default WebGL", "platform": "webgl", "buildtargetid": "default-webgl", "enabled": true, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl" }, "start_builds": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/builds" }, "list_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/builds" }, "cancel_builds": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/builds" }, "polling": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/polling" } } }, { "name": "Default Linux desktop Universal", "platform": "standalonelinuxuniversal", "buildtargetid": "default-linux-desktop-universal", "enabled": true, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal" }, "start_builds": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal/builds" }, "list_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal/builds" }, "cancel_builds": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal/builds" }, "polling": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal/polling" } } } ]

Create build target for a project

POST /orgs/{orgid}/projects/{projectid}/buildtargets

Description

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string

Parameters are specified as application/json in the request body.

Options for build target create/update

{"properties":{"name":{"type":"string","maxLength":64},"platform":{"type":"string","enum":["ios","android","webplayer","webgl","standaloneosxintel","standaloneosxintel64","standaloneosxuniversal","standalonewindows","standalonewindows64","standalonelinux","standalonelinux64","standalonelinuxuniversal","wsaplayer","gamecorescarlett","ps5"]},"enabled":{"type":"boolean"},"settings":{"properties":{"autoBuild":{"description":"start builds automatically when your repo is updated","type":"boolean"},"unityVersion":{"description":"'latest' or a unity dot version with underscores (ex. '4_6_5')","type":"string"},"autoDetectUnityVersion":{"description":"attempt to automatically detect which unity version to use, fallback to specified unityVersion if unable to.","type":"boolean"},"fallbackPatchVersion":{"description":"attempt to get a similar unity patch version to use, applies to unavailable auto-detected Unity versions only.","type":"boolean"},"executablename":{"type":"string"},"scm":{"properties":{"type":{"enum":["git","svn","p4","oauth","plastic"],"type":"string"},"repo":{"description":"Which repo to use. Only applies to Plastic SCM, other SCM types configure repo on the project level.","type":"string"},"branch":{"type":"string"},"subdirectory":{"description":"subdirectory to build from","type":"string"},"client":{"description":"perforce only client workspace to build from","type":"string"}}},"platform":{"properties":{"bundleId":{"description":"a unique identifier (com.example.name)","type":"string"},"xcodeVersion":{"description":"a supported xcode version (ex. 'xcode13_0_0')","type":"string"}}},"buildSchedule":{"description":"For Scheduling builds","properties":{"isEnabled":{"type":"boolean","default":false},"date":{"type":"string","format":"date-time"},"repeatCycle":{"enum":["none","once","daily","weekly","monthly","yearly"],"type":"string","default":"once"},"cleanBuild":{"type":"boolean","default":false}}},"autoBuildCancellation":{"type":"boolean","default":false},"machineTypeLabel":{"type":"string"},"operatingSystemSelected":{"enum":["mac","windows"],"type":"string"},"operatingSystemVersion":{"description":"Choose the version of the operating system for building your project.","type":"string"},"rubyVersion":{"type":"string"},"remoteCacheStrategy":{"description":"Specifies the caching strategy (none, library, workspace, or inherit) for remote data storage and retrieval","enum":["none","library","workspace","inherit"],"type":"string"},"buildTargetCopyCache":{"description":"Specifies the id of the build target that this target's cache was copied from","type":"string"},"cacheCompressionLevel":{"description":"Specifies the compression level for caching workspace or Library.","type":"string","default":"inherit","enum":["inherit","none","1","2","3","4","5","6","7","8","9"]},"advanced":{"properties":{"cache":{"properties":{}},"xcode":{"properties":{"useArchiveAndExport":{"type":"boolean"},"customFastlaneConfigPath":{"description":"The path (including file name) from the project root to the custom FastLane configuration json file to configure multiple provisioning files, or customize the FastLane build process.\nSee https://forum.unity.com/threads/xcode-9-multiple-provisioning-profiles.545121/\nWill look for Assets/ucb_xcode_fastlane.json by default, if not specified.","type":"string"},"uploadXCArchive":{"description":"Upload the XCArchive file produced by the build. This file will be downloadable from the dashboard if this property is true.","type":"boolean"},"shouldNotarize":{"description":"Only used with OSX targets, this triggers signing and notarization process for the executable.","type":"boolean"}}},"android":{"properties":{"buildAppBundle":{"type":"boolean"},"buildAssetPacks":{"type":"boolean"},"androidSDKVersion":{"description":"Android SDK Version","type":"string"}}},"unity":{"properties":{"preExportMethod":{"description":"The fully-qualified name of a public static method you want us to call before we start the Unity build process.\nFor example: ClassName.NeatMethod or NameSpace.ClassName.NeatMethod.\nNo trailing parenthesis, and it can't have the same name as your Post-Export method!","type":"string"},"postExportMethod":{"description":"The fully-qualified name of a public static method you want us to call after we finish the Unity build process\n(but before Xcode). For example: ClassName.CoolMethod or NameSpace.ClassName.CoolMethod. No trailing parenthesis,\nand it can't have the same name as your Post-Export method! This method must accept a string parameter, which\nwill receive the path to the exported Unity player (or Xcode project in the case of iOS).","type":"string"},"preBuildScript":{"description":"Relative path to the script that should be run before the build process starts.","type":"string"},"postBuildScript":{"description":"Relative path to the script that should be run after the build process finishes.","type":"string"},"preBuildScriptFailsBuild":{"description":"If this is true, a non-zero exit code on your preBuildScript will cause your build to be marked as Failed","type":"boolean"},"postBuildScriptFailsBuild":{"description":"If this is true, a non-zero exit code on your postBuildScript will cause your build to be marked as Failed","type":"boolean"},"scriptingDefineSymbols":{"description":"Enter the names of the symbols you want to define for iOS. These symbols can then be used as the conditions\nfor #if directives just like the built-in ones. (i.e. #IF MYDEFINE or #IF AMAZON)","type":"string"},"playerExporter":{"properties":{"sceneList":{"description":"A list of scenes to build overriding those specified in the Build Settings menu of your Unity project.","type":"array","items":{"description":"scene names","type":"string"}},"buildOptions":{"description":"Unity Editor build options. Use BuildOptions.Development and BuildOptions.AllowDebugging to create a development build.","type":"array","items":{"type":"string"}},"export":{"description":"Enable exporting a player from Unity (i.e. running BuildPipeline.BuildPlayer). Enabling this is equivalent to disabling\nContent-only Build in Build Target on Developer Dashboard. In general, this should be true, unless you are doing something\nsomething like an asset bundle only build or unit test only build without generating an actual build artifact.","type":"boolean","default":true}}},"playerSettings":{"properties":{"Android":{"properties":{"useAPKExpansionFiles":{"description":"break up android apk into an installable apk and expansion files","type":"boolean"}}}}},"editorUserBuildSettings":{"properties":{"androidBuildSystem":{"description":"which android build system to build with (android only, supported in Unity 5.5+)","enum":["internal","gradle"],"type":"string"},"standaloneBuildSubtarget":{"description":"standalone build subtarget for Dedicated Server Build (supported in Unity 2021.2+). see https://docs.unity3d.com/2021.2/Documentation/ScriptReference/StandaloneBuildSubtarget.html","enum":["Player","Server"],"type":"string","default":"Player"}}},"assetBundles":{"properties":{"buildBundles":{"description":"enable asset bundle builds for this target","type":"boolean"},"basePath":{"description":"base path relative to Assets folder where asset bundles are output. Default is 'AssetBundles'","type":"string"},"buildAssetBundleOptions":{"description":"comma separated list of flags from BuildAssetBundleOptions. see https://docs.unity3d.com/ScriptReference/BuildAssetBundleOptions.html","type":"string"},"copyToStreamingAssets":{"description":"copy bundles to streaming assets folder, which will be packaged into the exported player.","type":"boolean"},"copyBundlePatterns":{"description":"array of patterns to match (C# Regular Expressions) when copying asset bundle files. By default, all bundles will be copied.","type":"array","items":{"type":"string"}}}},"addressables":{"properties":{"buildAddressables":{"description":"enable addressable builds for this target","type":"boolean"},"contentUpdate":{"description":"Update a previously built player with new Addressable Content.","type":"boolean"},"profileName":{"description":"which addressables profile should be used for the build","type":"string"},"failedAddressablesFailsBuild":{"description":"Exit and mark the build as failed if an error occurs when addressables are built","type":"boolean","default":true},"contentUpdateSettings":{"properties":{"contentStatePath":{"description":"The path to a Content State .bin file relative to the project root","type":"string"},"linkedTargetId":{"description":"The Id of the build target to obtain a Content State .bin file from","type":"string"}}},"generateBuildLayout":{"description":"Whether to generate the bundle build layout report.","type":"boolean"},"buildLayoutReportFileFormat":{"description":"The format of the bundle build layout report.","type":"string","default":"JSON","enum":["JSON","TXT"]}}},"runUnitTests":{"description":"Run any unit tests your project has when a build happens.","type":"boolean"},"runEditModeTests":{"description":"Should Edit Mode unit tests be run? NOTE: requires runUnitTests to be true and building\nwith Unity 5.6 or newer.","type":"boolean"},"runPlayModeTests":{"description":"Should Play Mode unit tests be run? NOTE: requires runUnitTests to be true and building\nwith Unity 5.6 or newer.","type":"boolean"},"failedUnitTestFailsBuild":{"description":"Mark builds as failed if the unit tests do not pass.","type":"boolean"},"unitTestMethod":{"description":"LEGACY - The Unity method to call when running unit tests (only supported in Unity 5.2 and lower).","type":"string"},"enableLightBake":{"description":"Enable lightmap baking (disabled by default since it is very slow and usually unnecessary)","type":"boolean"}}},"uwp":{"properties":{"windowsSDKVersion":{"description":"Sets Windows SDK Version to use when building UWP","enum":["10.0.17134.0","10.0.17763.0","10.0.18362.0","10.0.19041.0","10.0.20348.0","10.0.22621.0","10.0.22000.0"],"type":"string"},"visualStudioVersion":{"description":"Sets the Visual Studio Version to use when building UWP","enum":["2019","2022"],"type":"string"},"wsaArchitecture":{"description":"Sets target architecture for Exectuable Only builds","enum":["x64","x86","ARM","ARM64"],"type":["string","null"]},"capabilities":{"description":"Sets the capabilities of the build UWP application","type":["array","null"],"items":{"description":"UWP Capabilities","enum":["EnterpriseAuthentication","InternetClient","InternetClientServer","MusicLibrary","PicturesLibrary","PrivateNetworkClientServer","SharedUserCertificates","VideosLibrary","WebCam","RemovableStorage","Proximity","Microphone","Location","HumanInterfaceDevice","AllJoyn","BlockedChatMessages","Chat","CodeGeneration","Objects3D","PhoneCall","UserAccountInformation","VoipCall","Bluetooth","SpatialPerception","InputInjectionBrokered","Appointments","BackgroundMediaPlayback","Contacts","LowLevelDevices","OfflineMapsManagement","PhoneCallHistoryPublic","PointOfService","RecordedCallsFolder","RemoteSystem","SystemManagement","UserDataTasks","UserNotificationListener","GazeInput"],"type":"string"}},"targetFamily":{"description":"Sets the target device family for the build","type":"array","items":{"description":"The target device family","enum":["Universal","Desktop","Mobile","Xbox","Holographic","IoT","IoTHeadless"],"type":"string"}},"buildType":{"description":"Sets the build type for UWP. Executable","enum":["ExecutableOnly","D3D","XAML"],"type":"string"},"msbuildConfiguration":{"description":"Sets the ms build configuration for UWP","enum":["Debug","Release","Master","MasterWithLTCG"],"type":["string","null"]},"platforms":{"description":"Sets the target platforms for the AppXBundle","type":["array","null"],"items":{"description":"Target Platform","enum":["x64","x86","ARM","ARM64"],"type":"string"}},"publishVisualStudioSolution":{"description":"Enable publishing of the visual studio .sln file","type":"boolean"}}},"gamecorescarlett":{"properties":{}},"ps5":{"properties":{}}}}}},"credentials":{"properties":{"signing":{"properties":{"credentialid":{"type":"string"}}}}}}}
curl -X POST -H "Content-Type: application/json" -d '{"name": "Default Mac desktop Universal", "platform": "standaloneosxuniversal", "enabled": true}' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets buildtargetsApi = BuildtargetsApi(client) buildtarget = buildtargetsApi.add_build_target('{orgid}', '{projectid}', options={"name": "Default Mac desktop Universal", "platform": "standaloneosxuniversal", "enabled": True})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
name: string (up to 64 chars)
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
buildtargetid: string

unique id auto-generated from the build target name

enabled: boolean

whether this target can be built by the API

settings: object
autoBuild: boolean

start builds automatically when your repo is updated

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

autoDetectUnityVersion: boolean

attempt to automatically detect which unity version to use, fallback to specified unityVersion if unable to.

fallbackPatchVersion: boolean

attempt to get a similar unity patch version to use, applies to unavailable auto-detected Unity versions only.

executablename: string
scm: object
type: string , x ∈ { git , svn , p4 , oauth , plastic }
repo: string

Which repo to use. Only applies to Plastic SCM, other SCM types configure repo on the project level.

branch: string
subdirectory: string

subdirectory to build from

client: string

perforce only client workspace to build from

platform: object
bundleId: string

a unique identifier (com.example.name)

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

buildSchedule: object

For Scheduling builds

isEnabled: boolean
date: string (date-time)
repeatCycle: string , x ∈ { none , once (default) , daily , weekly , monthly , yearly }
cleanBuild: boolean
autoBuildCancellation: boolean
machineTypeLabel: string
operatingSystemSelected: string , x ∈ { mac , windows }
operatingSystemVersion: string

Choose the version of the operating system for building your project.

rubyVersion: string
remoteCacheStrategy: string , x ∈ { none , library , workspace , inherit }

Specifies the caching strategy (none, library, workspace, or inherit) for remote data storage and retrieval

buildTargetCopyCache: string

Specifies the id of the build target that this target's cache was copied from

cacheCompressionLevel: string , x ∈ { inherit (default) , none , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }

Specifies the compression level for caching workspace or Library.

advanced: object
cache: object
xcode: object
useArchiveAndExport: boolean
customFastlaneConfigPath: string

The path (including file name) from the project root to the custom FastLane configuration json file to configure multiple provisioning files, or customize the FastLane build process. See https://forum.unity.com/threads/xcode-9-multiple-provisioning-profiles.545121/ Will look for Assets/ucb_xcode_fastlane.json by default, if not specified.

uploadXCArchive: boolean

Upload the XCArchive file produced by the build. This file will be downloadable from the dashboard if this property is true.

shouldNotarize: boolean

Only used with OSX targets, this triggers signing and notarization process for the executable.

android: object
buildAppBundle: boolean
buildAssetPacks: boolean
androidSDKVersion: string

Android SDK Version

unity: object
preExportMethod: string

The fully-qualified name of a public static method you want us to call before we start the Unity build process. For example: ClassName.NeatMethod or NameSpace.ClassName.NeatMethod. No trailing parenthesis, and it can't have the same name as your Post-Export method!

postExportMethod: string

The fully-qualified name of a public static method you want us to call after we finish the Unity build process (but before Xcode). For example: ClassName.CoolMethod or NameSpace.ClassName.CoolMethod. No trailing parenthesis, and it can't have the same name as your Post-Export method! This method must accept a string parameter, which will receive the path to the exported Unity player (or Xcode project in the case of iOS).

preBuildScript: string

Relative path to the script that should be run before the build process starts.

postBuildScript: string

Relative path to the script that should be run after the build process finishes.

preBuildScriptFailsBuild: boolean

If this is true, a non-zero exit code on your preBuildScript will cause your build to be marked as Failed

postBuildScriptFailsBuild: boolean

If this is true, a non-zero exit code on your postBuildScript will cause your build to be marked as Failed

scriptingDefineSymbols: string

Enter the names of the symbols you want to define for iOS. These symbols can then be used as the conditions for #if directives just like the built-in ones. (i.e. #IF MYDEFINE or #IF AMAZON)

playerExporter: object
sceneList: string[]

A list of scenes to build overriding those specified in the Build Settings menu of your Unity project.

string

scene names

buildOptions: string[]

Unity Editor build options. Use BuildOptions.Development and BuildOptions.AllowDebugging to create a development build.

string
export: boolean true

Enable exporting a player from Unity (i.e. running BuildPipeline.BuildPlayer). Enabling this is equivalent to disabling Content-only Build in Build Target on Developer Dashboard. In general, this should be true, unless you are doing something something like an asset bundle only build or unit test only build without generating an actual build artifact.

playerSettings: object
Android: object
useAPKExpansionFiles: boolean

break up android apk into an installable apk and expansion files

editorUserBuildSettings: object
androidBuildSystem: string , x ∈ { internal , gradle }

which android build system to build with (android only, supported in Unity 5.5+)

standaloneBuildSubtarget: string , x ∈ { Player (default) , Server }

standalone build subtarget for Dedicated Server Build (supported in Unity 2021.2+). see https://docs.unity3d.com/2021.2/Documentation/ScriptReference/StandaloneBuildSubtarget.html

assetBundles: object
buildBundles: boolean

enable asset bundle builds for this target

basePath: string

base path relative to Assets folder where asset bundles are output. Default is 'AssetBundles'

buildAssetBundleOptions: string

comma separated list of flags from BuildAssetBundleOptions. see https://docs.unity3d.com/ScriptReference/BuildAssetBundleOptions.html

copyToStreamingAssets: boolean

copy bundles to streaming assets folder, which will be packaged into the exported player.

copyBundlePatterns: string[]

array of patterns to match (C# Regular Expressions) when copying asset bundle files. By default, all bundles will be copied.

string
addressables: object
buildAddressables: boolean

enable addressable builds for this target

contentUpdate: boolean

Update a previously built player with new Addressable Content.

profileName: string

which addressables profile should be used for the build

failedAddressablesFailsBuild: boolean true

Exit and mark the build as failed if an error occurs when addressables are built

contentUpdateSettings: object
contentStatePath: string

The path to a Content State .bin file relative to the project root

linkedTargetId: string

The Id of the build target to obtain a Content State .bin file from

generateBuildLayout: boolean

Whether to generate the bundle build layout report.

buildLayoutReportFileFormat: string , x ∈ { JSON (default) , TXT }

The format of the bundle build layout report.

runUnitTests: boolean

Run any unit tests your project has when a build happens.

runEditModeTests: boolean

Should Edit Mode unit tests be run? NOTE: requires runUnitTests to be true and building with Unity 5.6 or newer.

runPlayModeTests: boolean

Should Play Mode unit tests be run? NOTE: requires runUnitTests to be true and building with Unity 5.6 or newer.

failedUnitTestFailsBuild: boolean

Mark builds as failed if the unit tests do not pass.

unitTestMethod: string

LEGACY - The Unity method to call when running unit tests (only supported in Unity 5.2 and lower).

enableLightBake: boolean

Enable lightmap baking (disabled by default since it is very slow and usually unnecessary)

uwp: object
windowsSDKVersion: string , x ∈ { 10.0.17134.0 , 10.0.17763.0 , 10.0.18362.0 , 10.0.19041.0 , 10.0.20348.0 , 10.0.22621.0 , 10.0.22000.0 }

Sets Windows SDK Version to use when building UWP

visualStudioVersion: string , x ∈ { 2019 , 2022 }

Sets the Visual Studio Version to use when building UWP

wsaArchitecture: string,null , x ∈ { x64 , x86 , ARM , ARM64 }

Sets target architecture for Exectuable Only builds

capabilities: array,null

Sets the capabilities of the build UWP application

targetFamily: string[]

Sets the target device family for the build

string , x ∈ { Universal , Desktop , Mobile , Xbox , Holographic , IoT , IoTHeadless }

The target device family

buildType: string , x ∈ { ExecutableOnly , D3D , XAML }

Sets the build type for UWP. Executable

msbuildConfiguration: string,null , x ∈ { Debug , Release , Master , MasterWithLTCG }

Sets the ms build configuration for UWP

platforms: array,null

Sets the target platforms for the AppXBundle

publishVisualStudioSolution: boolean

Enable publishing of the visual studio .sln file

gamecorescarlett: object
ps5: object
buildTargetGroups: object[]
object
id: string
name: string
lastBuilt: object
unityVersion: string

Last Unity version built by this target. Setting this has no effect.

credentials: object
signing: object
credentialid: string
credentialResourceRef: object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

uuid: string

generated UUID of the profile

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string

expiration date

links: object
builds: object[]
object

buildattempt

build: number
buildtargetid: string

unique id auto-generated from the build target name

buildTargetName: string (up to 64 chars)
buildGUID: string

unique GUID identifying this build

buildStatus: string , x ∈ { created , queued , sentToBuilder , started , restarted , success , failure , canceled , unknown }
cleanBuild: boolean

if the build was built without using data cached from previous builds

failureDetails: object[]

list of failure details for this build attempt, when available

object
label: string
resolutionHint: string
stages: string[]
string
failureType: string
count: number
canceledBy: string , x ∈ { api , service , service-timelimit , concurrency-timelimit , restart-limit , evaluation-timelimit , jenkins-timelimit , service-badconfiguration , billing-invalidsubscription }
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
workspaceSize: number

size of workspace in bytes

created: string

when the build was created

finished: string

when the build completely finished

checkoutStartTime: string

when the build starting checking out code

checkoutTimeInSeconds: number

amount of time spent checking out code

buildStartTime: string

when the build started compiling

buildTimeInSeconds: number

amount of time spend compiling

publishStartTime: string

when the build started saving build artifacts

publishTimeInSeconds: number

amount of time spent saving build artifacts

totalTimeInSeconds: number

total time for the build

billableTimeInSeconds: number

total billable time for the build

unitTestTimeInSeconds: number

total time for unit test execution step

editModeTestTimeInSeconds: number

total time for unit test execution step

playModeTestTimeInSeconds: number

total time for unit test execution step

lastBuiltRevision: string

source control commit id for the build

changeset: object[]

a list of source control changes between this and the last build

object
favorited: boolean

if the build is marked as do not delete or not

label: string

description given when a build is favorited

deleted: boolean

if the build is deleted or not

headless: object

if the build was built to run in linux headless mode

credentialsOutdated: boolean

if a newer credential has been attached to this buildtarget and the build can be re-signed

groupBuildId: string (uuid)

the unique ID used to launch a group of attempts

buildTargetGroups: object[]

list of build target groups this build attempt is a part of

object
name: string
id: string
deleted: boolean
enabled: boolean
machineType: object

the type of machine used to build this build

name: string
label: string
enabled: boolean
operatingSystem: string
deletedBy: string

email address of the user who deleted this attempt

queuedReason: string , x ∈ { targetConcurrency , cooldown , buildConcurrency , concurrency , waitingForBuildAgent , evaluating , sentToBuilder , notPending }

reason the build is currently waiting

cooldownDate: string

time until this build will be reconsidered for building

scmBranch: string

scm branch to be built

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

operatingSystemVersion: string

a supported operating system version (ex. 'monterey')

operatingSystem: string

the OS that this build ran (or will run) on (ex. 'windows' / 'mac')

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

auditChanges: number
projectVersion: object
name: string

automatically generated name for the build

filename: string

filename for the primary artifact

projectName: string

name of the project

platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
size: number

size of the the primary build artifact in bytes

created: string

creation date

lastMod: string

last modified date

bundleId: string

a unique identifier (com.example.name)

udids: string[]

iPhone unique identifiers that are able to install this build

string
links: object

links to build artifacts

projectName: string
projectId: string
projectGuid: string
orgId: string
orgFk: string
filetoken: string
links: object
artifacts: object[]
object
object
href: string
method: string
meta: object
buildReport: object
errors: integer
warnings: integer
testResults: object

results from the build's unit tests, if any

unit_test: object
unit_test_editmode: object
unit_test_playmode: object
machineTypeLabel: string
requestedRevision: string
error: string
links: object
`
{ "name": "Default Mac desktop Universal", "platform": "standaloneosxuniversal", "buildtargetid": "default-mac-desktop-universal", "enabled": true, "settings": { "autoBuild": false, "unityVersion": "latest", "autoDetectUnityVersion": "false", "fallbackPatchVersion": "false", "executablename": "Default Mac desktop Universal", "scm": { "type": "git" }, "platform": {}, "advanced": {} }, "credentials": { "signing": {} }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-mac-desktop-universal" }, "start_builds": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-mac-desktop-universal/builds" }, "list_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-mac-desktop-universal/builds" }, "cancel_builds": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-mac-desktop-universal/builds" }, "polling": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-mac-desktop-universal/polling" } } }

Get a build target

GET /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}

Description

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid} buildtargetsApi = BuildtargetsApi(client) buildtarget = buildtargetsApi.get_build_target('{orgid}', '{projectid}', '{buildtargetid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
name: string (up to 64 chars)
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
buildtargetid: string

unique id auto-generated from the build target name

enabled: boolean

whether this target can be built by the API

settings: object
autoBuild: boolean

start builds automatically when your repo is updated

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

autoDetectUnityVersion: boolean

attempt to automatically detect which unity version to use, fallback to specified unityVersion if unable to.

fallbackPatchVersion: boolean

attempt to get a similar unity patch version to use, applies to unavailable auto-detected Unity versions only.

executablename: string
scm: object
type: string , x ∈ { git , svn , p4 , oauth , plastic }
repo: string

Which repo to use. Only applies to Plastic SCM, other SCM types configure repo on the project level.

branch: string
subdirectory: string

subdirectory to build from

client: string

perforce only client workspace to build from

platform: object
bundleId: string

a unique identifier (com.example.name)

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

buildSchedule: object

For Scheduling builds

isEnabled: boolean
date: string (date-time)
repeatCycle: string , x ∈ { none , once (default) , daily , weekly , monthly , yearly }
cleanBuild: boolean
autoBuildCancellation: boolean
machineTypeLabel: string
operatingSystemSelected: string , x ∈ { mac , windows }
operatingSystemVersion: string

Choose the version of the operating system for building your project.

rubyVersion: string
remoteCacheStrategy: string , x ∈ { none , library , workspace , inherit }

Specifies the caching strategy (none, library, workspace, or inherit) for remote data storage and retrieval

buildTargetCopyCache: string

Specifies the id of the build target that this target's cache was copied from

cacheCompressionLevel: string , x ∈ { inherit (default) , none , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }

Specifies the compression level for caching workspace or Library.

advanced: object
cache: object
xcode: object
useArchiveAndExport: boolean
customFastlaneConfigPath: string

The path (including file name) from the project root to the custom FastLane configuration json file to configure multiple provisioning files, or customize the FastLane build process. See https://forum.unity.com/threads/xcode-9-multiple-provisioning-profiles.545121/ Will look for Assets/ucb_xcode_fastlane.json by default, if not specified.

uploadXCArchive: boolean

Upload the XCArchive file produced by the build. This file will be downloadable from the dashboard if this property is true.

shouldNotarize: boolean

Only used with OSX targets, this triggers signing and notarization process for the executable.

android: object
buildAppBundle: boolean
buildAssetPacks: boolean
androidSDKVersion: string

Android SDK Version

unity: object
preExportMethod: string

The fully-qualified name of a public static method you want us to call before we start the Unity build process. For example: ClassName.NeatMethod or NameSpace.ClassName.NeatMethod. No trailing parenthesis, and it can't have the same name as your Post-Export method!

postExportMethod: string

The fully-qualified name of a public static method you want us to call after we finish the Unity build process (but before Xcode). For example: ClassName.CoolMethod or NameSpace.ClassName.CoolMethod. No trailing parenthesis, and it can't have the same name as your Post-Export method! This method must accept a string parameter, which will receive the path to the exported Unity player (or Xcode project in the case of iOS).

preBuildScript: string

Relative path to the script that should be run before the build process starts.

postBuildScript: string

Relative path to the script that should be run after the build process finishes.

preBuildScriptFailsBuild: boolean

If this is true, a non-zero exit code on your preBuildScript will cause your build to be marked as Failed

postBuildScriptFailsBuild: boolean

If this is true, a non-zero exit code on your postBuildScript will cause your build to be marked as Failed

scriptingDefineSymbols: string

Enter the names of the symbols you want to define for iOS. These symbols can then be used as the conditions for #if directives just like the built-in ones. (i.e. #IF MYDEFINE or #IF AMAZON)

playerExporter: object
sceneList: string[]

A list of scenes to build overriding those specified in the Build Settings menu of your Unity project.

string

scene names

buildOptions: string[]

Unity Editor build options. Use BuildOptions.Development and BuildOptions.AllowDebugging to create a development build.

string
export: boolean true

Enable exporting a player from Unity (i.e. running BuildPipeline.BuildPlayer). Enabling this is equivalent to disabling Content-only Build in Build Target on Developer Dashboard. In general, this should be true, unless you are doing something something like an asset bundle only build or unit test only build without generating an actual build artifact.

playerSettings: object
Android: object
useAPKExpansionFiles: boolean

break up android apk into an installable apk and expansion files

editorUserBuildSettings: object
androidBuildSystem: string , x ∈ { internal , gradle }

which android build system to build with (android only, supported in Unity 5.5+)

standaloneBuildSubtarget: string , x ∈ { Player (default) , Server }

standalone build subtarget for Dedicated Server Build (supported in Unity 2021.2+). see https://docs.unity3d.com/2021.2/Documentation/ScriptReference/StandaloneBuildSubtarget.html

assetBundles: object
buildBundles: boolean

enable asset bundle builds for this target

basePath: string

base path relative to Assets folder where asset bundles are output. Default is 'AssetBundles'

buildAssetBundleOptions: string

comma separated list of flags from BuildAssetBundleOptions. see https://docs.unity3d.com/ScriptReference/BuildAssetBundleOptions.html

copyToStreamingAssets: boolean

copy bundles to streaming assets folder, which will be packaged into the exported player.

copyBundlePatterns: string[]

array of patterns to match (C# Regular Expressions) when copying asset bundle files. By default, all bundles will be copied.

string
addressables: object
buildAddressables: boolean

enable addressable builds for this target

contentUpdate: boolean

Update a previously built player with new Addressable Content.

profileName: string

which addressables profile should be used for the build

failedAddressablesFailsBuild: boolean true

Exit and mark the build as failed if an error occurs when addressables are built

contentUpdateSettings: object
contentStatePath: string

The path to a Content State .bin file relative to the project root

linkedTargetId: string

The Id of the build target to obtain a Content State .bin file from

generateBuildLayout: boolean

Whether to generate the bundle build layout report.

buildLayoutReportFileFormat: string , x ∈ { JSON (default) , TXT }

The format of the bundle build layout report.

runUnitTests: boolean

Run any unit tests your project has when a build happens.

runEditModeTests: boolean

Should Edit Mode unit tests be run? NOTE: requires runUnitTests to be true and building with Unity 5.6 or newer.

runPlayModeTests: boolean

Should Play Mode unit tests be run? NOTE: requires runUnitTests to be true and building with Unity 5.6 or newer.

failedUnitTestFailsBuild: boolean

Mark builds as failed if the unit tests do not pass.

unitTestMethod: string

LEGACY - The Unity method to call when running unit tests (only supported in Unity 5.2 and lower).

enableLightBake: boolean

Enable lightmap baking (disabled by default since it is very slow and usually unnecessary)

uwp: object
windowsSDKVersion: string , x ∈ { 10.0.17134.0 , 10.0.17763.0 , 10.0.18362.0 , 10.0.19041.0 , 10.0.20348.0 , 10.0.22621.0 , 10.0.22000.0 }

Sets Windows SDK Version to use when building UWP

visualStudioVersion: string , x ∈ { 2019 , 2022 }

Sets the Visual Studio Version to use when building UWP

wsaArchitecture: string,null , x ∈ { x64 , x86 , ARM , ARM64 }

Sets target architecture for Exectuable Only builds

capabilities: array,null

Sets the capabilities of the build UWP application

targetFamily: string[]

Sets the target device family for the build

string , x ∈ { Universal , Desktop , Mobile , Xbox , Holographic , IoT , IoTHeadless }

The target device family

buildType: string , x ∈ { ExecutableOnly , D3D , XAML }

Sets the build type for UWP. Executable

msbuildConfiguration: string,null , x ∈ { Debug , Release , Master , MasterWithLTCG }

Sets the ms build configuration for UWP

platforms: array,null

Sets the target platforms for the AppXBundle

publishVisualStudioSolution: boolean

Enable publishing of the visual studio .sln file

gamecorescarlett: object
ps5: object
buildTargetGroups: object[]
object
id: string
name: string
lastBuilt: object
unityVersion: string

Last Unity version built by this target. Setting this has no effect.

credentials: object
signing: object
credentialid: string
credentialResourceRef: object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

uuid: string

generated UUID of the profile

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string

expiration date

links: object
builds: object[]
object

buildattempt

build: number
buildtargetid: string

unique id auto-generated from the build target name

buildTargetName: string (up to 64 chars)
buildGUID: string

unique GUID identifying this build

buildStatus: string , x ∈ { created , queued , sentToBuilder , started , restarted , success , failure , canceled , unknown }
cleanBuild: boolean

if the build was built without using data cached from previous builds

failureDetails: object[]

list of failure details for this build attempt, when available

object
label: string
resolutionHint: string
stages: string[]
string
failureType: string
count: number
canceledBy: string , x ∈ { api , service , service-timelimit , concurrency-timelimit , restart-limit , evaluation-timelimit , jenkins-timelimit , service-badconfiguration , billing-invalidsubscription }
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
workspaceSize: number

size of workspace in bytes

created: string

when the build was created

finished: string

when the build completely finished

checkoutStartTime: string

when the build starting checking out code

checkoutTimeInSeconds: number

amount of time spent checking out code

buildStartTime: string

when the build started compiling

buildTimeInSeconds: number

amount of time spend compiling

publishStartTime: string

when the build started saving build artifacts

publishTimeInSeconds: number

amount of time spent saving build artifacts

totalTimeInSeconds: number

total time for the build

billableTimeInSeconds: number

total billable time for the build

unitTestTimeInSeconds: number

total time for unit test execution step

editModeTestTimeInSeconds: number

total time for unit test execution step

playModeTestTimeInSeconds: number

total time for unit test execution step

lastBuiltRevision: string

source control commit id for the build

changeset: object[]

a list of source control changes between this and the last build

object
favorited: boolean

if the build is marked as do not delete or not

label: string

description given when a build is favorited

deleted: boolean

if the build is deleted or not

headless: object

if the build was built to run in linux headless mode

credentialsOutdated: boolean

if a newer credential has been attached to this buildtarget and the build can be re-signed

groupBuildId: string (uuid)

the unique ID used to launch a group of attempts

buildTargetGroups: object[]

list of build target groups this build attempt is a part of

object
name: string
id: string
deleted: boolean
enabled: boolean
machineType: object

the type of machine used to build this build

name: string
label: string
enabled: boolean
operatingSystem: string
deletedBy: string

email address of the user who deleted this attempt

queuedReason: string , x ∈ { targetConcurrency , cooldown , buildConcurrency , concurrency , waitingForBuildAgent , evaluating , sentToBuilder , notPending }

reason the build is currently waiting

cooldownDate: string

time until this build will be reconsidered for building

scmBranch: string

scm branch to be built

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

operatingSystemVersion: string

a supported operating system version (ex. 'monterey')

operatingSystem: string

the OS that this build ran (or will run) on (ex. 'windows' / 'mac')

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

auditChanges: number
projectVersion: object
name: string

automatically generated name for the build

filename: string

filename for the primary artifact

projectName: string

name of the project

platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
size: number

size of the the primary build artifact in bytes

created: string

creation date

lastMod: string

last modified date

bundleId: string

a unique identifier (com.example.name)

udids: string[]

iPhone unique identifiers that are able to install this build

string
links: object

links to build artifacts

projectName: string
projectId: string
projectGuid: string
orgId: string
orgFk: string
filetoken: string
links: object
artifacts: object[]
object
object
href: string
method: string
meta: object
buildReport: object
errors: integer
warnings: integer
testResults: object

results from the build's unit tests, if any

unit_test: object
unit_test_editmode: object
unit_test_playmode: object
machineTypeLabel: string
requestedRevision: string
error: string
links: object
`
{ "name": "Default WebGL", "platform": "webgl", "buildtargetid": "default-webgl", "enabled": true, "settings": { "autoBuild": true, "unityVersion": "latest5", "autoDetectUnityVersion": "false", "fallbackPatchVersion": "false", "executablename": "Default WebGL", "scm": { "type": "git", "branch": "master" }, "platform": {}, "advanced": {} }, "credentials": { "signing": {} }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl" }, "start_builds": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/builds" }, "list_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/builds" }, "cancel_builds": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/builds" }, "polling": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/polling" } } }

Update build target details

PUT /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}

Description

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string

Parameters are specified as application/json in the request body.

Options for build target create/update

{"properties":{"name":{"type":"string","maxLength":64},"platform":{"type":"string","enum":["ios","android","webplayer","webgl","standaloneosxintel","standaloneosxintel64","standaloneosxuniversal","standalonewindows","standalonewindows64","standalonelinux","standalonelinux64","standalonelinuxuniversal","wsaplayer","gamecorescarlett","ps5"]},"enabled":{"type":"boolean"},"settings":{"properties":{"autoBuild":{"description":"start builds automatically when your repo is updated","type":"boolean"},"unityVersion":{"description":"'latest' or a unity dot version with underscores (ex. '4_6_5')","type":"string"},"autoDetectUnityVersion":{"description":"attempt to automatically detect which unity version to use, fallback to specified unityVersion if unable to.","type":"boolean"},"fallbackPatchVersion":{"description":"attempt to get a similar unity patch version to use, applies to unavailable auto-detected Unity versions only.","type":"boolean"},"executablename":{"type":"string"},"scm":{"properties":{"type":{"enum":["git","svn","p4","oauth","plastic"],"type":"string"},"repo":{"description":"Which repo to use. Only applies to Plastic SCM, other SCM types configure repo on the project level.","type":"string"},"branch":{"type":"string"},"subdirectory":{"description":"subdirectory to build from","type":"string"},"client":{"description":"perforce only client workspace to build from","type":"string"}}},"platform":{"properties":{"bundleId":{"description":"a unique identifier (com.example.name)","type":"string"},"xcodeVersion":{"description":"a supported xcode version (ex. 'xcode13_0_0')","type":"string"}}},"buildSchedule":{"description":"For Scheduling builds","properties":{"isEnabled":{"type":"boolean","default":false},"date":{"type":"string","format":"date-time"},"repeatCycle":{"enum":["none","once","daily","weekly","monthly","yearly"],"type":"string","default":"once"},"cleanBuild":{"type":"boolean","default":false}}},"autoBuildCancellation":{"type":"boolean","default":false},"machineTypeLabel":{"type":"string"},"operatingSystemSelected":{"enum":["mac","windows"],"type":"string"},"operatingSystemVersion":{"description":"Choose the version of the operating system for building your project.","type":"string"},"rubyVersion":{"type":"string"},"remoteCacheStrategy":{"description":"Specifies the caching strategy (none, library, workspace, or inherit) for remote data storage and retrieval","enum":["none","library","workspace","inherit"],"type":"string"},"buildTargetCopyCache":{"description":"Specifies the id of the build target that this target's cache was copied from","type":"string"},"cacheCompressionLevel":{"description":"Specifies the compression level for caching workspace or Library.","type":"string","default":"inherit","enum":["inherit","none","1","2","3","4","5","6","7","8","9"]},"advanced":{"properties":{"cache":{"properties":{}},"xcode":{"properties":{"useArchiveAndExport":{"type":"boolean"},"customFastlaneConfigPath":{"description":"The path (including file name) from the project root to the custom FastLane configuration json file to configure multiple provisioning files, or customize the FastLane build process.\nSee https://forum.unity.com/threads/xcode-9-multiple-provisioning-profiles.545121/\nWill look for Assets/ucb_xcode_fastlane.json by default, if not specified.","type":"string"},"uploadXCArchive":{"description":"Upload the XCArchive file produced by the build. This file will be downloadable from the dashboard if this property is true.","type":"boolean"},"shouldNotarize":{"description":"Only used with OSX targets, this triggers signing and notarization process for the executable.","type":"boolean"}}},"android":{"properties":{"buildAppBundle":{"type":"boolean"},"buildAssetPacks":{"type":"boolean"},"androidSDKVersion":{"description":"Android SDK Version","type":"string"}}},"unity":{"properties":{"preExportMethod":{"description":"The fully-qualified name of a public static method you want us to call before we start the Unity build process.\nFor example: ClassName.NeatMethod or NameSpace.ClassName.NeatMethod.\nNo trailing parenthesis, and it can't have the same name as your Post-Export method!","type":"string"},"postExportMethod":{"description":"The fully-qualified name of a public static method you want us to call after we finish the Unity build process\n(but before Xcode). For example: ClassName.CoolMethod or NameSpace.ClassName.CoolMethod. No trailing parenthesis,\nand it can't have the same name as your Post-Export method! This method must accept a string parameter, which\nwill receive the path to the exported Unity player (or Xcode project in the case of iOS).","type":"string"},"preBuildScript":{"description":"Relative path to the script that should be run before the build process starts.","type":"string"},"postBuildScript":{"description":"Relative path to the script that should be run after the build process finishes.","type":"string"},"preBuildScriptFailsBuild":{"description":"If this is true, a non-zero exit code on your preBuildScript will cause your build to be marked as Failed","type":"boolean"},"postBuildScriptFailsBuild":{"description":"If this is true, a non-zero exit code on your postBuildScript will cause your build to be marked as Failed","type":"boolean"},"scriptingDefineSymbols":{"description":"Enter the names of the symbols you want to define for iOS. These symbols can then be used as the conditions\nfor #if directives just like the built-in ones. (i.e. #IF MYDEFINE or #IF AMAZON)","type":"string"},"playerExporter":{"properties":{"sceneList":{"description":"A list of scenes to build overriding those specified in the Build Settings menu of your Unity project.","type":"array","items":{"description":"scene names","type":"string"}},"buildOptions":{"description":"Unity Editor build options. Use BuildOptions.Development and BuildOptions.AllowDebugging to create a development build.","type":"array","items":{"type":"string"}},"export":{"description":"Enable exporting a player from Unity (i.e. running BuildPipeline.BuildPlayer). Enabling this is equivalent to disabling\nContent-only Build in Build Target on Developer Dashboard. In general, this should be true, unless you are doing something\nsomething like an asset bundle only build or unit test only build without generating an actual build artifact.","type":"boolean","default":true}}},"playerSettings":{"properties":{"Android":{"properties":{"useAPKExpansionFiles":{"description":"break up android apk into an installable apk and expansion files","type":"boolean"}}}}},"editorUserBuildSettings":{"properties":{"androidBuildSystem":{"description":"which android build system to build with (android only, supported in Unity 5.5+)","enum":["internal","gradle"],"type":"string"},"standaloneBuildSubtarget":{"description":"standalone build subtarget for Dedicated Server Build (supported in Unity 2021.2+). see https://docs.unity3d.com/2021.2/Documentation/ScriptReference/StandaloneBuildSubtarget.html","enum":["Player","Server"],"type":"string","default":"Player"}}},"assetBundles":{"properties":{"buildBundles":{"description":"enable asset bundle builds for this target","type":"boolean"},"basePath":{"description":"base path relative to Assets folder where asset bundles are output. Default is 'AssetBundles'","type":"string"},"buildAssetBundleOptions":{"description":"comma separated list of flags from BuildAssetBundleOptions. see https://docs.unity3d.com/ScriptReference/BuildAssetBundleOptions.html","type":"string"},"copyToStreamingAssets":{"description":"copy bundles to streaming assets folder, which will be packaged into the exported player.","type":"boolean"},"copyBundlePatterns":{"description":"array of patterns to match (C# Regular Expressions) when copying asset bundle files. By default, all bundles will be copied.","type":"array","items":{"type":"string"}}}},"addressables":{"properties":{"buildAddressables":{"description":"enable addressable builds for this target","type":"boolean"},"contentUpdate":{"description":"Update a previously built player with new Addressable Content.","type":"boolean"},"profileName":{"description":"which addressables profile should be used for the build","type":"string"},"failedAddressablesFailsBuild":{"description":"Exit and mark the build as failed if an error occurs when addressables are built","type":"boolean","default":true},"contentUpdateSettings":{"properties":{"contentStatePath":{"description":"The path to a Content State .bin file relative to the project root","type":"string"},"linkedTargetId":{"description":"The Id of the build target to obtain a Content State .bin file from","type":"string"}}},"generateBuildLayout":{"description":"Whether to generate the bundle build layout report.","type":"boolean"},"buildLayoutReportFileFormat":{"description":"The format of the bundle build layout report.","type":"string","default":"JSON","enum":["JSON","TXT"]}}},"runUnitTests":{"description":"Run any unit tests your project has when a build happens.","type":"boolean"},"runEditModeTests":{"description":"Should Edit Mode unit tests be run? NOTE: requires runUnitTests to be true and building\nwith Unity 5.6 or newer.","type":"boolean"},"runPlayModeTests":{"description":"Should Play Mode unit tests be run? NOTE: requires runUnitTests to be true and building\nwith Unity 5.6 or newer.","type":"boolean"},"failedUnitTestFailsBuild":{"description":"Mark builds as failed if the unit tests do not pass.","type":"boolean"},"unitTestMethod":{"description":"LEGACY - The Unity method to call when running unit tests (only supported in Unity 5.2 and lower).","type":"string"},"enableLightBake":{"description":"Enable lightmap baking (disabled by default since it is very slow and usually unnecessary)","type":"boolean"}}},"uwp":{"properties":{"windowsSDKVersion":{"description":"Sets Windows SDK Version to use when building UWP","enum":["10.0.17134.0","10.0.17763.0","10.0.18362.0","10.0.19041.0","10.0.20348.0","10.0.22621.0","10.0.22000.0"],"type":"string"},"visualStudioVersion":{"description":"Sets the Visual Studio Version to use when building UWP","enum":["2019","2022"],"type":"string"},"wsaArchitecture":{"description":"Sets target architecture for Exectuable Only builds","enum":["x64","x86","ARM","ARM64"],"type":["string","null"]},"capabilities":{"description":"Sets the capabilities of the build UWP application","type":["array","null"],"items":{"description":"UWP Capabilities","enum":["EnterpriseAuthentication","InternetClient","InternetClientServer","MusicLibrary","PicturesLibrary","PrivateNetworkClientServer","SharedUserCertificates","VideosLibrary","WebCam","RemovableStorage","Proximity","Microphone","Location","HumanInterfaceDevice","AllJoyn","BlockedChatMessages","Chat","CodeGeneration","Objects3D","PhoneCall","UserAccountInformation","VoipCall","Bluetooth","SpatialPerception","InputInjectionBrokered","Appointments","BackgroundMediaPlayback","Contacts","LowLevelDevices","OfflineMapsManagement","PhoneCallHistoryPublic","PointOfService","RecordedCallsFolder","RemoteSystem","SystemManagement","UserDataTasks","UserNotificationListener","GazeInput"],"type":"string"}},"targetFamily":{"description":"Sets the target device family for the build","type":"array","items":{"description":"The target device family","enum":["Universal","Desktop","Mobile","Xbox","Holographic","IoT","IoTHeadless"],"type":"string"}},"buildType":{"description":"Sets the build type for UWP. Executable","enum":["ExecutableOnly","D3D","XAML"],"type":"string"},"msbuildConfiguration":{"description":"Sets the ms build configuration for UWP","enum":["Debug","Release","Master","MasterWithLTCG"],"type":["string","null"]},"platforms":{"description":"Sets the target platforms for the AppXBundle","type":["array","null"],"items":{"description":"Target Platform","enum":["x64","x86","ARM","ARM64"],"type":"string"}},"publishVisualStudioSolution":{"description":"Enable publishing of the visual studio .sln file","type":"boolean"}}},"gamecorescarlett":{"properties":{}},"ps5":{"properties":{}}}}}},"credentials":{"properties":{"signing":{"properties":{"credentialid":{"type":"string"}}}}}}}
curl -X PUT -H "Content-Type: application/json" -d '{"name": "Mac", "enabled": false}' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid} buildtargetsApi = BuildtargetsApi(client) buildtarget = buildtargetsApi.update_build_target('{orgid}', '{projectid}', '{buildtargetid}', options={"name": "Mac", "enabled": False})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
name: string (up to 64 chars)
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
buildtargetid: string

unique id auto-generated from the build target name

enabled: boolean

whether this target can be built by the API

settings: object
autoBuild: boolean

start builds automatically when your repo is updated

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

autoDetectUnityVersion: boolean

attempt to automatically detect which unity version to use, fallback to specified unityVersion if unable to.

fallbackPatchVersion: boolean

attempt to get a similar unity patch version to use, applies to unavailable auto-detected Unity versions only.

executablename: string
scm: object
type: string , x ∈ { git , svn , p4 , oauth , plastic }
repo: string

Which repo to use. Only applies to Plastic SCM, other SCM types configure repo on the project level.

branch: string
subdirectory: string

subdirectory to build from

client: string

perforce only client workspace to build from

platform: object
bundleId: string

a unique identifier (com.example.name)

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

buildSchedule: object

For Scheduling builds

isEnabled: boolean
date: string (date-time)
repeatCycle: string , x ∈ { none , once (default) , daily , weekly , monthly , yearly }
cleanBuild: boolean
autoBuildCancellation: boolean
machineTypeLabel: string
operatingSystemSelected: string , x ∈ { mac , windows }
operatingSystemVersion: string

Choose the version of the operating system for building your project.

rubyVersion: string
remoteCacheStrategy: string , x ∈ { none , library , workspace , inherit }

Specifies the caching strategy (none, library, workspace, or inherit) for remote data storage and retrieval

buildTargetCopyCache: string

Specifies the id of the build target that this target's cache was copied from

cacheCompressionLevel: string , x ∈ { inherit (default) , none , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }

Specifies the compression level for caching workspace or Library.

advanced: object
cache: object
xcode: object
useArchiveAndExport: boolean
customFastlaneConfigPath: string

The path (including file name) from the project root to the custom FastLane configuration json file to configure multiple provisioning files, or customize the FastLane build process. See https://forum.unity.com/threads/xcode-9-multiple-provisioning-profiles.545121/ Will look for Assets/ucb_xcode_fastlane.json by default, if not specified.

uploadXCArchive: boolean

Upload the XCArchive file produced by the build. This file will be downloadable from the dashboard if this property is true.

shouldNotarize: boolean

Only used with OSX targets, this triggers signing and notarization process for the executable.

android: object
buildAppBundle: boolean
buildAssetPacks: boolean
androidSDKVersion: string

Android SDK Version

unity: object
preExportMethod: string

The fully-qualified name of a public static method you want us to call before we start the Unity build process. For example: ClassName.NeatMethod or NameSpace.ClassName.NeatMethod. No trailing parenthesis, and it can't have the same name as your Post-Export method!

postExportMethod: string

The fully-qualified name of a public static method you want us to call after we finish the Unity build process (but before Xcode). For example: ClassName.CoolMethod or NameSpace.ClassName.CoolMethod. No trailing parenthesis, and it can't have the same name as your Post-Export method! This method must accept a string parameter, which will receive the path to the exported Unity player (or Xcode project in the case of iOS).

preBuildScript: string

Relative path to the script that should be run before the build process starts.

postBuildScript: string

Relative path to the script that should be run after the build process finishes.

preBuildScriptFailsBuild: boolean

If this is true, a non-zero exit code on your preBuildScript will cause your build to be marked as Failed

postBuildScriptFailsBuild: boolean

If this is true, a non-zero exit code on your postBuildScript will cause your build to be marked as Failed

scriptingDefineSymbols: string

Enter the names of the symbols you want to define for iOS. These symbols can then be used as the conditions for #if directives just like the built-in ones. (i.e. #IF MYDEFINE or #IF AMAZON)

playerExporter: object
sceneList: string[]

A list of scenes to build overriding those specified in the Build Settings menu of your Unity project.

string

scene names

buildOptions: string[]

Unity Editor build options. Use BuildOptions.Development and BuildOptions.AllowDebugging to create a development build.

string
export: boolean true

Enable exporting a player from Unity (i.e. running BuildPipeline.BuildPlayer). Enabling this is equivalent to disabling Content-only Build in Build Target on Developer Dashboard. In general, this should be true, unless you are doing something something like an asset bundle only build or unit test only build without generating an actual build artifact.

playerSettings: object
Android: object
useAPKExpansionFiles: boolean

break up android apk into an installable apk and expansion files

editorUserBuildSettings: object
androidBuildSystem: string , x ∈ { internal , gradle }

which android build system to build with (android only, supported in Unity 5.5+)

standaloneBuildSubtarget: string , x ∈ { Player (default) , Server }

standalone build subtarget for Dedicated Server Build (supported in Unity 2021.2+). see https://docs.unity3d.com/2021.2/Documentation/ScriptReference/StandaloneBuildSubtarget.html

assetBundles: object
buildBundles: boolean

enable asset bundle builds for this target

basePath: string

base path relative to Assets folder where asset bundles are output. Default is 'AssetBundles'

buildAssetBundleOptions: string

comma separated list of flags from BuildAssetBundleOptions. see https://docs.unity3d.com/ScriptReference/BuildAssetBundleOptions.html

copyToStreamingAssets: boolean

copy bundles to streaming assets folder, which will be packaged into the exported player.

copyBundlePatterns: string[]

array of patterns to match (C# Regular Expressions) when copying asset bundle files. By default, all bundles will be copied.

string
addressables: object
buildAddressables: boolean

enable addressable builds for this target

contentUpdate: boolean

Update a previously built player with new Addressable Content.

profileName: string

which addressables profile should be used for the build

failedAddressablesFailsBuild: boolean true

Exit and mark the build as failed if an error occurs when addressables are built

contentUpdateSettings: object
contentStatePath: string

The path to a Content State .bin file relative to the project root

linkedTargetId: string

The Id of the build target to obtain a Content State .bin file from

generateBuildLayout: boolean

Whether to generate the bundle build layout report.

buildLayoutReportFileFormat: string , x ∈ { JSON (default) , TXT }

The format of the bundle build layout report.

runUnitTests: boolean

Run any unit tests your project has when a build happens.

runEditModeTests: boolean

Should Edit Mode unit tests be run? NOTE: requires runUnitTests to be true and building with Unity 5.6 or newer.

runPlayModeTests: boolean

Should Play Mode unit tests be run? NOTE: requires runUnitTests to be true and building with Unity 5.6 or newer.

failedUnitTestFailsBuild: boolean

Mark builds as failed if the unit tests do not pass.

unitTestMethod: string

LEGACY - The Unity method to call when running unit tests (only supported in Unity 5.2 and lower).

enableLightBake: boolean

Enable lightmap baking (disabled by default since it is very slow and usually unnecessary)

uwp: object
windowsSDKVersion: string , x ∈ { 10.0.17134.0 , 10.0.17763.0 , 10.0.18362.0 , 10.0.19041.0 , 10.0.20348.0 , 10.0.22621.0 , 10.0.22000.0 }

Sets Windows SDK Version to use when building UWP

visualStudioVersion: string , x ∈ { 2019 , 2022 }

Sets the Visual Studio Version to use when building UWP

wsaArchitecture: string,null , x ∈ { x64 , x86 , ARM , ARM64 }

Sets target architecture for Exectuable Only builds

capabilities: array,null

Sets the capabilities of the build UWP application

targetFamily: string[]

Sets the target device family for the build

string , x ∈ { Universal , Desktop , Mobile , Xbox , Holographic , IoT , IoTHeadless }

The target device family

buildType: string , x ∈ { ExecutableOnly , D3D , XAML }

Sets the build type for UWP. Executable

msbuildConfiguration: string,null , x ∈ { Debug , Release , Master , MasterWithLTCG }

Sets the ms build configuration for UWP

platforms: array,null

Sets the target platforms for the AppXBundle

publishVisualStudioSolution: boolean

Enable publishing of the visual studio .sln file

gamecorescarlett: object
ps5: object
buildTargetGroups: object[]
object
id: string
name: string
lastBuilt: object
unityVersion: string

Last Unity version built by this target. Setting this has no effect.

credentials: object
signing: object
credentialid: string
credentialResourceRef: object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

uuid: string

generated UUID of the profile

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string

expiration date

links: object
builds: object[]
object

buildattempt

build: number
buildtargetid: string

unique id auto-generated from the build target name

buildTargetName: string (up to 64 chars)
buildGUID: string

unique GUID identifying this build

buildStatus: string , x ∈ { created , queued , sentToBuilder , started , restarted , success , failure , canceled , unknown }
cleanBuild: boolean

if the build was built without using data cached from previous builds

failureDetails: object[]

list of failure details for this build attempt, when available

object
label: string
resolutionHint: string
stages: string[]
string
failureType: string
count: number
canceledBy: string , x ∈ { api , service , service-timelimit , concurrency-timelimit , restart-limit , evaluation-timelimit , jenkins-timelimit , service-badconfiguration , billing-invalidsubscription }
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
workspaceSize: number

size of workspace in bytes

created: string

when the build was created

finished: string

when the build completely finished

checkoutStartTime: string

when the build starting checking out code

checkoutTimeInSeconds: number

amount of time spent checking out code

buildStartTime: string

when the build started compiling

buildTimeInSeconds: number

amount of time spend compiling

publishStartTime: string

when the build started saving build artifacts

publishTimeInSeconds: number

amount of time spent saving build artifacts

totalTimeInSeconds: number

total time for the build

billableTimeInSeconds: number

total billable time for the build

unitTestTimeInSeconds: number

total time for unit test execution step

editModeTestTimeInSeconds: number

total time for unit test execution step

playModeTestTimeInSeconds: number

total time for unit test execution step

lastBuiltRevision: string

source control commit id for the build

changeset: object[]

a list of source control changes between this and the last build

object
favorited: boolean

if the build is marked as do not delete or not

label: string

description given when a build is favorited

deleted: boolean

if the build is deleted or not

headless: object

if the build was built to run in linux headless mode

credentialsOutdated: boolean

if a newer credential has been attached to this buildtarget and the build can be re-signed

groupBuildId: string (uuid)

the unique ID used to launch a group of attempts

buildTargetGroups: object[]

list of build target groups this build attempt is a part of

object
name: string
id: string
deleted: boolean
enabled: boolean
machineType: object

the type of machine used to build this build

name: string
label: string
enabled: boolean
operatingSystem: string
deletedBy: string

email address of the user who deleted this attempt

queuedReason: string , x ∈ { targetConcurrency , cooldown , buildConcurrency , concurrency , waitingForBuildAgent , evaluating , sentToBuilder , notPending }

reason the build is currently waiting

cooldownDate: string

time until this build will be reconsidered for building

scmBranch: string

scm branch to be built

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

operatingSystemVersion: string

a supported operating system version (ex. 'monterey')

operatingSystem: string

the OS that this build ran (or will run) on (ex. 'windows' / 'mac')

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

auditChanges: number
projectVersion: object
name: string

automatically generated name for the build

filename: string

filename for the primary artifact

projectName: string

name of the project

platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
size: number

size of the the primary build artifact in bytes

created: string

creation date

lastMod: string

last modified date

bundleId: string

a unique identifier (com.example.name)

udids: string[]

iPhone unique identifiers that are able to install this build

string
links: object

links to build artifacts

projectName: string
projectId: string
projectGuid: string
orgId: string
orgFk: string
filetoken: string
links: object
artifacts: object[]
object
object
href: string
method: string
meta: object
buildReport: object
errors: integer
warnings: integer
testResults: object

results from the build's unit tests, if any

unit_test: object
unit_test_editmode: object
unit_test_playmode: object
machineTypeLabel: string
requestedRevision: string
error: string
links: object
`
{ "name": "Mac", "platform": "webplayer", "buildtargetid": "mac", "enabled": false, "settings": { "autoBuild": false, "unityVersion": "latest", "autoDetectUnityVersion": "false", "fallbackPatchVersion": "false", "executablename": "Mac", "scm": { "type": "git" }, "platform": {}, "advanced": {} }, "credentials": { "signing": {} }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/mac" }, "start_builds": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/mac/builds" }, "list_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/mac/builds" }, "cancel_builds": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/mac/builds" }, "polling": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/mac/polling" } } }

Delete build target

DELETE /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}

Description

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
curl -X DELETE -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid} buildtargetsApi = BuildtargetsApi(client) buildtargetsApi.delete_build_target('{orgid}', '{projectid}', '{buildtargetid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Get environment variables

GET /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/envvars

Description

Get all configured environment variables for a given build target

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/envvars buildtargetsApi = BuildtargetsApi(client) buildtargetsApi.get_env_variables_for_build_target('{orgid}', '{projectid}', '{buildtargetid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK

Object containing env variables. Name must follow env variable spec - a word consisting solely of underscores, digits, and alphabetics from the portable character set. The first character of a name is not a digit. May not override widely used env variables (see IEEE Std 1003.1-2008).

{"MY_ENV_VARIABLE":"yellow","BUILD_SERVICE":"https://build-api.cloud.unity3d.com/","PORT":"1000"}
string
`

Set environment variables

PUT /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/envvars

Description

Set all configured environment variables for a given build target

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string

Parameters are specified as application/json in the request body.

Environment variables

{"type":"object","additionalProperties":{"type":"string"},"description":"Object containing env variables. Name must follow env variable spec - a word consisting solely of underscores,\ndigits, and alphabetics from the portable character set. The first character of a name is not a digit. May not\noverride widely used env variables (see IEEE Std 1003.1-2008).","example":{"MY_ENV_VARIABLE":"yellow","BUILD_SERVICE":"https://build-api.cloud.unity3d.com/","PORT":"1000"}}
curl -X PUT -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/envvars buildtargetsApi = BuildtargetsApi(client) buildtargetsApi.set_env_variables_for_build_target('{orgid}', '{projectid}', '{buildtargetid}', '{envvars}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK

Object containing env variables. Name must follow env variable spec - a word consisting solely of underscores, digits, and alphabetics from the portable character set. The first character of a name is not a digit. May not override widely used env variables (see IEEE Std 1003.1-2008).

{"MY_ENV_VARIABLE":"yellow","BUILD_SERVICE":"https://build-api.cloud.unity3d.com/","PORT":"1000"}
string
`

Get build target statistics

GET /orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/stats

Description

Get statistics for the specified build target

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
buildtargetid

unique id auto-generated from the build target name

path string
buildStatus

Query for only builds of a specific status

query string
cleanBuild

Query for builds that have either been built clean or using caches

query boolean
limit

Get stats for last limit builds

query number
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/buildtargets/{buildtargetid}/stats buildsApi = BuildsApi(client) stats = buildsApi.get_stats('{orgid}', '{projectid}', '{buildtargetid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
totalBuilds: number
successfulBuilds: number
canceledBuilds: number
failedBuilds: number
averageWorkspaceSize: number
averageTotalTime: number
averageWaitTime: number
averageCheckoutTime: number
averageBuildTime: number
averagePublishTime: number
`
{ "totalBuilds":100, "successfulBuilds":60, "canceledBuilds":20, "failedBuilds":20, "averageWorkspaceSize":8386947559 "averageTotalTime":4628, "averageWaitTime":100, "averageCheckoutTime":828, "averageBuildTime":3200, "averagePublishTime":500 }

List all build targets for an org

GET /orgs/{orgid}/buildtargets

Description

Gets all configured build targets for an org, regardless of whether they are enabled. Add "?include=settings,credentials" as a query parameter to include the build target settings and credentials with the response.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
include

Extra fields to include in the response

query string
include_last_success

Include last successful build

query boolean
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/buildtargets buildtargetsApi = BuildtargetsApi(client) buildtargets = buildtargetsApi.get_build_targets('{orgid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
name: string (up to 64 chars)
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
buildtargetid: string

unique id auto-generated from the build target name

enabled: boolean

whether this target can be built by the API

settings: object
autoBuild: boolean

start builds automatically when your repo is updated

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

autoDetectUnityVersion: boolean

attempt to automatically detect which unity version to use, fallback to specified unityVersion if unable to.

fallbackPatchVersion: boolean

attempt to get a similar unity patch version to use, applies to unavailable auto-detected Unity versions only.

executablename: string
scm: object
type: string , x ∈ { git , svn , p4 , oauth , plastic }
repo: string

Which repo to use. Only applies to Plastic SCM, other SCM types configure repo on the project level.

branch: string
subdirectory: string

subdirectory to build from

client: string

perforce only client workspace to build from

platform: object
bundleId: string

a unique identifier (com.example.name)

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

buildSchedule: object

For Scheduling builds

isEnabled: boolean
date: string (date-time)
repeatCycle: string , x ∈ { none , once (default) , daily , weekly , monthly , yearly }
cleanBuild: boolean
autoBuildCancellation: boolean
machineTypeLabel: string
operatingSystemSelected: string , x ∈ { mac , windows }
operatingSystemVersion: string

Choose the version of the operating system for building your project.

rubyVersion: string
remoteCacheStrategy: string , x ∈ { none , library , workspace , inherit }

Specifies the caching strategy (none, library, workspace, or inherit) for remote data storage and retrieval

buildTargetCopyCache: string

Specifies the id of the build target that this target's cache was copied from

cacheCompressionLevel: string , x ∈ { inherit (default) , none , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }

Specifies the compression level for caching workspace or Library.

advanced: object
cache: object
xcode: object
useArchiveAndExport: boolean
customFastlaneConfigPath: string

The path (including file name) from the project root to the custom FastLane configuration json file to configure multiple provisioning files, or customize the FastLane build process. See https://forum.unity.com/threads/xcode-9-multiple-provisioning-profiles.545121/ Will look for Assets/ucb_xcode_fastlane.json by default, if not specified.

uploadXCArchive: boolean

Upload the XCArchive file produced by the build. This file will be downloadable from the dashboard if this property is true.

shouldNotarize: boolean

Only used with OSX targets, this triggers signing and notarization process for the executable.

android: object
buildAppBundle: boolean
buildAssetPacks: boolean
androidSDKVersion: string

Android SDK Version

unity: object
preExportMethod: string

The fully-qualified name of a public static method you want us to call before we start the Unity build process. For example: ClassName.NeatMethod or NameSpace.ClassName.NeatMethod. No trailing parenthesis, and it can't have the same name as your Post-Export method!

postExportMethod: string

The fully-qualified name of a public static method you want us to call after we finish the Unity build process (but before Xcode). For example: ClassName.CoolMethod or NameSpace.ClassName.CoolMethod. No trailing parenthesis, and it can't have the same name as your Post-Export method! This method must accept a string parameter, which will receive the path to the exported Unity player (or Xcode project in the case of iOS).

preBuildScript: string

Relative path to the script that should be run before the build process starts.

postBuildScript: string

Relative path to the script that should be run after the build process finishes.

preBuildScriptFailsBuild: boolean

If this is true, a non-zero exit code on your preBuildScript will cause your build to be marked as Failed

postBuildScriptFailsBuild: boolean

If this is true, a non-zero exit code on your postBuildScript will cause your build to be marked as Failed

scriptingDefineSymbols: string

Enter the names of the symbols you want to define for iOS. These symbols can then be used as the conditions for #if directives just like the built-in ones. (i.e. #IF MYDEFINE or #IF AMAZON)

playerExporter: object
sceneList: string[]

A list of scenes to build overriding those specified in the Build Settings menu of your Unity project.

string

scene names

buildOptions: string[]

Unity Editor build options. Use BuildOptions.Development and BuildOptions.AllowDebugging to create a development build.

string
export: boolean true

Enable exporting a player from Unity (i.e. running BuildPipeline.BuildPlayer). Enabling this is equivalent to disabling Content-only Build in Build Target on Developer Dashboard. In general, this should be true, unless you are doing something something like an asset bundle only build or unit test only build without generating an actual build artifact.

playerSettings: object
Android: object
useAPKExpansionFiles: boolean

break up android apk into an installable apk and expansion files

editorUserBuildSettings: object
androidBuildSystem: string , x ∈ { internal , gradle }

which android build system to build with (android only, supported in Unity 5.5+)

standaloneBuildSubtarget: string , x ∈ { Player (default) , Server }

standalone build subtarget for Dedicated Server Build (supported in Unity 2021.2+). see https://docs.unity3d.com/2021.2/Documentation/ScriptReference/StandaloneBuildSubtarget.html

assetBundles: object
buildBundles: boolean

enable asset bundle builds for this target

basePath: string

base path relative to Assets folder where asset bundles are output. Default is 'AssetBundles'

buildAssetBundleOptions: string

comma separated list of flags from BuildAssetBundleOptions. see https://docs.unity3d.com/ScriptReference/BuildAssetBundleOptions.html

copyToStreamingAssets: boolean

copy bundles to streaming assets folder, which will be packaged into the exported player.

copyBundlePatterns: string[]

array of patterns to match (C# Regular Expressions) when copying asset bundle files. By default, all bundles will be copied.

string
addressables: object
buildAddressables: boolean

enable addressable builds for this target

contentUpdate: boolean

Update a previously built player with new Addressable Content.

profileName: string

which addressables profile should be used for the build

failedAddressablesFailsBuild: boolean true

Exit and mark the build as failed if an error occurs when addressables are built

contentUpdateSettings: object
contentStatePath: string

The path to a Content State .bin file relative to the project root

linkedTargetId: string

The Id of the build target to obtain a Content State .bin file from

generateBuildLayout: boolean

Whether to generate the bundle build layout report.

buildLayoutReportFileFormat: string , x ∈ { JSON (default) , TXT }

The format of the bundle build layout report.

runUnitTests: boolean

Run any unit tests your project has when a build happens.

runEditModeTests: boolean

Should Edit Mode unit tests be run? NOTE: requires runUnitTests to be true and building with Unity 5.6 or newer.

runPlayModeTests: boolean

Should Play Mode unit tests be run? NOTE: requires runUnitTests to be true and building with Unity 5.6 or newer.

failedUnitTestFailsBuild: boolean

Mark builds as failed if the unit tests do not pass.

unitTestMethod: string

LEGACY - The Unity method to call when running unit tests (only supported in Unity 5.2 and lower).

enableLightBake: boolean

Enable lightmap baking (disabled by default since it is very slow and usually unnecessary)

uwp: object
windowsSDKVersion: string , x ∈ { 10.0.17134.0 , 10.0.17763.0 , 10.0.18362.0 , 10.0.19041.0 , 10.0.20348.0 , 10.0.22621.0 , 10.0.22000.0 }

Sets Windows SDK Version to use when building UWP

visualStudioVersion: string , x ∈ { 2019 , 2022 }

Sets the Visual Studio Version to use when building UWP

wsaArchitecture: string,null , x ∈ { x64 , x86 , ARM , ARM64 }

Sets target architecture for Exectuable Only builds

capabilities: array,null

Sets the capabilities of the build UWP application

targetFamily: string[]

Sets the target device family for the build

string , x ∈ { Universal , Desktop , Mobile , Xbox , Holographic , IoT , IoTHeadless }

The target device family

buildType: string , x ∈ { ExecutableOnly , D3D , XAML }

Sets the build type for UWP. Executable

msbuildConfiguration: string,null , x ∈ { Debug , Release , Master , MasterWithLTCG }

Sets the ms build configuration for UWP

platforms: array,null

Sets the target platforms for the AppXBundle

publishVisualStudioSolution: boolean

Enable publishing of the visual studio .sln file

gamecorescarlett: object
ps5: object
buildTargetGroups: object[]
object
id: string
name: string
lastBuilt: object
unityVersion: string

Last Unity version built by this target. Setting this has no effect.

credentials: object
signing: object
credentialid: string
credentialResourceRef: object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

uuid: string

generated UUID of the profile

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string

expiration date

links: object
builds: object[]
object

buildattempt

build: number
buildtargetid: string

unique id auto-generated from the build target name

buildTargetName: string (up to 64 chars)
buildGUID: string

unique GUID identifying this build

buildStatus: string , x ∈ { created , queued , sentToBuilder , started , restarted , success , failure , canceled , unknown }
cleanBuild: boolean

if the build was built without using data cached from previous builds

failureDetails: object[]

list of failure details for this build attempt, when available

object
label: string
resolutionHint: string
stages: string[]
string
failureType: string
count: number
canceledBy: string , x ∈ { api , service , service-timelimit , concurrency-timelimit , restart-limit , evaluation-timelimit , jenkins-timelimit , service-badconfiguration , billing-invalidsubscription }
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
workspaceSize: number

size of workspace in bytes

created: string

when the build was created

finished: string

when the build completely finished

checkoutStartTime: string

when the build starting checking out code

checkoutTimeInSeconds: number

amount of time spent checking out code

buildStartTime: string

when the build started compiling

buildTimeInSeconds: number

amount of time spend compiling

publishStartTime: string

when the build started saving build artifacts

publishTimeInSeconds: number

amount of time spent saving build artifacts

totalTimeInSeconds: number

total time for the build

billableTimeInSeconds: number

total billable time for the build

unitTestTimeInSeconds: number

total time for unit test execution step

editModeTestTimeInSeconds: number

total time for unit test execution step

playModeTestTimeInSeconds: number

total time for unit test execution step

lastBuiltRevision: string

source control commit id for the build

changeset: object[]

a list of source control changes between this and the last build

object
favorited: boolean

if the build is marked as do not delete or not

label: string

description given when a build is favorited

deleted: boolean

if the build is deleted or not

headless: object

if the build was built to run in linux headless mode

credentialsOutdated: boolean

if a newer credential has been attached to this buildtarget and the build can be re-signed

groupBuildId: string (uuid)

the unique ID used to launch a group of attempts

buildTargetGroups: object[]

list of build target groups this build attempt is a part of

object
name: string
id: string
deleted: boolean
enabled: boolean
machineType: object

the type of machine used to build this build

name: string
label: string
enabled: boolean
operatingSystem: string
deletedBy: string

email address of the user who deleted this attempt

queuedReason: string , x ∈ { targetConcurrency , cooldown , buildConcurrency , concurrency , waitingForBuildAgent , evaluating , sentToBuilder , notPending }

reason the build is currently waiting

cooldownDate: string

time until this build will be reconsidered for building

scmBranch: string

scm branch to be built

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

operatingSystemVersion: string

a supported operating system version (ex. 'monterey')

operatingSystem: string

the OS that this build ran (or will run) on (ex. 'windows' / 'mac')

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

auditChanges: number
projectVersion: object
name: string

automatically generated name for the build

filename: string

filename for the primary artifact

projectName: string

name of the project

platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
size: number

size of the the primary build artifact in bytes

created: string

creation date

lastMod: string

last modified date

bundleId: string

a unique identifier (com.example.name)

udids: string[]

iPhone unique identifiers that are able to install this build

string
links: object

links to build artifacts

projectName: string
projectId: string
projectGuid: string
orgId: string
orgFk: string
filetoken: string
links: object
artifacts: object[]
object
object
href: string
method: string
meta: object
buildReport: object
errors: integer
warnings: integer
testResults: object

results from the build's unit tests, if any

unit_test: object
unit_test_editmode: object
unit_test_playmode: object
machineTypeLabel: string
requestedRevision: string
error: string
links: object
`
[ { "name": "Default WebGL", "platform": "webgl", "buildtargetid": "default-webgl", "enabled": true, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl" }, "start_builds": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/builds" }, "list_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/builds" }, "cancel_builds": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/builds" }, "polling": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-webgl/polling" } } }, { "name": "Default Linux desktop Universal", "platform": "standalonelinuxuniversal", "buildtargetid": "default-linux-desktop-universal", "enabled": true, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal" }, "start_builds": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal/builds" }, "list_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal/builds" }, "cancel_builds": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal/builds" }, "polling": { "method": "post", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/default-linux-desktop-universal/polling" } } } ]

Config Introduction

Global config values used throughout the API.

List all unity versions

GET /versions/unity

Description

Request Parameters

platform

Platform parameter

query string
curl -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/versions/unity configApi = ConfigApi(client) versions = configApi.list_unity_versions()

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
name: string
value: string
xcode_versions: string[]
string
hidden: boolean
deprecated: boolean
cloudRenderingEnabled: boolean
entitledPlatformsSupported: string[]
string
`
[ { "name": "Always Use Latest 5.2 ALPHA/BETA", "value": "latest5AB", "xcode_versions": [ "xcode5", "xcode6", "xcode7" ], "hidden": false }, { "name": "Always Use Latest 5.x", "value": "latest5", "xcode_versions": [ "xcode5", "xcode6", "xcode7" ], "hidden": false }, { "name": "Always Use Latest 4.x (Non Beta)", "value": "latest", "xcode_versions": [ "xcode5", "xcode6" ], "hidden": false }, { "name": "Unity 5.3.0a1", "value": "5_3_0a1", "xcode_versions": [ "xcode5", "xcode6", "xcode7" ], "hidden": false }, { "name": "Unity 4.6.9", "value": "4_6_9", "xcode_versions": [ "xcode5", "xcode6" ], "hidden": false, "deprecated": true } ]

Get a unity version by value

GET /versions/unity/{unityVersionValue}

Description

Request Parameters

unityVersionValue

Unity Version key (e.g. 2022_3_0f1)

path string
curl -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/versions/unity/{value} configApi = ConfigApi(client); versions = configApi.get_version('{value}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
name: string
value: string
xcode_versions: string[]
string
hidden: boolean
deprecated: boolean
cloudRenderingEnabled: boolean
entitledPlatformsSupported: string[]
string
`
{ "name": "Always Use Latest 5.2 ALPHA/BETA", "value": "latest5AB", "xcode_versions": [ "xcode5", "xcode6", "xcode7" ], "hidden": false }

List all visual studio versions for UWP applications

GET /versions/visual-studio

Description

Request Parameters

curl -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/versions/visual-studio

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
visual_studio_version: string
windows_sdk_versions: string[]
string
`
[ { "visual_studio_version": "2019", "windows_sdk_versions": [ '10.0.17134.0', '10.0.17763.0', '10.0.18362.0', '10.0.19041.0', '10.0.20348.0', '10.0.22000.0', '10.0.22621.0' ], }, { "visual_studio_version": "2022", "windows_sdk_versions": [ '10.0.17134.0', '10.0.17763.0', '10.0.18362.0', '10.0.19041.0', '10.0.20348.0', '10.0.22000.0', '10.0.22621.0' ], } ]

List all xcode versions

GET /versions/xcode

Description

Request Parameters

curl -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/versions/xcode configApi = ConfigApi(client); versions = configApi.list_xcode_versions()

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
name: string
value: string
hidden: boolean
deprecated: boolean
`
[ { "name": "Xcode 10.2", "value": "xcode10_2_0", "hidden": false }, { "name": "Xcode 10.1", "value": "xcode10_1_0", "hidden": false }, { "name": "Xcode 9.3", "value": "xcode9_3_0", "hidden": false }, { "name": "Xcode 9.2", "value": "xcode9_2_0", "hidden": true, "deprecated":true }, { "name": "Always Use Latest", "value": "latest", "hidden": false } ]

List all SCM types supporting auto detecting the project Unity version

GET /versions/auto_detect_supported_scms

Description

Request Parameters

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
string
`
['oauth', 'svn']

List Android SDK Config

GET /versions/android_sdk_config

Description

Request Parameters

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
maxUnityVersion: string
minUnityVersion: string
ndkVersion: string
sdkVersion: string
allowAlphas: boolean
allowBetas: boolean
`
[ { "minUnityVersion": "2022_2", "ndkVersion": "android_ndk_r23b", "sdkVersion": "android_sdk_33" } ]

Get an Android SDK for a Unity Version

GET /versions/android_sdk_config/{unityVersionValue}

Description

Request Parameters

unityVersionValue

Unity Version key (e.g. 2022_3_0f1)

path string

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
name: string
value: string
`
[ { "name": "Android SDK 31", "value": "android_sdk_31" }, { "name": "Android SDK 32", "value": "android_sdk_32" }, ]

List all operating system versions

GET /versions/operatingsystem

Description

Request Parameters

family

Operating system family

query string , x ∈ { windows , mac }
version

Operating system version number

query string
unity_version

Unity version

query string
xcode_version

Xcode version

query string
curl -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/versions/operatingsystem configApi = ConfigApi(client) versions = configApi.list_operating_system_versions()

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
name: string
value: string
family: string
version: string
min_unity_version: string
max_unity_version: string
unity_versions: array
xcode_versions: array
default_xcode_version: string
hidden: boolean
deprecated: boolean
created: string
`
[]

Get an operating system version by key

GET /versions/operatingsystem/{value}

Description

Request Parameters

value

Operating system version key

path string
curl -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/versions/operatingsystem/{key} configApi = ConfigApi(client) versions = configApi.get_operating_system_version()

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
name: string
value: string
family: string
version: string
min_unity_version: string
max_unity_version: string
unity_versions: array
xcode_versions: array
default_xcode_version: string
hidden: boolean
deprecated: boolean
created: string
`
{}

List cache compression levels for projects and build targets

GET /versions/cache_compression_levels

Description

Request Parameters

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
name: string
levels: array
`
[ {name: 'projects', levels: [1,2,3,4,5,6,7,8,9] }, {name: 'build_targets', levels: [0,1,2,3,4,5,6,7,8,9] }, ]

Get cache compression levels for projects or build targets

GET /versions/cache_compression_levels/{value}

Description

Request Parameters

value

Type of cache compression levels to return

path string , x ∈ { projects , build_targets }

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
name: string
levels: array
`
{name: 'projects', levels: [1,2,3,4,5,6,7,8,9] }

Validate a provider

GET /admin/providers/{providerId}/validate

Description

Request Parameters

providerId

ID of the provider

path string
activeOnly query boolean

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
`

List all enabled machine types

GET /machinetypes

Description

Request Parameters

operatingSystem query string
operatingSystemVersion query string
curl -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/machinetypes machineTypeApi = MachineTypeApi(client); machinetypes = machineTypeApi.list_machine_types()

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
name: string
shortName: string
label: string
operatingSystem: string , x ∈ { mac , windows }
operatingSystemVersions: string[]
string
enabled: boolean
default: boolean
isBestValue: boolean
sku: string
cpuCores: integer
memoryGB: integer
diskSizeGB: integer
useDataDrive: boolean
`
[ { "name": "Standard_v1", "label": "win_standard_v1", "operatingSystem": "windows", "enabled": true }, { "name": "Premium_v1", "label": "win_premium_v1", "operatingSystem": "windows", "enabled": true }, { "name": "Premium_v2", "label": "win_premium_v2", "operatingSystem": "windows", "enabled": false }, { "name": "Standard_v1", "label": "win_standard_v1", "operatingSystem": "mac", "enabled": true } ]

Credentials Introduction

Credentials for signing build artifacts are stored at the organizational level. Individual projects then point at the organizational level credentials.

Get All Android Credentials for an organization

GET /orgs/{orgid}/credentials/signing/android

Description

Get all credentials available for the organization. A list of projects using a credential is included in the links element.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/android credentialsApi = CredentialsApi(client) credentials = credentialsApi.get_all_android_for_org('{orgid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string
links: object
`
[ { "platform": "android", "label": "Auto Generated Debug Keystore", "credentialid": "a7dba621-a877-43c5-8163-bda58247124e", "created": "2015-08-27T22:29:00.023Z", "lastMod": "2015-08-27T22:29:00.023Z", "keystore": { "alias": "androiddebugkey", "debug": true }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" } "projects": [ { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/" }, { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project2/" } ] } } ]

Upload Android Credentials

POST /orgs/{orgid}/credentials/signing/android

Description

Upload a new android keystore for an organization. NOTE: you must be a manager in the organization to add new credentials.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
label

Label for the uploaded credential

formData string
file

Keystore file

formData file
alias

Keystore alias

formData string
keypass

Keystore keypass

formData string
storepass

Keystore storepass

formData string

multipart/form-data

curl -X POST -F file=@/Full/Path/To/android.keystore -F label=Beta%20Credentials -F alias=betacred -F keypass=betapass -F storepass=unitypass -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/android credentialsApi = CredentialsApi(client) credentials = credentialsApi.add_credentials_android_for_org('{orgid}', "Beta Credentials", "/Full/Path/To/android.keystore", "betacred", "betapass", "unitypass")

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string
links: object
`
{ "platform": "android", "label": "Beta Credentials", "credentialid": "a7dba621-a877-43c5-8163-bda58247124e", "created": "2015-08-27T22:29:00.023Z", "lastMod": "2015-08-27T22:29:00.023Z", "keystore": { "alias": "betacred", "debug": true }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" }, "projects": [ ] } }

Delete and Regenerate Android Debug Credentials for organization

DELETE /orgs/{orgid}/credentials/signing/android

Description

Delete and regenerate android debug credentials for an organization. NOTE: you must be a manager in the organization to delete credentials.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
curl -X DELETE -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/android/ credentialsApi = CredentialsApi(client) credential = credentialsApi.delete_android_for_org('{orgid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string
links: object
`
{ "platform": "android", "label": "Auto Generated Debug Keystore", "credentialid": "a7dba621-a877-43c5-8163-bda58247124e", "created": "2015-08-27T22:29:00.023Z", "lastMod": "2015-08-27T22:29:00.023Z", "keystore": { "alias": "androiddebugkey", "debug": true }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" }, "projects": [ { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/" }, { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project2/" } ] } }

Get Android Credential Details for organization

GET /orgs/{orgid}/credentials/signing/android/{credentialid}

Description

Get specific organization android credential details

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
credentialid

Credential Identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/android/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.get_one_android_for_org('{orgid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string
links: object
`
{ "platform": "android", "label": "Auto Generated Debug Keystore", "credentialid": "a7dba621-a877-43c5-8163-bda58247124e", "created": "2015-08-27T22:29:00.023Z", "lastMod": "2015-08-27T22:29:00.023Z", "keystore": { "alias": "androiddebugkey", "debug": true }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" }, "projects": [ { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/" }, { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project2/" } ] } }

Update Android Credentials for organization

PUT /orgs/{orgid}/credentials/signing/android/{credentialid}

Description

Update an android keystore for the organization. NOTE: you must be a manager in the organization to update credentials.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
credentialid

Credential Identifier

path string
label

Label for the uploaded credential

formData string
file

Keystore file

formData file
alias

Keystore alias

formData string
keypass

Keystore keypass

formData string
storepass

Keystore storepass

formData string

multipart/form-data

curl -X PUT -F file=@/Full/Path/To/android.keystore -F label=Renamed%20Credentials -F alias=betacred -F keypass=betapass -F storepass=unitypass -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/android/{credentialid} credentialsApi = CredentialsApi(client) credentials = credentialsApi.update_android_for_org('{orgid}', '{credentialid}', "Renamed Credentials", "/Full/Path/To/android.keystore", "betacred", "betapass", "unitypass")

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string
links: object
`
{ "platform": "android", "label": "Renamed Credentials", "credentialid": "a7dba621-a877-43c5-8163-bda58247124e", "created": "2015-08-27T22:29:00.023Z", "lastMod": "2015-08-27T22:29:00.023Z", "keystore": { "alias": "betacred", "debug": true }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" }, "projects": [ { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/" }, { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project2/" } ] } }

Delete Android Credentials for organization

DELETE /orgs/{orgid}/credentials/signing/android/{credentialid}

Description

Delete specific android credentials for an organization. NOTE: you must be a manager in the organization to delete credentials.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
credentialid

Credential Identifier

path string
curl -X DELETE -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/android/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.delete_android_for_org('{orgid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Get All Android Credentials

GET /orgs/{orgid}/projects/{projectid}/credentials/signing/android

Description

Get all credentials available for the project. A user in the projects org will see all credentials uploaded for any project within the org, whereas a user with project-level permissions will only see credentials assigned to the specific project.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/android credentialsApi = CredentialsApi(client) credentials = credentialsApi.get_all_android('{orgid}', '{projectid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string
links: object
`
[ { "platform": "android", "label": "Auto Generated Debug Keystore", "credentialid": "a7dba621-a877-43c5-8163-bda58247124e", "created": "2015-08-27T22:29:00.023Z", "lastMod": "2015-08-27T22:29:00.023Z", "keystore": { "alias": "androiddebugkey", "debug": true }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" } } } ]

Upload Android Credentials

POST /orgs/{orgid}/projects/{projectid}/credentials/signing/android

Description

Upload a new android keystore for the project. NOTE: you must be a manager in the project's organization to add new credentials.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
label

Label for the uploaded credential

formData string
file

Keystore file

formData file
alias

Keystore alias

formData string
keypass

Keystore keypass

formData string
storepass

Keystore storepass

formData string

multipart/form-data

curl -X POST -F file=@/Full/Path/To/android.keystore -F label=Beta%20Credentials -F alias=betacred -F keypass=betapass -F storepass=unitypass -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/android credentialsApi = CredentialsApi(client) credentials = credentialsApi.add_credentials_android('{orgid}', '{projectid}', "Beta Credentials", "/Full/Path/To/android.keystore", "betacred", "betapass", "unitypass")

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string
links: object
`
{ "platform": "android", "label": "Beta Credentials", "credentialid": "a7dba621-a877-43c5-8163-bda58247124e", "created": "2015-08-27T22:29:00.023Z", "lastMod": "2015-08-27T22:29:00.023Z", "keystore": { "alias": "betacred", "debug": true }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" } } }

Get Android Credential Details

GET /orgs/{orgid}/projects/{projectid}/credentials/signing/android/{credentialid}

Description

Get specific android credential details

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
credentialid

Credential Identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/android/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.get_one_android('{orgid}', '{projectid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string
links: object
`
{ "platform": "android", "label": "Auto Generated Debug Keystore", "credentialid": "a7dba621-a877-43c5-8163-bda58247124e", "created": "2015-08-27T22:29:00.023Z", "lastMod": "2015-08-27T22:29:00.023Z", "keystore": { "alias": "androiddebugkey", "debug": true }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" } } }

Update Android Credentials

PUT /orgs/{orgid}/projects/{projectid}/credentials/signing/android/{credentialid}

Description

Update an android keystore for the project. NOTE: you must be a manager in the project's organization to add new credentials.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
credentialid

Credential Identifier

path string
label

Label for the uploaded credential

formData string
file

Keystore file

formData file
alias

Keystore alias

formData string
keypass

Keystore keypass

formData string
storepass

Keystore storepass

formData string

multipart/form-data

curl -X PUT -F file=@/Full/Path/To/android.keystore -F label=Renamed%20Credentials -F alias=betacred -F keypass=betapass -F storepass=unitypass -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/android/{credentialid} credentialsApi = CredentialsApi(client) credentials = credentialsApi.update_android('{orgid}', '{projectid}', '{credentialid}', "Renamed Credentials", "/Full/Path/To/android.keystore", "betacred", "betapass", "unitypass")

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
keystore: object
alias: string

friendly name for keystore

debug: boolean

whether this is a debug or production keystore

expiration: string
links: object
`
{ "platform": "android", "label": "Renamed Credentials", "credentialid": "a7dba621-a877-43c5-8163-bda58247124e", "created": "2015-08-27T22:29:00.023Z", "lastMod": "2015-08-27T22:29:00.023Z", "keystore": { "alias": "betacred", "debug": true }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/android/a7dba621-a877-43c5-8163-bda58247124e" } } }

Delete Android Credentials

DELETE /orgs/{orgid}/projects/{projectid}/credentials/signing/android/{credentialid}

Description

Delete specific android credentials for a project. NOTE: you must be a manager in the project's organization to delete credentials.

Required Permissions

project:manager or org:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
credentialid

Credential Identifier

path string
curl -X DELETE -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/android/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.delete_android('{orgid}', '{projectid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Get All iOS Credentials for an oganization

GET /orgs/{orgid}/credentials/signing/ios

Description

Get all credentials available for the project. A user in the projects org will see all credentials uploaded for any project within the org, whereas a user with project-level permissions will only see credentials assigned to the specific project.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/ios credentialsApi = CredentialsApi(client) credentials = credentialsApi.get_all_ios_for_org('{orgid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

provisionedDevices: string[]

provisoned udids

string
links: object
`
[ { "platform": "ios", "label": "iOS Beta", "credentialid": "89d503e6-0878-437f-a24f-2b93288d01c5", "created": "2015-08-27T22:28:59.948Z", "lastMod": "2015-08-27T22:28:59.948Z", "certificate": { "teamId": "AAAAAAAAAA", "certName": "iPhone Developer: JULIE SMITH (BBBBBBBBB)", "expiration": "2016-08-05T18:57:54.000Z", "isDistribution": false, "issuer": "/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority" }, "provisioningProfile": { "teamId": "AAAAAAAAAA", "bundleId": "com.unity3d.cloudbuild.*", "expiration": "2016-08-06T21:53:56.000Z", "isEnterpriseProfile": false, "type": "developer", "numDevices": 2 }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/89d503e6-0878-437f-a24f-2b93288d01c5" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/89d503e6-0878-437f-a24f-2b93288d01c5" } } } ]

Upload iOS Credentials for organization

POST /orgs/{orgid}/credentials/signing/ios

Description

Upload a new iOS certificate and provisioning profile for the organization. NOTE: you must be a manager in the organization to add new credentials.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
label

Label for the uploaded credentials

formData string
fileCertificate

Certificate file (.p12)

formData file
fileProvisioningProfile

Provisioning Profile (.mobileprovision)

formData file
certificatePass

Certificate (.p12) password

formData string

multipart/form-data

curl -X POST -F label=iOS%20Alpha -F fileCertificate=@/Full/Path/To/alphacert.p12 -F fileProvisioningProfile=@/Full/Path/To/alpha.mobileprovision -F certificatePass=unity -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/ios credentialsApi = CredentialsApi(client) credential = credentialsApi.add_credentials_ios_for_org('{orgid}', "iOS Alpha", "/Full/Path/To/alphacert.p12", "/Full/Path/To/alpha.mobileprovision", certificate_pass="unity")

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

provisionedDevices: string[]

provisoned udids

string
links: object
`
{ "platform": "ios", "label": "iOS Alpha", "credentialid": "fa5239b9-29a1-479b-bafc-247f19bf984f", "created": "2015-11-18T22:57:01.755Z", "lastMod": "2015-11-18T22:57:01.763Z", "certificate": { "teamId": "AAAAAAAAAA", "certName": "iPhone Developer: JULIE SMITH (BBBBBBBBB)", "expiration": "2016-08-05T18:57:54.000Z", "isDistribution": false, "issuer": "/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority" }, "provisioningProfile": { "teamId": "AAAAAAAAAA", "bundleId": "com.unity3d.cloudbuild.*", "expiration": "2016-08-06T21:53:56.000Z", "isEnterpriseProfile": false, "type": "developer", "numDevices": 2 }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/fa5239b9-29a1-479b-bafc-247f19bf984f" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/fa5239b9-29a1-479b-bafc-247f19bf984f" } } }

Get iOS Credential Details for organization

GET /orgs/{orgid}/credentials/signing/ios/{credentialid}

Description

Get specific iOS credential details

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
credentialid

Credential Identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/ios/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.get_one_ios('{orgid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

provisionedDevices: string[]

provisoned udids

string
links: object
`
{ "platform": "ios", "label": "iOS Beta", "credentialid": "89d503e6-0878-437f-a24f-2b93288d01c5", "created": "2015-08-27T22:28:59.948Z", "lastMod": "2015-08-27T22:28:59.948Z", "certificate": { "teamId": "AAAAAAAAAA", "certName": "iPhone Developer: JULIE SMITH (BBBBBBBBB)", "expiration": "2016-08-05T18:57:54.000Z", "isDistribution": false, "issuer": "/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority" }, "provisioningProfile": { "teamId": "AAAAAAAAAA", "bundleId": "com.unity3d.cloudbuild.*", "expiration": "2016-08-06T21:53:56.000Z", "isEnterpriseProfile": false, "type": "developer", "numDevices": 2 }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/89d503e6-0878-437f-a24f-2b93288d01c5" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/89d503e6-0878-437f-a24f-2b93288d01c5" } } }

Update iOS Credentials for organization

PUT /orgs/{orgid}/credentials/signing/ios/{credentialid}

Description

Update an iOS certificate / provisioning profile. NOTE: you must be a manager in the project's organization to update credentials.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
credentialid

Credential Identifier

path string
label

Label for the updated credentials

formData string
fileCertificate

Certificate file (.p12)

formData file
fileProvisioningProfile

Provisioning Profile (.mobileprovision)

formData file
certificatePass

Certificate (.p12) password

formData string

multipart/form-data

curl -X PUT -F label=iOS%20Renamed -F fileCertificate=@/Full/Path/To/alphacert.p12 -F fileProvisioningProfile=@/Full/Path/To/alpha.mobileprovision -F certificatePass=unity -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/ios/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.update_ios_for_org('{orgid}', '{credentialid}', "iOS Renamed", "/Full/Path/To/alphacert.p12", "/Full/Path/To/alpha.mobileprovision", certificate_pass="unity")

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

provisionedDevices: string[]

provisoned udids

string
links: object
`
{ "platform": "ios", "label": "iOS Renamed", "credentialid": "fa5239b9-29a1-479b-bafc-247f19bf984f", "created": "2015-11-18T22:57:01.755Z", "lastMod": "2015-11-18T22:57:01.763Z", "certificate": { "teamId": "AAAAAAAAAA", "certName": "iPhone Developer: JULIE SMITH (BBBBBBBBB)", "expiration": "2016-08-05T18:57:54.000Z", "isDistribution": false, "issuer": "/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority" }, "provisioningProfile": { "teamId": "AAAAAAAAAA", "bundleId": "com.unity3d.cloudbuild.*", "expiration": "2016-08-06T21:53:56.000Z", "isEnterpriseProfile": false, "type": "developer", "numDevices": 2 }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/fa5239b9-29a1-479b-bafc-247f19bf984f" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/fa5239b9-29a1-479b-bafc-247f19bf984f" } } }

Delete iOS Credentials for organization

DELETE /orgs/{orgid}/credentials/signing/ios/{credentialid}

Description

Delete specific ios credentials. NOTE: you must be a manager in the project's organization to delete credentials.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
credentialid

Credential Identifier

path string
curl -X DELETE -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/ios/{credentialid} credentialsApi = CredentialsApi(client) credentialsApi.delete_ios_for_org('{orgid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Get All iOS Credentials

GET /orgs/{orgid}/projects/{projectid}/credentials/signing/ios

Description

Get all credentials available for the project. A user in the projects org will see all credentials uploaded for any project within the org, whereas a user with project-level permissions will only see credentials assigned to the specific project.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/ios credentialsApi = CredentialsApi(client) credentials = credentialsApi.get_all_ios('{orgid}', '{projectid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

provisionedDevices: string[]

provisoned udids

string
links: object
`
[ { "platform": "ios", "label": "iOS Beta", "credentialid": "89d503e6-0878-437f-a24f-2b93288d01c5", "created": "2015-08-27T22:28:59.948Z", "lastMod": "2015-08-27T22:28:59.948Z", "certificate": { "teamId": "AAAAAAAAAA", "certName": "iPhone Developer: JULIE SMITH (BBBBBBBBB)", "expiration": "2016-08-05T18:57:54.000Z", "isDistribution": false, "issuer": "/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority" }, "provisioningProfile": { "teamId": "AAAAAAAAAA", "bundleId": "com.unity3d.cloudbuild.*", "expiration": "2016-08-06T21:53:56.000Z", "isEnterpriseProfile": false, "type": "developer", "numDevices": 2 }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/89d503e6-0878-437f-a24f-2b93288d01c5" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/89d503e6-0878-437f-a24f-2b93288d01c5" } } } ]

Upload iOS Credentials

POST /orgs/{orgid}/projects/{projectid}/credentials/signing/ios

Description

Upload a new iOS certificate and provisioning profile for the project. NOTE: you must be a manager in the project's organization to add new credentials.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
label

Label for the uploaded credentials

formData string
fileCertificate

Certificate file (.p12)

formData file
fileProvisioningProfile

Provisioning Profile (.mobileprovision)

formData file
certificatePass

Certificate (.p12) password

formData string

multipart/form-data

curl -X POST -F label=iOS%20Alpha -F fileCertificate=@/Full/Path/To/alphacert.p12 -F fileProvisioningProfile=@/Full/Path/To/alpha.mobileprovision -F certificatePass=unity -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/ios credentialsApi = CredentialsApi(client) credential = credentialsApi.add_credentials_ios('{orgid}', '{projectid}', "iOS Alpha", "/Full/Path/To/alphacert.p12", "/Full/Path/To/alpha.mobileprovision", certificate_pass="unity")

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

provisionedDevices: string[]

provisoned udids

string
links: object
`
{ "platform": "ios", "label": "iOS Alpha", "credentialid": "fa5239b9-29a1-479b-bafc-247f19bf984f", "created": "2015-11-18T22:57:01.755Z", "lastMod": "2015-11-18T22:57:01.763Z", "certificate": { "teamId": "AAAAAAAAAA", "certName": "iPhone Developer: JULIE SMITH (BBBBBBBBB)", "expiration": "2016-08-05T18:57:54.000Z", "isDistribution": false, "issuer": "/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority" }, "provisioningProfile": { "teamId": "AAAAAAAAAA", "bundleId": "com.unity3d.cloudbuild.*", "expiration": "2016-08-06T21:53:56.000Z", "isEnterpriseProfile": false, "type": "developer", "numDevices": 2 }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/fa5239b9-29a1-479b-bafc-247f19bf984f" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/fa5239b9-29a1-479b-bafc-247f19bf984f" } } }

Get iOS Credential Details

GET /orgs/{orgid}/projects/{projectid}/credentials/signing/ios/{credentialid}

Description

Get specific iOS credential details

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
credentialid

Credential Identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/ios/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.get_one_ios('{orgid}', '{projectid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

provisionedDevices: string[]

provisoned udids

string
links: object
`
{ "platform": "ios", "label": "iOS Beta", "credentialid": "89d503e6-0878-437f-a24f-2b93288d01c5", "created": "2015-08-27T22:28:59.948Z", "lastMod": "2015-08-27T22:28:59.948Z", "certificate": { "teamId": "AAAAAAAAAA", "certName": "iPhone Developer: JULIE SMITH (BBBBBBBBB)", "expiration": "2016-08-05T18:57:54.000Z", "isDistribution": false, "issuer": "/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority" }, "provisioningProfile": { "teamId": "AAAAAAAAAA", "bundleId": "com.unity3d.cloudbuild.*", "expiration": "2016-08-06T21:53:56.000Z", "isEnterpriseProfile": false, "type": "developer", "numDevices": 2 }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/89d503e6-0878-437f-a24f-2b93288d01c5" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/89d503e6-0878-437f-a24f-2b93288d01c5" } } }

Update iOS Credentials

PUT /orgs/{orgid}/projects/{projectid}/credentials/signing/ios/{credentialid}

Description

Update an iOS certificate / provisioning profile for the project. NOTE: you must be a manager in the project's organization to update credentials.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
credentialid

Credential Identifier

path string
label

Label for the updated credentials

formData string
fileCertificate

Certificate file (.p12)

formData file
fileProvisioningProfile

Provisioning Profile (.mobileprovision)

formData file
certificatePass

Certificate (.p12) password

formData string

multipart/form-data

curl -X PUT -F label=iOS%20Renamed -F fileCertificate=@/Full/Path/To/alphacert.p12 -F fileProvisioningProfile=@/Full/Path/To/alpha.mobileprovision -F certificatePass=unity -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/ios/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.update_ios('{orgid}', '{projectid}', '{credentialid}', "iOS Renamed", "/Full/Path/To/alphacert.p12", "/Full/Path/To/alpha.mobileprovision", certificate_pass="unity")

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
teamId: string

generated team id from Apple

certName: string

certificate name (from the certificate)

expiration: string

expiration date

isDistribution: boolean

if this is a distribution certificate

issuer: string

issuer of the certificate

uploaded: string

uploaded date

provisioningProfile: object
teamId: string

generated team id from Apple

bundleId: string

a unique identifier (com.example.name)

expiration: string

expiration date

isEnterpriseProfile: boolean

is this compiled for Apple's enterprise program

type: string , x ∈ { developer , adhoc , appstore }
numDevices: number

number of devices provisioned for this certificate

uploaded: string

uploaded date

provisionedDevices: string[]

provisoned udids

string
links: object
`
{ "platform": "ios", "label": "iOS Renamed", "credentialid": "fa5239b9-29a1-479b-bafc-247f19bf984f", "created": "2015-11-18T22:57:01.755Z", "lastMod": "2015-11-18T22:57:01.763Z", "certificate": { "teamId": "AAAAAAAAAA", "certName": "iPhone Developer: JULIE SMITH (BBBBBBBBB)", "expiration": "2016-08-05T18:57:54.000Z", "isDistribution": false, "issuer": "/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority" }, "provisioningProfile": { "teamId": "AAAAAAAAAA", "bundleId": "com.unity3d.cloudbuild.*", "expiration": "2016-08-06T21:53:56.000Z", "isEnterpriseProfile": false, "type": "developer", "numDevices": 2 }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/fa5239b9-29a1-479b-bafc-247f19bf984f" }, "delete": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/credentials/signing/ios/fa5239b9-29a1-479b-bafc-247f19bf984f" } } }

Delete iOS Credentials

DELETE /orgs/{orgid}/projects/{projectid}/credentials/signing/ios/{credentialid}

Description

Delete specific ios credentials for a project. NOTE: you must be a manager in the project's organization to delete credentials.

Required Permissions

project:manager or org:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
credentialid

Credential Identifier

path string
curl -X DELETE -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/ios/{credentialid} credentialsApi = CredentialsApi(client) credentialsApi.delete_ios('{orgid}', '{projectid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Get All OSX Credentials for an oganization

GET /orgs/{orgid}/credentials/signing/osx

Description

Get all credentials available for the project. A user in the projects org will see all credentials uploaded for any project within the org, whereas a user with project-level permissions will only see credentials assigned to the specific project.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/osx credentialsApi = CredentialsApi(client) credentials = credentialsApi.get_all_osx_for_org('{orgid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

providerName: string
appleIdUsername: string
links: object
`
[ { "platform":"standaloneosxuniversal", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"Mac Developer: Unity Test (APRY987Y84)", "expiration":"2021-03-05T19:38:25.000Z", }, "appleIdUsername":"test user", "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } } ]

Upload OSX Credentials for organization

POST /orgs/{orgid}/credentials/signing/osx

Description

Upload a new OSX certificate and provisioning profile for the organization. NOTE: you must be a manager in the organization to add new credentials.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
label

Label for the uploaded credentials

formData string
certificate

Certificate file (.p12)

formData file
certificatePass

Certificate (.p12) password

formData string
entitlementsFile

Entitlements file (.entitlements)

formData file
providerName

Provider Name

formData string
appleIdUsername

Apple ID Username

formData string
appleIdPassword

Apple ID Password

formData string

multipart/form-data

curl -X POST -F label=OSX%20Alpha -F certificate=@/Full/Path/To/alphacert.p12 -F certificatePass=unity -F appleIdUsername=myUser -F appleIdPassword=myPass -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/osx credentialsApi = CredentialsApi(client) credential = credentialsApi.add_credentials_osx_for_org('{orgid}', "OSX Alpha", "/Full/Path/To/alphacert.p12", {"certificate"="unity", "appleIdUsername"="myUser", "appleIdPassword"="myPass"})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

providerName: string
appleIdUsername: string
links: object
`
{ "platform":"standaloneosxuniversal", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"Mac Developer: Unity Test (APRY987Y84)", "expiration":"2021-03-05T19:38:25.000Z", }, "appleIdUsername":"test user", "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } }

Get OSX Credential Details for organization

GET /orgs/{orgid}/credentials/signing/osx/{credentialid}

Description

Get specific OSX credential details

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
credentialid

Credential Identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/osx/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.get_one_osx('{orgid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

providerName: string
appleIdUsername: string
links: object
`
{ "platform":"standaloneosxuniversal", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"Mac Developer: Unity Test (APRY987Y84)", "expiration":"2021-03-05T19:38:25.000Z", }, "appleIdUsername":"test user", "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } }

Update OSX Credentials for organization

PUT /orgs/{orgid}/credentials/signing/osx/{credentialid}

Description

Update an OSX certificate / provisioning profile. NOTE: you must be a manager in the project's organization to update credentials.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
credentialid

Credential Identifier

path string
label

Label for the updated credentials

formData string
certificate

Certificate file (.p12)

formData file
certificatePass

Certificate (.p12) password

formData string
entitlementsFile

Entitlements File (.entitlements)

formData file
providerName

Provider Name

formData string
appleIdUsername

Apple ID Username

formData string
appleIdPassword

Apple ID Password

formData string

multipart/form-data

curl -X PUT -F label=OSX%20Renamed -F certificate=@/Full/Path/To/alphacert.p12 -F certificatePass=unity -F appleIdUsername=myUser -F appleIdPassword=myPass -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/osx/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.update_osx_for_org('{orgid}', '{credentialid}', "OSX Renamed", "/Full/Path/To/alphacert.p12", {"certificate"="unity", "appleIdUsername"="myUser", "appleIdPassword"="myPass"})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

providerName: string
appleIdUsername: string
links: object
`
{ "platform":"standaloneosxuniversal", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"Mac Developer: Unity Test (APRY987Y84)", "expiration":"2021-03-05T19:38:25.000Z", }, "appleIdUsername":"test user", "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } }

Delete OSX Credentials for organization

DELETE /orgs/{orgid}/credentials/signing/osx/{credentialid}

Description

Delete specific OSX credentials. NOTE: you must be a manager in the project's organization to delete credentials.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
credentialid

Credential Identifier

path string
curl -X DELETE -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/osx/{credentialid} credentialsApi = CredentialsApi(client) credentialsApi.delete_osx_for_org('{orgid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Get All OSX Credentials

GET /orgs/{orgid}/projects/{projectid}/credentials/signing/osx

Description

Get all credentials available for the project. A user in the projects org will see all credentials uploaded for any project within the org, whereas a user with project-level permissions will only see credentials assigned to the specific project.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/osx credentialsApi = CredentialsApi(client) credentials = credentialsApi.get_all_osx('{orgid}', '{projectid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

providerName: string
appleIdUsername: string
links: object
`
[ { "platform":"standaloneosxuniversal", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"Mac Developer: Unity Test (APRY987Y84)", "expiration":"2021-03-05T19:38:25.000Z", }, "appleIdUsername":"test user", "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } } ]

Upload OSX Credentials

POST /orgs/{orgid}/projects/{projectid}/credentials/signing/osx

Description

Upload a new OSX certificate and provisioning profile for the project. NOTE: you must be a manager in the project's organization to add new credentials.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
label

Label for the uploaded credentials

formData string
certificate

Certificate file (.p12)

formData file
certificatePass

Certificate (.p12) password

formData string
entitlementsFile

Entitlements File (.entitlements)

formData file
providerName

Provider Name

formData string
appleIdUsername

Apple ID Username

formData string
appleIdPassword

Apple ID Password

formData string

multipart/form-data

curl -X POST -F label=OSX%20Alpha -F certificate=@/Full/Path/To/alphacert.p12 -F certificatePass=unity -F appleIdUsername=myUser -F appleIdPassword=myPass -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/osx credentialsApi = CredentialsApi(client) credential = credentialsApi.add_credentials_osx('{orgid}', "OSX Alpha", "/Full/Path/To/alphacert.p12", {"certificate"="unity", "appleIdUsername"="myUser", "appleIdPassword"="myPass"})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

providerName: string
appleIdUsername: string
links: object
`
{ "platform":"standaloneosxuniversal", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"Mac Developer: Unity Test (APRY987Y84)", "expiration":"2021-03-05T19:38:25.000Z", }, "appleIdUsername":"test user", "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } }

Get OSX Credential Details

GET /orgs/{orgid}/projects/{projectid}/credentials/signing/osx/{credentialid}

Description

Get specific OSX credential details

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
credentialid

Credential Identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/osx/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.get_one_osx('{orgid}', '{projectid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

providerName: string
appleIdUsername: string
links: object
`
{ "platform":"standaloneosxuniversal", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"Mac Developer: Unity Test (APRY987Y84)", "expiration":"2021-03-05T19:38:25.000Z", }, "appleIdUsername":"test user", "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } }

Update OSX Credentials

PUT /orgs/{orgid}/projects/{projectid}/credentials/signing/osx/{credentialid}

Description

Update an OSX certificate / provisioning profile for the project. NOTE: you must be a manager in the project's organization to update credentials.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
credentialid

Credential Identifier

path string
label

Label for the updated credentials

formData string
certificate

Certificate file (.p12)

formData file
certificatePass

Certificate (.p12) password

formData string
entitlementsFile

Entitlements File (.entitlements)

formData file
providerName

Provider Name

formData string
appleIdUsername

Apple ID Username

formData string
appleIdPassword

Apple ID Password

formData string

multipart/form-data

curl -X PUT -F label=OSX%20Alpha -F certificate=@/Full/Path/To/alphacert.p12 -F certificatePass=unity -F appleIdUsername=myUser -F appleIdPassword=myPass -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/osx/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.update_osx('{orgid}', '{projectid}', '{credentialid}', "OSX Renamed", "/Full/Path/To/alphacert.p12", {"certificate"="unity", "appleIdUsername"="myUser", "appleIdPassword"="myPass"})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

providerName: string
appleIdUsername: string
links: object
`
{ "platform":"standaloneosxuniversal", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"Mac Developer: Unity Test (APRY987Y84)", "expiration":"2021-03-05T19:38:25.000Z", }, "appleIdUsername":"test user", "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/osx/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } }

Delete OSX Credentials

DELETE /orgs/{orgid}/projects/{projectid}/credentials/signing/osx/{credentialid}

Description

Delete specific OSX credentials for a project. NOTE: you must be a manager in the project's organization to delete credentials.

Required Permissions

project:manager or org:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
credentialid

Credential Identifier

path string
curl -X DELETE -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/osx/{credentialid} credentialsApi = CredentialsApi(client) credentialsApi.delete_osx('{orgid}', '{projectid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Get All UWP Credentials for an oganization

GET /orgs/{orgid}/credentials/signing/uwp

Description

Get all credentials available for the project. A user in the projects org will see all credentials uploaded for any project within the org, whereas a user with project-level permissions will only see credentials assigned to the specific project.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/uwp credentialsApi = CredentialsApi(client) credentials = credentialsApi.get_all_uwp_for_org('{orgid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

links: object
`
[ { "platform":"wsaplayer", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"UWP Developer", "expiration":"2021-03-05T19:38:25.000Z", }, "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } } ]

Upload UWP Credentials for organization

POST /orgs/{orgid}/credentials/signing/uwp

Description

Upload a new UWP certificate and provisioning profile for the organization. NOTE: you must be a manager in the organization to add new credentials.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
label

Label for the uploaded credentials

formData string
certificate

Certificate file (.pfx)

formData file
certificatePass

Certificate (.pfx) password

formData string

multipart/form-data

curl -X POST -F label=UWP%20Alpha -F certificate=@/Full/Path/To/alphacert.pfx -F certificatePass=unity -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/uwp credentialsApi = CredentialsApi(client) credential = credentialsApi.add_credentials_uwp_for_org('{orgid}', "UWP Alpha", "/Full/Path/To/alphacert.pfx", {"certificate"="unity"})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

links: object
`
{ "platform":"wsaplayer", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"UWP Developer", "expiration":"2021-03-05T19:38:25.000Z", }, "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } }

Get UWP Credential Details for organization

GET /orgs/{orgid}/credentials/signing/uwp/{credentialid}

Description

Get specific UWP credential details

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
credentialid

Credential Identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/uwp/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.get_one_uwp('{orgid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

links: object
`
{ "platform":"wsaplayer", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"UWP Developer", "expiration":"2021-03-05T19:38:25.000Z", }, "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } }

Update UWP Credentials for organization

PUT /orgs/{orgid}/credentials/signing/uwp/{credentialid}

Description

Update an UWP certificate / provisioning profile. NOTE: you must be a manager in the project's organization to update credentials.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
credentialid

Credential Identifier

path string
label

Label for the updated credentials

formData string
certificate

Certificate file (.pfx)

formData file
certificatePass

Certificate (.pfx) password

formData string

multipart/form-data

curl -X PUT -F label=UWP%20Renamed -F certificate=@/Full/Path/To/alphacert.pfx -F certificatePass=unity -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/uwp/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.update_uwp_for_org('{orgid}', '{credentialid}', "UWP Renamed", "/Full/Path/To/alphacert.pfx", {"certificate"="unity"})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

links: object
`
{ "platform":"wsaplayer", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"UWP Developer", "expiration":"2021-03-05T19:38:25.000Z", }, "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } }

Delete UWP Credentials for organization

DELETE /orgs/{orgid}/credentials/signing/uwp/{credentialid}

Description

Delete specific UWP credentials. NOTE: you must be a manager in the project's organization to delete credentials.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
credentialid

Credential Identifier

path string
curl -X DELETE -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/credentials/signing/uwp/{credentialid} credentialsApi = CredentialsApi(client) credentialsApi.delete_uwp_for_org('{orgid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Get All UWP Credentials

GET /orgs/{orgid}/projects/{projectid}/credentials/signing/uwp

Description

Get all credentials available for the project. A user in the projects org will see all credentials uploaded for any project within the org, whereas a user with project-level permissions will only see credentials assigned to the specific project.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/uwp credentialsApi = CredentialsApi(client) credentials = credentialsApi.get_all_uwp('{orgid}', '{projectid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

links: object
`
[ { "platform":"wsaplayer", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"UWP Developer", "expiration":"2021-03-05T19:38:25.000Z", }, "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } } ]

Upload UWP Credentials

POST /orgs/{orgid}/projects/{projectid}/credentials/signing/uwp

Description

Upload a new UWP certificate and provisioning profile for the project. NOTE: you must be a manager in the project's organization to add new credentials.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
label

Label for the uploaded credentials

formData string
certificate

Certificate file (.pfx)

formData file
certificatePass

Certificate (.pfx) password

formData string

multipart/form-data

curl -X POST -F label=UWP%20Alpha -F certificate=@/Full/Path/To/alphacert.pfx -F certificatePass=unity -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/uwp credentialsApi = CredentialsApi(client) credential = credentialsApi.add_credentials_uwp('{orgid}', "UWP Alpha", "/Full/Path/To/alphacert.pfx", {"certificate"="unity"})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

links: object
`
{ "platform":"wsaplayer", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"UWP Developer", "expiration":"2021-03-05T19:38:25.000Z", }, "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } }

Get UWP Credential Details

GET /orgs/{orgid}/projects/{projectid}/credentials/signing/uwp/{credentialid}

Description

Get specific UWP credential details

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
credentialid

Credential Identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/uwp/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.get_one_uwp('{orgid}', '{projectid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

links: object
`
{ "platform":"wsaplayer", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"UWP Developer", "expiration":"2021-03-05T19:38:25.000Z", }, "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } }

Update UWP Credentials

PUT /orgs/{orgid}/projects/{projectid}/credentials/signing/uwp/{credentialid}

Description

Update an UWP certificate / provisioning profile for the project. NOTE: you must be a manager in the project's organization to update credentials.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
credentialid

Credential Identifier

path string
label

Label for the updated credentials

formData string
certificate

Certificate file (.pfx)

formData file
certificatePass

Certificate (.pfx) password

formData string

multipart/form-data

curl -X PUT -F label=UWP%20Alpha -F certificate=@/Full/Path/To/alphacert.pfx -F certificatePass=unity -H "Content-Type: multipart/form-data" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/uwp/{credentialid} credentialsApi = CredentialsApi(client) credential = credentialsApi.update_uwp('{orgid}', '{projectid}', '{credentialid}', "UWP Renamed", "/Full/Path/To/alphacert.pfx", {"certificate"="unity"})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
label: string
credentialid: string
created: string
lastMod: string
certificate: object
certName: string
expiration: string

expiration date

uploaded: string

uploaded date

links: object
`
{ "platform":"wsaplayer", "label":"demo new credentials", "credentialid":"aff3518d-8d7b-45fc-9f04-e9f6b53247f7", "created":"2020-04-09T15:04:23.066Z", "lastMod":"2020-04-09T15:04:23.069Z", "certificate":{ "certName":"UWP Developer", "expiration":"2021-03-05T19:38:25.000Z", }, "links":{ "self":{ "method":"get", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, "delete":{ "method":"delete", "href":"/api/v1/orgs/victorw/projects/e757c603-36f9-42b8-b921-6551bbbafb7d/credentials/signing/uwp/aff3518d-8d7b-45fc-9f04-e9f6b53247f7", }, } }

Delete UWP Credentials

DELETE /orgs/{orgid}/projects/{projectid}/credentials/signing/uwp/{credentialid}

Description

Delete specific UWP credentials for a project. NOTE: you must be a manager in the project's organization to delete credentials.

Required Permissions

project:manager or org:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
credentialid

Credential Identifier

path string
curl -X DELETE -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/credentials/signing/uwp/{credentialid} credentialsApi = CredentialsApi(client) credentialsApi.delete_uwp('{orgid}', '{projectid}', '{credentialid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Orgs Introduction

Organizations are managed at the Unity level. You can retrieve information about any organization a user belongs to and the entitlements the subscription grants.

Get organization data

GET /orgs/{orgid}

Description

Get data for the specified organization based on UBA's cache

Required Permissions

org:user

Request Parameters

orgid

Organization identifier

path string

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
orgName: string
orgid: string
orgFk: string
location: object
geographicRegion: string
`
{ "orgName": 'Test Org', "orgid": 'test-org', "orgFk": "246813579", "location": { "geographicRegion": "any" } }

Update organization data

PATCH /orgs/{orgid}

Description

Update specific data for the specified organization in UBA's cache

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string

Parameters are specified as application/json in the request body.

Options to update an organization

{"type":"object","properties":{"location":{"type":"object","properties":{"geographicRegion":{"type":"string","enum":["any","amer","eur"]}}}}}

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
location: object
geographicRegion: string , x ∈ { any , amer , eur }
`
{ "location": { "geographicRegion": "any" } }

Get billing plan

GET /orgs/{orgid}/billingplan

Description

Get the billing plan for the specified organization

Required Permissions

org:user

Request Parameters

orgid

Organization identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/billingplan userdevicesApi = UserdevicesApi(client); orgsApi.get_billing_plans('{orgid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
billing: object

actual billing plan

label: string
numProjects: number
concurrentBuilds: number
concurrentBuildsGCP: number
cooldownMinutes: number
cooldownGracePeriodMinutes: number
collaborators: number
repoSizeLimitMB: number
repoSizeLimitThresholdMB: number
downloadLimitMB: number
buildManifest: boolean
libraryCaching: boolean
pushExternalServices: boolean
supportTickets: boolean
apiAccess: boolean
scheduledBuilds: boolean
workspaceCaching: boolean
buildingDisabled: boolean
advancedFeatures: string[]
string
scmTypes: string[]
string
effective: object

effective billing plan, this includes temporary overrides and specials

label: string
numProjects: number
concurrentBuilds: number
concurrentBuildsGCP: number
cooldownMinutes: number
cooldownGracePeriodMinutes: number
collaborators: number
repoSizeLimitMB: number
repoSizeLimitThresholdMB: number
downloadLimitMB: number
buildManifest: boolean
libraryCaching: boolean
pushExternalServices: boolean
supportTickets: boolean
apiAccess: boolean
scheduledBuilds: boolean
workspaceCaching: boolean
buildingDisabled: boolean
advancedFeatures: string[]
string
scmTypes: string[]
string
`
{ "billing": { "label": "Studio", "numProjects": 0, "concurrentBuilds": 5, "cooldownMinutes": 5, "cooldownGracePeriodMinutes": 60, "collaborators": 100000, "repoSizeLimitMB": 5000, "repoSizeLimitThresholdMB": 10, "downloadLimitMB": 0, "buildManifest": true, "libraryCaching": true, "pushExternalServices": true, "supportTickets": true, "apiAccess": true, "scheduledBuilds": true, "workspaceCaching": true, "advancedFeatures": [ "debug", "custom_defines", "pre_export", "post_export", "custom_scenes", "post_build_script" ], "scmTypes": [ "git", "svn", "p4", ] }, "effective": { "label": "Studio", "numProjects": 0, "concurrentBuilds": 5, "cooldownMinutes": 5, "cooldownGracePeriodMinutes": 60, "collaborators": 100000, "repoSizeLimitMB": 5000, "repoSizeLimitThresholdMB": 10, "downloadLimitMB": 0, "buildManifest": true, "libraryCaching": true, "pushExternalServices": true, "supportTickets": true, "apiAccess": true, "scheduledBuilds": true, "workspaceCaching": true, "advancedFeatures": [ "debug", "custom_defines", "pre_export", "post_export", "custom_scenes", "post_build_script" ], "scmTypes": [ "git", "svn", "p4", ] } }

Get SSH Key

GET /orgs/{orgid}/sshkey

Description

Get the ssh public key for the specified org

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/sshkey orgsApi = OrgsApi(client); sshkey = orgsApi.get_ssh_key('{orgid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
publickey: string
`
{ "publickey": "ssh-rsa XXXXXXXX..." }

Regenerate SSH Key

POST /orgs/{orgid}/sshkey

Description

Regenerate the ssh key for the specified org WARNING this is a destructive operation that will permanently remove your current SSH key.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
curl -X POST -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/sshkey orgsApi = OrgsApi(client); sshkey = orgsApi.get_ssh_key('{orgid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
publickey: string
`
{ "publickey": "ssh-rsa XXXXXXXX..." }

Projects Introduction

Projects are the basic organization element in Unity DevOps Build Automation. Each project can contain multiple build targets across a variety of platforms and source control branches.

List all projects (user)

GET /projects

Description

List all projects that you have permission to access across all organizations. Add "?include=settings" as a query parameter to include the project settings with the response.

Request Parameters

include

Extra fields to include in the response

query string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/projects projectsApi = ProjectsApi(client) projects = projectsApi.list_projects_for_user()

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK

projects

name: string
projectid: string
orgName: string
orgid: string
orgFk: string
guid: string
created: string
cachedIcon: string
serviceFlags: object
links: object
disabled: boolean
disableNotifications: boolean
generateShareLinks: boolean
settings:
remoteCacheStrategy: string , x ∈ { none , library (default) , workspace }
cacheCompressionLevel: string , x ∈ { none , 1 (default) , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }
scm: object
type: string , x ∈ { git , svn , p4 , oauth , plastic }
url: string
user: string
pass: string
fingerprint: string
p4authtype: string

Deprecated p4-specific auth type - please use authType instead

authType: string , x ∈ { LDAPWorkingMode , UPWorkingMode , SSOWorkingMode , ticket , password }

authType for Plastic and P4

plasticAccessToken: string
plasticCloudServerUrl: string
plasticCloudWebServerUrl: string
plasticCloudVersion: string
shallowclone: boolean
useEncryption: boolean
encryptionKey: string
encryptionMethod: string , x ∈ { AES128 , AES192 , AES256 }
scm: object
oauth:
scm_provider: string
temp_state: string
github: object
azureOrg: string
azureProject: string
repository: object
gitlab: object
azureOrg: string
azureProject: string
repository: object
bitbucket: object
azureOrg: string
azureProject: string
repository: object
azure: object
azureOrg: string
azureProject: string
repository: object
`
{ "name": "Example Unity", "projectid": "example-unity", "orgName": "Example Other", "orgid": "example-other", "guid": "94837118-7ee1-4583-bf11-bf33fd4643fb", "created": "2015-10-29T20:32:15.800Z", "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-other/projects/example-unity" }, "list_buildtargets": { "method": "get", "href": "/api/v1/orgs/example-other/projects/example-unity/buildtargets" }, "latest_builds": { "method": "get", "href": "/api/v1/orgs/example-other/projects/example-unity/buildtargets/_all/builds?per_page=1" }, "revoke_all_shared": { "method": "delete", "href": "/api/v1/orgs/example-other/projects/example-unity/share" } } }, { "name": "new-projectangrybots", "projectid": "new-projectangrybots", "orgName": "Example Org", "orgid": "example-org", "guid": "2ebef061-6213-4433-8b98-80b2e78c5189", "created": "2015-08-06T19:48:45.259Z", "cachedIcon": "https://unitycloud-build-user-svc-dev-extras-pub.s3.amazonaws.com/example-org/new-projectangrybots/default-webgl-1/icon.png", "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots" }, "list_buildtargets": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots/buildtargets" }, "latest_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots/buildtargets/_all/builds?per_page=1" }, "revoke_all_shared": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots/share" } } }

Get project details

GET /projects/{projectupid}

Description

Gets the same data as /orgs/{orgid}/project/{projectid} but looks up the project by the Unity Project ID. This value is returned in the project's guid field.

Required Permissions

project:user

Request Parameters

projectupid

Project UPID - Unity global id

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/projects/{projectuid} projectsApi = ProjectsApi(client) project = projectsApi.get_project_by_upid('{projectupid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
name: string
projectid: string
orgName: string
orgid: string
orgFk: string
guid: string
created: string
cachedIcon: string
serviceFlags: object
links: object
disabled: boolean
disableNotifications: boolean
generateShareLinks: boolean
settings:
remoteCacheStrategy: string , x ∈ { none , library (default) , workspace }
cacheCompressionLevel: string , x ∈ { none , 1 (default) , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }
scm: object
type: string , x ∈ { git , svn , p4 , oauth , plastic }
url: string
user: string
pass: string
fingerprint: string
p4authtype: string

Deprecated p4-specific auth type - please use authType instead

authType: string , x ∈ { LDAPWorkingMode , UPWorkingMode , SSOWorkingMode , ticket , password }

authType for Plastic and P4

plasticAccessToken: string
plasticCloudServerUrl: string
plasticCloudWebServerUrl: string
plasticCloudVersion: string
shallowclone: boolean
useEncryption: boolean
encryptionKey: string
encryptionMethod: string , x ∈ { AES128 , AES192 , AES256 }
scm: object
oauth:
scm_provider: string
temp_state: string
github: object
azureOrg: string
azureProject: string
repository: object
gitlab: object
azureOrg: string
azureProject: string
repository: object
bitbucket: object
azureOrg: string
azureProject: string
repository: object
azure: object
azureOrg: string
azureProject: string
repository: object
`
{ "name": "new-projectangrybots", "projectid": "new-projectangrybots", "orgName": "Example Org", "orgid": "example-org", "guid": "2ebef061-6213-4433-8b98-80b2e78c5189", "created": "2015-08-06T19:48:45.259Z", "cachedIcon": "https://unitycloud-build-user-svc-dev-extras-pub.s3.amazonaws.com/example-org/new-projectangrybots/default-webgl-1/icon.png", "settings": { "remoteCacheStrategy": "none", "scm": { "type": "git", "url": "git://github.com/example-org/new-projectangrybots.git" } }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots" }, "list_buildtargets": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots/buildtargets" }, "latest_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots/buildtargets/_all/builds?per_page=1" }, "revoke_all_shared": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots/share" } } }

List all projects (org)

GET /orgs/{orgid}/projects

Description

List all projects that belong to the specified organization. Add "?include=settings" as a query parameter to include the project settings with the response.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
include

Extra fields to include in the response

query string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects?include=settings projectsApi = ProjectsApi(client) projects = projectsApi.list_projects_for_org('{orgid}') # Include project settings projects = projectsApi.list_projects_for_org('timt-unity3d', include="settings");

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
name: string
projectid: string
orgName: string
orgid: string
orgFk: string
guid: string
created: string
cachedIcon: string
serviceFlags: object
links: object
disabled: boolean
disableNotifications: boolean
generateShareLinks: boolean
settings:
remoteCacheStrategy: string , x ∈ { none , library (default) , workspace }
cacheCompressionLevel: string , x ∈ { none , 1 (default) , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }
scm: object
type: string , x ∈ { git , svn , p4 , oauth , plastic }
url: string
user: string
pass: string
fingerprint: string
p4authtype: string

Deprecated p4-specific auth type - please use authType instead

authType: string , x ∈ { LDAPWorkingMode , UPWorkingMode , SSOWorkingMode , ticket , password }

authType for Plastic and P4

plasticAccessToken: string
plasticCloudServerUrl: string
plasticCloudWebServerUrl: string
plasticCloudVersion: string
shallowclone: boolean
useEncryption: boolean
encryptionKey: string
encryptionMethod: string , x ∈ { AES128 , AES192 , AES256 }
scm: object
oauth:
scm_provider: string
temp_state: string
github: object
azureOrg: string
azureProject: string
repository: object
gitlab: object
azureOrg: string
azureProject: string
repository: object
bitbucket: object
azureOrg: string
azureProject: string
repository: object
azure: object
azureOrg: string
azureProject: string
repository: object
`
Default: [ { "name": "new-projectangrybots", "projectid": "new-projectangrybots", "orgName": "Example Org", "orgid": "example-org", "guid": "2ebef061-6213-4433-8b98-80b2e78c5189", "created": "2015-08-06T19:48:45.259Z", "cachedIcon": "https://unitycloud-build-user-svc-dev-extras-pub.s3.amazonaws.com/example-org/new-projectangrybots/default-webgl-1/icon.png", "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots" }, "list_buildtargets": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots/buildtargets" }, "latest_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots/buildtargets/_all/builds?per_page=1" }, "revoke_all_shared": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots/share" } } } ] Using ?include=settings: [ { "name": "new-projectangrybots", "projectid": "new-projectangrybots", "orgName": "Example Org", "orgid": "example-org", "guid": "2ebef061-6213-4433-8b98-80b2e78c5189", "created": "2015-08-06T19:48:45.259Z", "cachedIcon": "https://unitycloud-build-user-svc-dev-extras-pub.s3.amazonaws.com/example-org/new-projectangrybots/default-webgl-1/icon.png", "settings": { "remoteCacheStrategy": "none", "scm": { "type": "git", "url": "git://github.com/example-org/new-projectangrybots.git" } }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots" }, "list_buildtargets": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots/buildtargets" }, "latest_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots/buildtargets/_all/builds?per_page=1" }, "revoke_all_shared": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-projectangrybots/share" } } } ]

Create project

POST /orgs/{orgid}/projects

Description

Create a project for the specified organization

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string

Parameters are specified as application/json in the request body.

Options for project create/update

{"allOf":[{"properties":{"name":{"type":"string"},"disabled":{"type":"boolean"},"disableNotifications":{"type":"boolean"},"generateShareLinks":{"type":"boolean"}}},{"properties":{"settings":{"allOf":[{"properties":{"remoteCacheStrategy":{"type":"string","default":"library","enum":["none","library","workspace"]},"cacheCompressionLevel":{"type":"string","default":"1","enum":["none","1","2","3","4","5","6","7","8","9"]},"scm":{"properties":{"type":{"type":"string","enum":["git","svn","p4","oauth","plastic"]},"url":{"type":"string"},"user":{"type":"string"},"pass":{"type":"string"},"fingerprint":{"type":"string"},"p4authtype":{"description":"Deprecated p4-specific auth type - please use authType instead","type":"string"},"authType":{"description":"authType for Plastic and P4","type":"string","enum":["LDAPWorkingMode","UPWorkingMode","SSOWorkingMode","ticket","password"]},"plasticAccessToken":{"type":"string"},"plasticCloudServerUrl":{"type":"string"},"plasticCloudWebServerUrl":{"type":"string"},"plasticCloudVersion":{"type":"string"},"shallowclone":{"type":"boolean"},"useEncryption":{"type":"boolean"},"encryptionKey":{"type":"string"},"encryptionMethod":{"type":"string","enum":["AES128","AES192","AES256"]}}}}},{"properties":{"scm":{"properties":{}}}}]}}}]}
curl -X POST -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" -d '{"name": "New Project", "settings": { "remoteCacheStrategy": "library", "scm": { "type": "git", "url": "git://github.com/example-org/newproject.git", "user": "julie.smith", "pass": "password"}}}' https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects projectsApi = ProjectsApi(client) project = projectsApi.add_project('{orgid}', {"name": "New Project", "settings": { "remoteCacheStrategy": "library", "scm": { "type": "git", "url": "git://github.com/example-org/newproject.git", "user": "julie.smith", "pass": "password"}}})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
name: string
projectid: string
orgName: string
orgid: string
orgFk: string
guid: string
created: string
cachedIcon: string
serviceFlags: object
links: object
disabled: boolean
disableNotifications: boolean
generateShareLinks: boolean
settings:
remoteCacheStrategy: string , x ∈ { none , library (default) , workspace }
cacheCompressionLevel: string , x ∈ { none , 1 (default) , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }
scm: object
type: string , x ∈ { git , svn , p4 , oauth , plastic }
url: string
user: string
pass: string
fingerprint: string
p4authtype: string

Deprecated p4-specific auth type - please use authType instead

authType: string , x ∈ { LDAPWorkingMode , UPWorkingMode , SSOWorkingMode , ticket , password }

authType for Plastic and P4

plasticAccessToken: string
plasticCloudServerUrl: string
plasticCloudWebServerUrl: string
plasticCloudVersion: string
shallowclone: boolean
useEncryption: boolean
encryptionKey: string
encryptionMethod: string , x ∈ { AES128 , AES192 , AES256 }
scm: object
`
{ "name": "New Project", "projectid": "new-project", "orgName": "Example Org", "orgid": "example-org", "guid": "49da3555-d775-4fc0-9a4f-f3e28a46ea4c", "created": "2015-11-17T21:38:53.626Z", "settings": { "remoteCacheStrategy": "library", "scm": { "type": "git", "url": "git://github.com/example-org/newproject.git", "user": "juliesmith", "pass": "********" } }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/new-project/projects/new-project" }, "list_buildtargets": { "method": "get", "href": "/api/v1/orgs/new-project/projects/new-projectbuildtargets" }, "latest_builds": { "method": "get", "href": "/api/v1/orgs/new-project/projects/new-projectbuildtargets/_all/builds?per_page=1" }, "revoke_all_shared": { "method": "delete", "href": "/api/v1/orgs/new-project/projects/new-project/share" } } }

Get project details

GET /orgs/{orgid}/projects/{projectid}

Description

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
include

Extra fields to include in the response

query string
curl -X POST -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid} projectsApi = ProjectsApi(client) project = projectsApi.get_project('{orgid}', '{projectid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
name: string
projectid: string
orgName: string
orgid: string
orgFk: string
guid: string
created: string
cachedIcon: string
serviceFlags: object
links: object
disabled: boolean
disableNotifications: boolean
generateShareLinks: boolean
settings:
remoteCacheStrategy: string , x ∈ { none , library (default) , workspace }
cacheCompressionLevel: string , x ∈ { none , 1 (default) , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }
scm: object
type: string , x ∈ { git , svn , p4 , oauth , plastic }
url: string
user: string
pass: string
fingerprint: string
p4authtype: string

Deprecated p4-specific auth type - please use authType instead

authType: string , x ∈ { LDAPWorkingMode , UPWorkingMode , SSOWorkingMode , ticket , password }

authType for Plastic and P4

plasticAccessToken: string
plasticCloudServerUrl: string
plasticCloudWebServerUrl: string
plasticCloudVersion: string
shallowclone: boolean
useEncryption: boolean
encryptionKey: string
encryptionMethod: string , x ∈ { AES128 , AES192 , AES256 }
scm: object
oauth:
scm_provider: string
temp_state: string
github: object
azureOrg: string
azureProject: string
repository: object
gitlab: object
azureOrg: string
azureProject: string
repository: object
bitbucket: object
azureOrg: string
azureProject: string
repository: object
azure: object
azureOrg: string
azureProject: string
repository: object
`
{ "name": "New Project", "projectid": "new-project", "orgName": "Example Org", "orgid": "example-org", "guid": "90d19efb-4b45-4025-8025-93cd365fcb52", "created": "2015-11-18T16:43:49.777Z", "settings": { "remoteCacheStrategy": "library", "scm": { "type": "git", "url": "git://github.com/example-org/newproject.git", "user": "juliesmith", "pass": "********" } }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project" }, "list_buildtargets": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets" }, "latest_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/_all/builds?per_page=1" }, "revoke_all_shared": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/share" } } }

Update project details

PUT /orgs/{orgid}/projects/{projectid}

Description

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string

Parameters are specified as application/json in the request body.

Options for project create/update

{"allOf":[{"properties":{"name":{"type":"string"},"disabled":{"type":"boolean"},"disableNotifications":{"type":"boolean"},"generateShareLinks":{"type":"boolean"}}},{"properties":{"settings":{"allOf":[{"properties":{"remoteCacheStrategy":{"type":"string","default":"library","enum":["none","library","workspace"]},"cacheCompressionLevel":{"type":"string","default":"1","enum":["none","1","2","3","4","5","6","7","8","9"]},"scm":{"properties":{"type":{"type":"string","enum":["git","svn","p4","oauth","plastic"]},"url":{"type":"string"},"user":{"type":"string"},"pass":{"type":"string"},"fingerprint":{"type":"string"},"p4authtype":{"description":"Deprecated p4-specific auth type - please use authType instead","type":"string"},"authType":{"description":"authType for Plastic and P4","type":"string","enum":["LDAPWorkingMode","UPWorkingMode","SSOWorkingMode","ticket","password"]},"plasticAccessToken":{"type":"string"},"plasticCloudServerUrl":{"type":"string"},"plasticCloudWebServerUrl":{"type":"string"},"plasticCloudVersion":{"type":"string"},"shallowclone":{"type":"boolean"},"useEncryption":{"type":"boolean"},"encryptionKey":{"type":"string"},"encryptionMethod":{"type":"string","enum":["AES128","AES192","AES256"]}}}}},{"properties":{"scm":{"properties":{}}}}]}}}]}
curl -X PUT -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" -d '{"settings": { "remoteCacheStrategy": "none", "scm": { "pass": "newpassword"}}}' https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid} projectsApi = ProjectsApi(client) project = projectsApi.update_project('{orgid}', '{projectid}', {"settings": { "remoteCacheStrategy": "none", "scm": { "pass": "newpassword"}}})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
name: string
projectid: string
orgName: string
orgid: string
orgFk: string
guid: string
created: string
cachedIcon: string
serviceFlags: object
links: object
disabled: boolean
disableNotifications: boolean
generateShareLinks: boolean
settings:
remoteCacheStrategy: string , x ∈ { none , library (default) , workspace }
cacheCompressionLevel: string , x ∈ { none , 1 (default) , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }
scm: object
type: string , x ∈ { git , svn , p4 , oauth , plastic }
url: string
user: string
pass: string
fingerprint: string
p4authtype: string

Deprecated p4-specific auth type - please use authType instead

authType: string , x ∈ { LDAPWorkingMode , UPWorkingMode , SSOWorkingMode , ticket , password }

authType for Plastic and P4

plasticAccessToken: string
plasticCloudServerUrl: string
plasticCloudWebServerUrl: string
plasticCloudVersion: string
shallowclone: boolean
useEncryption: boolean
encryptionKey: string
encryptionMethod: string , x ∈ { AES128 , AES192 , AES256 }
scm: object
`
{ "name": "New Project", "projectid": "new-project", "orgName": "Example Org", "orgid": "example-org", "guid": "90d19efb-4b45-4025-8025-93cd365fcb52", "created": "2015-11-18T16:43:49.777Z", "settings": { "remoteCacheStrategy": "none", "scm": { "type": "git", "url": "git://github.com/example-org/newproject.git", "user": "juliesmith", "pass": "********" } }, "links": { "self": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project" }, "list_buildtargets": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets" }, "latest_builds": { "method": "get", "href": "/api/v1/orgs/example-org/projects/new-project/buildtargets/_all/builds?per_page=1" }, "revoke_all_shared": { "method": "delete", "href": "/api/v1/orgs/example-org/projects/new-project/share" } } }

Archive project

DELETE /orgs/{orgid}/projects/{projectid}

Description

This will archive the project in Build Automation ONLY. Use with caution - this process is not reversible. The projects UPID will be removed from Build Automation allowing the project to be reconfigured.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
curl -X DELETE -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid} projectsApi = ProjectsApi(client) projectsApi.archive_project('{orgid}', '{projectid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`
404 Not Found
error: string
errorCode: string
detail: string[]
string
`

Get billing plan

GET /orgs/{orgid}/projects/{projectid}/billingplan

Description

Get the billing plan for the specified project

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/billingplan projectsApi = ProjectsApi(client) billingplans = projectsApi.get_billing_plans('{orgid}', '{projectid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
billing: object

actual billing plan

label: string
numProjects: number
concurrentBuilds: number
concurrentBuildsGCP: number
cooldownMinutes: number
cooldownGracePeriodMinutes: number
collaborators: number
repoSizeLimitMB: number
repoSizeLimitThresholdMB: number
downloadLimitMB: number
buildManifest: boolean
libraryCaching: boolean
pushExternalServices: boolean
supportTickets: boolean
apiAccess: boolean
scheduledBuilds: boolean
workspaceCaching: boolean
buildingDisabled: boolean
advancedFeatures: string[]
string
scmTypes: string[]
string
effective: object

effective billing plan, this includes temporary overrides and specials

label: string
numProjects: number
concurrentBuilds: number
concurrentBuildsGCP: number
cooldownMinutes: number
cooldownGracePeriodMinutes: number
collaborators: number
repoSizeLimitMB: number
repoSizeLimitThresholdMB: number
downloadLimitMB: number
buildManifest: boolean
libraryCaching: boolean
pushExternalServices: boolean
supportTickets: boolean
apiAccess: boolean
scheduledBuilds: boolean
workspaceCaching: boolean
buildingDisabled: boolean
advancedFeatures: string[]
string
scmTypes: string[]
string
`
{ "billing": { "label": "Studio", "numProjects": 0, "concurrentBuilds": 5, "cooldownMinutes": 5, "cooldownGracePeriodMinutes": 60, "collaborators": 100000, "repoSizeLimitMB": 5000, "repoSizeLimitThresholdMB": 10, "downloadLimitMB": 0, "buildManifest": true, "libraryCaching": true, "pushExternalServices": true, "supportTickets": true, "apiAccess": true, "scheduledBuilds": true, "workspaceCaching": true, "advancedFeatures": [ "debug", "custom_defines", "pre_export", "post_export", "custom_scenes", "post_build_script" ], "scmTypes": [ "git", "svn", "p4", ] }, "effective": { "label": "Studio", "numProjects": 0, "concurrentBuilds": 5, "cooldownMinutes": 5, "cooldownGracePeriodMinutes": 60, "collaborators": 100000, "repoSizeLimitMB": 5000, "repoSizeLimitThresholdMB": 10, "downloadLimitMB": 0, "buildManifest": true, "libraryCaching": true, "pushExternalServices": true, "supportTickets": true, "apiAccess": true, "scheduledBuilds": true, "workspaceCaching": true, "advancedFeatures": [ "debug", "custom_defines", "pre_export", "post_export", "custom_scenes", "post_build_script" ], "scmTypes": [ "git", "svn", "p4", ] } }

Get SSH Key

GET /orgs/{orgid}/projects/{projectid}/sshkey

Description

Get the ssh public key for the specified project

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/sshkey projectsApi = ProjectsApi(client) sshkey = projectsApi.get_ssh_key('{orgid}', '{projectid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
publickey: string
`
{ "publickey": "ssh-rsa XXXXXXXX..." }

Get project statistics

GET /orgs/{orgid}/projects/{projectid}/stats

Description

Get statistics for the specified project

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/stats projectsApi = ProjectsApi(client) stats = projectsApi.get_stats('{orgid}', '{projectid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
jobCount: number
buildSuccessHealth: number
buildPoorHealth: number
buildCancelHealth: number
buildPendingHealth: number
successfulBuilds: number
canceledBuilds: number
failedBuilds: number
averageTime: number
averageWorkspaceSize: number
averageWaitTime: number
averageBillableTime: number
averageBuildTime: number
maxConcurrentBuilds: number
availableConcurrentBuilds: number
maxConcurrentBuildsGCP: number
availableConcurrentBuildsGCP: number
`
{ "jobCount":100, "buildSuccessHealth":60, "buildPoorHealth":20, "buildCancelHealth":20, "successfulBuilds":60, "canceledBuilds":20, "failedBuilds":20, "averageTime":4628, "averageWorkspaceSize":8386947559 "averageWaitTime": 3200, "averageBillableTime": 4500, "averageBuildTime": 500, "maxConcurrentBuilds": 5, "availableConcurrentbuilds": 4 }

Get audit log

GET /orgs/{orgid}/projects/{projectid}/auditlog

Description

Retrieve a list of historical settings changes for this project

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
per_page

Number of audit log records to retrieve

query number 25
page

Skip to page number, based on per_page value

query number 1
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/auditlog projectsApi = ProjectsApi(client) stats = projectsApi.get_audit_log('{orgid}', '{projectid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
updatingUserEmail: string
updated: string (dateTime)
lines: object[]
object
label: string
field: string
to: string
from: string
`
[ { "updatingUserEmail": "julie.smith@example.org", "updated": "2015-08-04T17:18:24.532Z", "lines": [{ "from": "Latest 4.x", "to": "4.6.5", "label": "Unity version", "field": "buildtarget.settings.unityVersion" }] }, { "updatingUserEmail": "sandra.johnson@example.org", "updated": "2015-08-02T12:02:44.532Z", "lines": [{ "label": "Keypass", "field": "buildtarget.settings.platform.keystoreInfo.keypass", "from": "", "to": "changed" }] } ]

Get environment variables

GET /orgs/{orgid}/projects/{projectid}/envvars

Description

Get all configured environment variables for a given project

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/envvars buildtargetsApi = BuildtargetsApi(client) buildtargetsApi.get_env_variables_for_project('{orgid}', '{projectid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK

Object containing env variables. Name must follow env variable spec - a word consisting solely of underscores, digits, and alphabetics from the portable character set. The first character of a name is not a digit. May not override widely used env variables (see IEEE Std 1003.1-2008).

{"MY_ENV_VARIABLE":"yellow","BUILD_SERVICE":"https://build-api.cloud.unity3d.com/","PORT":"1000"}
string
`

Set environment variables

PUT /orgs/{orgid}/projects/{projectid}/envvars

Description

Set all configured environment variables for a given project

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string

Parameters are specified as application/json in the request body.

Environment variables

{"type":"object","additionalProperties":{"type":"string"},"description":"Object containing env variables. Name must follow env variable spec - a word consisting solely of underscores,\ndigits, and alphabetics from the portable character set. The first character of a name is not a digit. May not\noverride widely used env variables (see IEEE Std 1003.1-2008).","example":{"MY_ENV_VARIABLE":"yellow","BUILD_SERVICE":"https://build-api.cloud.unity3d.com/","PORT":"1000"}}
curl -X PUT -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/envvars buildtargetsApi = BuildtargetsApi(client) buildtargetsApi.set_env_variables_for_project('{orgid}', '{projectid}', '{envvars}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK

Object containing env variables. Name must follow env variable spec - a word consisting solely of underscores, digits, and alphabetics from the portable character set. The first character of a name is not a digit. May not override widely used env variables (see IEEE Std 1003.1-2008).

{"MY_ENV_VARIABLE":"yellow","BUILD_SERVICE":"https://build-api.cloud.unity3d.com/","PORT":"1000"}
string
`

Public Introduction

General information about the Unity DevOps Build Automation API and functionality for end-user consumption (not user or project specific).

Get the Unity Build Automation changelogs

GET /changelogs

Description

Retrieves all changelog lines

Request Parameters

typeLimit

Specific type of message used to limit the results

query string
search

Regex string to use to restrict the results via search

query string
per_page

Number of audit log records to retrieve

query number 25
page

Skip to page number, based on per_page value

query number 1
skip

Alternative to page, will fully define start index of results rather than calculating based on page/per_page values

query number
curl -X GET https://build-api.cloud.unity3d.com/api/v1/changelogs

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
logType: string
message: string
created: string (dateTime)
`
[{"message":"Released Xcode 11.2.1","logType":"xcode","created":"2019-11-20T17:06:43.458Z"},{"message":"Unity 2019.3.0b11 is now available","logType":"unity","created":"2019-11-20T17:01:32.774Z"}]

Shares Introduction

Sharing allows unprivileged retrieval of build details to facilitate installing builds.

Creating and revoking shares is done with Build operations.

Get details on shared build including download link

GET /shares/{shareid}

Description

This is an endpoint accessible without an api key that provides information about a specific build including download links. A shareid is generated by POSTing to a build's share endpoint.

Request Parameters

shareid path string
include

Extra fields to include in the response

query string
curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/shares/{shareid} sharesApi = SharesApi(client) share = sharesApi.get_share_metadata('{shareid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK

buildattempt

build: number
buildtargetid: string

unique id auto-generated from the build target name

buildTargetName: string (up to 64 chars)
buildGUID: string

unique GUID identifying this build

buildStatus: string , x ∈ { created , queued , sentToBuilder , started , restarted , success , failure , canceled , unknown }
cleanBuild: boolean

if the build was built without using data cached from previous builds

failureDetails: object[]

list of failure details for this build attempt, when available

object
label: string
resolutionHint: string
stages: string[]
string
failureType: string
count: number
canceledBy: string , x ∈ { api , service , service-timelimit , concurrency-timelimit , restart-limit , evaluation-timelimit , jenkins-timelimit , service-badconfiguration , billing-invalidsubscription }
platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
workspaceSize: number

size of workspace in bytes

created: string

when the build was created

finished: string

when the build completely finished

checkoutStartTime: string

when the build starting checking out code

checkoutTimeInSeconds: number

amount of time spent checking out code

buildStartTime: string

when the build started compiling

buildTimeInSeconds: number

amount of time spend compiling

publishStartTime: string

when the build started saving build artifacts

publishTimeInSeconds: number

amount of time spent saving build artifacts

totalTimeInSeconds: number

total time for the build

billableTimeInSeconds: number

total billable time for the build

unitTestTimeInSeconds: number

total time for unit test execution step

editModeTestTimeInSeconds: number

total time for unit test execution step

playModeTestTimeInSeconds: number

total time for unit test execution step

lastBuiltRevision: string

source control commit id for the build

changeset: object[]

a list of source control changes between this and the last build

object
favorited: boolean

if the build is marked as do not delete or not

label: string

description given when a build is favorited

deleted: boolean

if the build is deleted or not

headless: object

if the build was built to run in linux headless mode

credentialsOutdated: boolean

if a newer credential has been attached to this buildtarget and the build can be re-signed

groupBuildId: string (uuid)

the unique ID used to launch a group of attempts

buildTargetGroups: object[]

list of build target groups this build attempt is a part of

object
name: string
id: string
deleted: boolean
enabled: boolean
machineType: object

the type of machine used to build this build

name: string
label: string
enabled: boolean
operatingSystem: string
deletedBy: string

email address of the user who deleted this attempt

queuedReason: string , x ∈ { targetConcurrency , cooldown , buildConcurrency , concurrency , waitingForBuildAgent , evaluating , sentToBuilder , notPending }

reason the build is currently waiting

cooldownDate: string

time until this build will be reconsidered for building

scmBranch: string

scm branch to be built

unityVersion: string

'latest' or a unity dot version with underscores (ex. '4_6_5')

operatingSystemVersion: string

a supported operating system version (ex. 'monterey')

operatingSystem: string

the OS that this build ran (or will run) on (ex. 'windows' / 'mac')

xcodeVersion: string

a supported xcode version (ex. 'xcode13_0_0')

auditChanges: number
projectVersion: object
name: string

automatically generated name for the build

filename: string

filename for the primary artifact

projectName: string

name of the project

platform: string , x ∈ { ios , android , webplayer , webgl , standaloneosxintel , standaloneosxintel64 , standaloneosxuniversal , standalonewindows , standalonewindows64 , standalonelinux , standalonelinux64 , standalonelinuxuniversal , wsaplayer , gamecorescarlett , ps5 }
size: number

size of the the primary build artifact in bytes

created: string

creation date

lastMod: string

last modified date

bundleId: string

a unique identifier (com.example.name)

udids: string[]

iPhone unique identifiers that are able to install this build

string
links: object

links to build artifacts

projectName: string
projectId: string
projectGuid: string
orgId: string
orgFk: string
filetoken: string
links: object
artifacts: object[]
object
object
href: string
method: string
meta: object
buildReport: object
errors: integer
warnings: integer
testResults: object

results from the build's unit tests, if any

unit_test: object
unit_test_editmode: object
unit_test_playmode: object
machineTypeLabel: string
requestedRevision: string
error: string
`
{ "build": 3, "buildTargetName": "android-builder", "buildStatus": "success", "cleanBuild": "true", "platform": "android", "workspaceSize": 284147365, "created": "2015-07-27T21:03:00.000Z", "finished": "2015-07-27T21:55:02.551Z", "checkoutStartTime": "2015-07-27T21:54:57.464Z", "buildStartTime": "2015-07-27T21:03:00.000Z", "buildTimeInSeconds": 53.347359, "publishStartTime": "2015-07-27T21:54:57.000Z", "publishTimeInSeconds": 4.694443, "totalTimeInSeconds": 58.041802, "changeset": [], "scmBranch": "master", "unityVersion": "latest", "projectVersion": { "name": "android-builder", "platform": "android", "size": 17332776, "created": "2015-07-27T21:55:02.497Z", "lastMod": "2015-07-27T21:55:02.524Z", "udids": [] }, "links": { "self": { "method": "get", "href": "/api/v1/shares/123f34a" }, "download": { "method": "get", "href": "http://unitycloud-build-user-svc-dev-build.s3.amazonaws.com/unity3d/new-project/android-builder/android-builder.apk?response-content-disposition=attachment%3B%20filename%3Dunity3d%2Fandroid-builder-3-1438039039.apk&response-content-type=application%2Foctet-stream&Expires=1438362634&Signature=I7ny1dMUeX338a6zpDJR2gHJRpM%3D" } } }

Status Introduction

Status messages used to inform users about the state of the service

Get Build Automation Status

GET /status

Description

Request Parameters

curl -X GET -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/status buildsApi = BuildsApi(client) status = buildsApi.get_status()

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
text: string
redirect: string
priority: integer
scmType: string
billingPlan: string
platform: string
alertType: string
autoClear: boolean
`
[ { "text": "This platform is not actively supported anymore and will be removed soon", "priority": 1, "platform": "webplayer" }, { "text": "Hello everyone! This is a status message! In the real world this would be used to show issues with the server status. Here, it's just used as confirmation of the fact that we display status messages. That's pretty cool. You can remove this in the admin UI if it bothers you.", "priority": 2 }, { "text": "Hello! This status message is tied to the Personal billing plan.", "priority": 500, "billingPlan": "Personal" }, { "text": "Hello! This status message has a priority of 0 and would only be visible to git users", "scmType": "git" }, { "text": "Hello! This is an info level status message that won't automatically disappear.", "alertType": "info", "autoClear": false } ]

Userdevices Introduction

User devices are stored to make installation of builds easier by verifying that devices are allowed in a provisioning profile.

List iOS device profiles

GET /users/me/devices

Description

List all iOS device profiles for the current user

Request Parameters

curl -H "Authorization: Basic [YOUR API KEY]" -X GET -H "Content-Type: application/json" https://build-api.cloud.unity3d.com/api/v1/users/me/devices userdevicesApi = UserdevicesApi(client); devices = userdevicesApi.list_devices_for_user();

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
udid: string (40 to 40 chars)
devicename: string
os: string
osversion: string
product: string
status: string , x ∈ { disabled , active }
`
[ { "udid": "00000000000000000000000000000000000000000", "devicename": "", "os": "iOS", "osversion": "12D508", "product": "iPad3,3", "status": "active" }, { "udid": "11111111111111111111111111111111111111111", "devicename": "", "os": "iOS", "osversion": "12A405", "product": "iPhone7,1", "status": "active" } ]

Create iOS device profile

POST /users/me/devices

Description

Create iOS device profile for the current user

Request Parameters

Parameters are specified as application/json in the request body.

{"required":["udid"],"properties":{"udid":{"type":"string","maxLength":40,"minLength":40},"devicename":{"type":"string"},"os":{"type":"string"},"osversion":{"type":"string"},"product":{"type":"string"},"status":{"type":"string","enum":["disabled","active"]}}}
curl -X POST -d '{"udid":"3333333333333333333333333333333333333333", "devicename": "Test Device", "os": "iOS", "osversion": "12D508", "product": "iPad3,3", "status": "active" }' -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/users/me/apikey userdevicesApi = UserdevicesApi(client); device = userdevicesApi.create_device(options={"udid":"3333333333333333333333333333333333333333", "devicename": "Test Device", "os": "iOS", "osversion": "12D508", "product": "iPad3,3", "status": "active" });

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
udid: string (40 to 40 chars)
devicename: string
os: string
osversion: string
product: string
status: string , x ∈ { disabled , active }
`
{ "udid": "3333333333333333333333333333333333333333", "devicename": "Test Device", "os": "iOS", "osversion": "12D508", "product": "iPad3,3", "status": "active" }
400 Bad Request
`

Users Introduction

Users are managed at the Unity level. Users can be queried and CBuild Automation specific preferencs can be updated. Subscriptions for a given user can also be upgraded and downgraded.

Get current user

GET /users/me

Description

Get the currently authenticated user.

Request Parameters

include

Extra fields to include in the response

query string
curl -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/users/me usersApi = UsersApi(client); user = usersApi.get_user_self()

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
email: string

email address

name: string

full name

unityid: string

internal unity id that is shared across services

waiting: boolean

when true the user is waiting to be approved for access to Build Automation

disableNotifications: boolean

when true build status email notifications will no longer be sent

primaryOrg: string

primary organization the user belongs to

links: object

links for retrieving more information about the user

`
{ "email": "julie.smith@example.org", "name": "juliesmith", "unityid": "0000000", "waiting": false, "disableNotifications": false, "apiKey": "[YOUR API KEY]", "primaryOrg": "example-org", "links": { "self": { "method": "get", "href": "/api/v1/users/me" } } }

Update current user

PUT /users/me

Description

You can update a few fields on the current user. Each field is optional and you do not need to specify all fields on update.

Request Parameters

Parameters are specified as application/json in the request body.

{"properties":{"disableNotifications":{"description":"when true build status email notifications will no longer be sent","type":"boolean"}}}
curl -H "Authorization: Basic [YOUR API KEY]" -X PUT -H "Content-Type: application/json" -d '{"disableNotifications": true}' https://build-api.cloud.unity3d.com/api/v1/users/me' usersApi = UsersApi(client); user = usersApi.update_user_self(options={"disableNotifications": True})

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
email: string

email address

name: string

full name

unityid: string

internal unity id that is shared across services

waiting: boolean

when true the user is waiting to be approved for access to Build Automation

disableNotifications: boolean

when true build status email notifications will no longer be sent

primaryOrg: string

primary organization the user belongs to

links: object

links for retrieving more information about the user

`
{ "email": "julie.smith@example.org", "name": "juliesmith", "unityid": "0000000", "waiting": false, "disableNotifications": false, "apiKey": "[YOUR API KEY]", "primaryOrg": "example-org", "links": { "self": { "method": "get", "href": "/api/v1/users/me" } } }

Get current user's API key

GET /users/me/apikey

Description

Get the currently authenticated user's API key.

Request Parameters

curl -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/users/me/apiKey usersApi = UsersApi(client); user = usersApi.get_user_api_key()

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
apiKey: string

API key

`
{ "[YOUR API KEY]" }

Regenerate API Key

POST /users/me/apikey

Description

Remove current API key and generate a new one. WARNING you will need to use the returned API key in all subsequent calls.

Request Parameters

application/x-www-form-urlencoded

curl -X POST -H "Content-Type: application/json" -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/users/me/apikey usersApi = UsersApi(client); newApiKey = usersApi.regen_api_key();

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
apiKey: string
`
{ "apiKey": "00000000000000000000000000000000", }

Webhooks Introduction

Webhooks are events callbacks from Unity DevOps Build Automation to user-defined HTTP endpoints. When an event triggers a callback, Build Automation will send a POST request to the configured end point, with a payload that is relevant to the event type. The following table describes the available event types.

EventTrigger Condition
ProjectBuildQueuedWhen a build target is queued for building
ProjectBuildStartedWhen a build starts
ProjectBuildRestartedWhen an internal error occurs and the job is restarted
ProjectBuildSuccessWhen a build finishes successfully
ProjectBuildFailureWhen a build finishes with a failure condition
ProjectBuildCanceledWhen a build in progress is canceled

Headers

Each hook delivery will contain these special headers:

NameDescription
X-UnityCloudBuild-HookIdThe record id of the hook
X-UnityCloudBuild-EventThe name of the event that triggered this hook
X-UnityCloudBuild-DeliveryIdA unique UUID that identifies this delivery instance
X-UnityCloudBuild-SignatureThe SHA256 HMAC signature of the payload When a secret is defined

Example Web Hook Delivery

Content-Length: 873 X-Unitycloudbuild-Event: ProjectBuildQueued X-Unitycloudbuild-Hookid: 7 X-Unitycloudbuild-Deliveryid: 81a4ab67-0176-4e4c-8ab2-bd0ab7d3cc70 Connection: Keep-Alive Content-Type: application/json { "projectName": "My Project", "buildTargetName": "Mac desktop 32-bit build", "projectGuid": "0895432b-43a2-4fd3-85f0-822d8fb607ba", "orgForeignKey": "13260", "buildNumber": 14, "buildStatus": "queued", "startedBy": "Build User <builduser@domain.com>", "platform": "standaloneosxintel", "links": { "api_self": { "method": "get", "href": "/api/orgs/my-org/projects/my-project/buildtargets/mac-desktop-32-bit-build/builds/14" }, "dashboard_url": { "method": "get", "href": "https://build.cloud.unity3d.com" }, "dashboard_project": { "method": "get", "href": "/build/orgs/stephenp/projects/assetbundle-demo-1" }, "dashboard_summary": { "method": "get", "href": "/build/orgs/my-org/projects/my-project/buildtargets/mac-desktop-32-bit-build/builds/14/summary" }, "dashboard_log": { "method": "get", "href": "/build/orgs/my-org/projects/my-project/buildtargets/mac-desktop-32-bit-build/builds/14/log" } } }

List hooks for organization

GET /orgs/{orgid}/hooks

Description

List all hooks configured for the specified organization

Required Permissions

org:user

Request Parameters

orgid

Organization identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/hooks hooksApi = WebhooksApi(client); hooksApi.list_hooks_for_org('{orgid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
hookType: string , x ∈ { web , slack }
events: string[]
string , x ∈ { ProjectBuildQueued , ProjectBuildStarted , ProjectBuildRestarted , ProjectBuildSuccess , ProjectBuildFailure , ProjectBuildCanceled , ProjectBuildUpload }
config: object
active: boolean true
id: string
`
[ { "hookType": "web", "events": [ "ProjectBuildSuccess", "ProjectBuildFailure" ], "config": { "encoding": "json", "sslVerify": true, "url": "http://unity3d.com/example" }, "active": true, "id": 7 }, { "hookType": "web", "events": [ "ProjectBuildQueued", "ProjectBuildStarted", "ProjectBuildRestarted", "ProjectBuildSuccess", "ProjectBuildFailure" ], "config": { "url": "http://unity3d.com/example2" }, "active": true, "id": 8 } ]

Add hook for organization

POST /orgs/{orgid}/hooks

Description

Adds a new organization level hook. An organization level hook is triggered by events from all projects belonging to the organziation. NOTE: you must be a manager in the organization to add new hooks.

Hook Type Configuration Parameters

TypeConfiguration Options
web
urlEndpoint to submit POST request
encodingEither json (default) or form
sslVerifyVerify SSL certificates of HTTPS endpoint
secretUsed to compute the SHA256 HMAC signature of the hook body and adds a X-UnityCloudBuild-Signature header to the payload
slack
urlSlack incoming webhook URL. Learn more at https://api.slack.com/incoming-webhooks

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string

Parameters are specified as application/json in the request body.

{"required":["hookType","config"],"properties":{"hookType":{"enum":["web","slack"],"type":"string"},"events":{"type":"array","items":{"enum":["ProjectBuildQueued","ProjectBuildStarted","ProjectBuildRestarted","ProjectBuildSuccess","ProjectBuildFailure","ProjectBuildCanceled","ProjectBuildUpload"],"type":"string"}},"config":{"type":"object"},"active":{"type":"boolean","default":true}}}
curl -X POST -H "Content-Type: application/json" -d '{"hookType":"web","events":["ProjectBuildSuccess","ProjectBuildFailure"],"config":{"url":"http://unity3d.com/example"}}' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/hooks hooksApi = HooksApi(client) hook = hooksApi.add_hook_for_org('{orgid}', config)

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
hookType: string , x ∈ { web , slack }
events: string[]
string , x ∈ { ProjectBuildQueued , ProjectBuildStarted , ProjectBuildRestarted , ProjectBuildSuccess , ProjectBuildFailure , ProjectBuildCanceled , ProjectBuildUpload }
config: object
active: boolean true
id: string
`
{ "hookType": "web", "events": [ "ProjectBuildQueued", "ProjectBuildStarted", "ProjectBuildRestarted", "ProjectBuildSuccess", "ProjectBuildFailure" ], "config": { "url": "http://unity3d.com/example" }, "active": true, "id": 8 }

Get organization hook details

GET /orgs/{orgid}/hooks/{id}

Description

Get details of a hook by id

Required Permissions

org:user

Request Parameters

orgid

Organization identifier

path string
id

Hook record identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/hooks/{id} orgsApi = OrgsApi(client); orgsApi.get_hook('{orgid}', '{id}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
hookType: string , x ∈ { web , slack }
events: string[]
string , x ∈ { ProjectBuildQueued , ProjectBuildStarted , ProjectBuildRestarted , ProjectBuildSuccess , ProjectBuildFailure , ProjectBuildCanceled , ProjectBuildUpload }
config: object
active: boolean true
id: string
`
{ "hookType": "web", "events": [ "ProjectBuildQueued", "ProjectBuildStarted", "ProjectBuildRestarted", "ProjectBuildSuccess", "ProjectBuildFailure" ], "config": { "url": "http://unity3d.com/example" }, "active": true, "id": 8 }

Delete organization hook

DELETE /orgs/{orgid}/hooks/{id}

Description

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
id

Hook record identifier

path string
curl -X DELETE -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/hooks/{id} orgsApi = OrgsApi(client) orgsApi.delete_hook('{orgid}', '{id}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Update hook for organization

PUT /orgs/{orgid}/hooks/{id}

Description

Update a new hook. NOTE: you must be a manager in the organization to update hooks.

Required Permissions

org:manager

Request Parameters

orgid

Organization identifier

path string
id

Hook record identifier

path string

Parameters are specified as application/json in the request body.

{"required":["hookType","config"],"properties":{"hookType":{"enum":["web","slack"],"type":"string"},"events":{"type":"array","items":{"enum":["ProjectBuildQueued","ProjectBuildStarted","ProjectBuildRestarted","ProjectBuildSuccess","ProjectBuildFailure","ProjectBuildCanceled","ProjectBuildUpload"],"type":"string"}},"config":{"type":"object"},"active":{"type":"boolean","default":true}}}
curl -X POST -H "Content-Type: application/json" -d '{"hookType":"web", "active":true, "config":{}}' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/hooks/{id} hooksApi = HooksApi(client) hook = hooksApi.update_hook('{hookid}', options)

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
hookType: string , x ∈ { web , slack }
events: string[]
string , x ∈ { ProjectBuildQueued , ProjectBuildStarted , ProjectBuildRestarted , ProjectBuildSuccess , ProjectBuildFailure , ProjectBuildCanceled , ProjectBuildUpload }
config: object
active: boolean true
id: string
`
{ "hookType": "web", "events": [ "ProjectBuildQueued", "ProjectBuildStarted", "ProjectBuildRestarted", "ProjectBuildSuccess", "ProjectBuildFailure" ], "config": { "url": "http://unity3d.com/example" }, "active": true, "id": 8 }

Ping an org hook

POST /orgs/{orgid}/hooks/{id}/ping

Description

Send a ping event to an org hook.

Required Permissions

org:user

Request Parameters

orgid

Organization identifier

path string
id

Hook record identifier

path string
curl -X POST -H "Content-Type: application/json" -d '{}' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/hooks/{id}/ping hooksApi = HooksApi(client) hook = hooksApi.ping_hook('{orgid}', '{hookid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

List hooks for project

GET /orgs/{orgid}/projects/{projectid}/hooks

Description

List all hooks configured for the specified project

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/hooks hooksApi = WebhooksApi(client); hooksApi.list_hooks_for_project('{orgid}', '{projectid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
object
hookType: string , x ∈ { web , slack }
events: string[]
string , x ∈ { ProjectBuildQueued , ProjectBuildStarted , ProjectBuildRestarted , ProjectBuildSuccess , ProjectBuildFailure , ProjectBuildCanceled , ProjectBuildUpload }
config: object
active: boolean true
id: string
`
[ { "hookType": "web", "events": [ "ProjectBuildSuccess", "ProjectBuildFailure" ], "config": { "encoding": "json", "sslVerify": true, "url": "http://unity3d.com/example" }, "active": true, "id": 7 }, { "hookType": "web", "events": [ "ProjectBuildQueued", "ProjectBuildStarted", "ProjectBuildRestarted", "ProjectBuildSuccess", "ProjectBuildFailure" ], "config": { "url": "http://unity3d.com/example2" }, "active": true, "id": 8 } ]

Add hook for project

POST /orgs/{orgid}/projects/{projectid}/hooks

Description

Adds a new project level hook. A project level hook is only triggered by events from the specific project. NOTE: you must be a manager in the organization to add new hooks.

Hook Type Configuration Parameters

TypeConfiguration Options
web
urlEndpoint to submit POST request
encodingEither json (default) or form
sslVerifyVerify SSL certificates of HTTPS endpoint
secretUsed to compute the SHA256 HMAC signature of the hook body and adds a X-UnityCloudBuild-Signature header to the payload
slack
urlSlack incoming webhook URL. Learn more at https://api.slack.com/incoming-webhooks

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string

Parameters are specified as application/json in the request body.

{"required":["hookType","config"],"properties":{"hookType":{"enum":["web","slack"],"type":"string"},"events":{"type":"array","items":{"enum":["ProjectBuildQueued","ProjectBuildStarted","ProjectBuildRestarted","ProjectBuildSuccess","ProjectBuildFailure","ProjectBuildCanceled","ProjectBuildUpload"],"type":"string"}},"config":{"type":"object"},"active":{"type":"boolean","default":true}}}
curl -X POST -H "Content-Type: application/json" -d '{"hookType":"web","events":["ProjectBuildSuccess","ProjectBuildFailure"],"config":{"url":"http://unity3d.com/example"}}' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/hooks hooksApi = HooksApi(client) hook = hooksApi.add_hook_for_project('{orgid}', '{projectid}', config)

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

201 Created
hookType: string , x ∈ { web , slack }
events: string[]
string , x ∈ { ProjectBuildQueued , ProjectBuildStarted , ProjectBuildRestarted , ProjectBuildSuccess , ProjectBuildFailure , ProjectBuildCanceled , ProjectBuildUpload }
config: object
active: boolean true
id: string
`
{ "hookType": "web", "events": [ "ProjectBuildSuccess", "ProjectBuildFailure" ], "config": { "encoding": "json", "sslVerify": true, "url": "http://unity3d.com/example" }, "active": true, "id": 7 }

Get project hook details

GET /orgs/{orgid}/projects/{projectid}/hooks/{id}

Description

Get details of a hook by id

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
id

Hook record identifier

path string
curl -X GET -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/hooks/projects/{projectid}/hooks/{id} orgsApi = ProjectsApi(client); orgsApi.get_hook('{orgid}', '{projectid}', '{id}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
hookType: string , x ∈ { web , slack }
events: string[]
string , x ∈ { ProjectBuildQueued , ProjectBuildStarted , ProjectBuildRestarted , ProjectBuildSuccess , ProjectBuildFailure , ProjectBuildCanceled , ProjectBuildUpload }
config: object
active: boolean true
id: string
`
{ "hookType": "web", "events": [ "ProjectBuildSuccess", "ProjectBuildFailure" ], "config": { "encoding": "json", "sslVerify": true, "url": "http://unity3d.com/example" }, "active": true, "id": 7 }

Delete project hook

DELETE /orgs/{orgid}/projects/{projectid}/hooks/{id}

Description

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
id

Hook record identifier

path string
curl -X DELETE -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/hooks/projects/{projectid}/hooks/{id} orgsApi = ProjectsApi(client) orgsApi.delete_hook('{orgid}', '{projectid}', '{id}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`

Update hook for project

PUT /orgs/{orgid}/projects/{projectid}/hooks/{id}

Description

Update an existing hook. NOTE: you must be a manager of the project to update hooks.

Required Permissions

project:manager

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
id

Hook record identifier

path string

Parameters are specified as application/json in the request body.

{"required":["hookType","config"],"properties":{"hookType":{"enum":["web","slack"],"type":"string"},"events":{"type":"array","items":{"enum":["ProjectBuildQueued","ProjectBuildStarted","ProjectBuildRestarted","ProjectBuildSuccess","ProjectBuildFailure","ProjectBuildCanceled","ProjectBuildUpload"],"type":"string"}},"config":{"type":"object"},"active":{"type":"boolean","default":true}}}
curl -X POST -H "Content-Type: application/json" -d '{"hookType":"web", "active":true, "config":{}}' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/hooks/{id} hooksApi = HooksApi(client) hook = hooksApi.update_hook('{hookid}', options)

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

200 OK
hookType: string , x ∈ { web , slack }
events: string[]
string , x ∈ { ProjectBuildQueued , ProjectBuildStarted , ProjectBuildRestarted , ProjectBuildSuccess , ProjectBuildFailure , ProjectBuildCanceled , ProjectBuildUpload }
config: object
active: boolean true
id: string
`
{ "hookType": "web", "events": [ "ProjectBuildSuccess", "ProjectBuildFailure" ], "config": { "encoding": "json", "sslVerify": true, "url": "http://unity3d.com/example" }, "active": true, "id": 7 }

Ping a project hook

POST /orgs/{orgid}/projects/{projectid}/hooks/{id}/ping

Description

Send a ping event to a project hook.

Required Permissions

project:user

Request Parameters

orgid

Organization identifier

path string
projectid

Project identifier

path string
id

Hook record identifier

path string
curl -X POST -H "Content-Type: application/json" -d '{}' -H "Authorization: Basic [YOUR API KEY]" https://build-api.cloud.unity3d.com/api/v1/orgs/{orgid}/projects/{projectid}/hooks/{id}/ping hooksApi = HooksApi(client) hook = hooksApi.ping_hook('{orgid}', '{projectid}', '{hookid}')

Responses

Uses default content-types: application/json application/x-apple-aspen-config text/plain text/html text/csv text/x-generic

204 No Content
`