Projects API change log
In this change log, you can learn about the latest changes, improvements, and updates for the Projects API. The change log lists changes that have been made, ordered by the date they were released. Changes to existing API versions are designed to be compatible with existing client applications.
03 April 2024
Projects API v1.0.0 is now available. Make sure you update your version from beta.
The following changes impact the pagination of list operations. For more information, see the pagination section of the Projects API docs.
list-projects
GET /v1/projects
- The page token query parameter was renamed from
starttotoken.- For example, calling the
list-projectsoperation changed fromGET /v1/projects?limit=5&start={page_token}toGET /v1/projects?limit=5&token={page_token}.
- For example, calling the
- The first page is returned without the token query parameter in the request URL. For example,
GET /v1/projects?limit=5ORGET /v1/projects.- The first page is also returned when the specified page token is invalid.
- The
lastandpreviousfields are no longer supported, nor included in the response payload.
list-configs
GET /v1/projects/{project_id}/configs
- This operation is now paginated.
- A default of 10 records is returned if the page size is not specified in the
limitquery parameter.- The maximum page size is of 100 records.
- The first page is returned without the token query parameter in the request URL. For example,
GET /v1/projects/{project_id}/configs/?limit=5ORGET /v1/projects/{project_id}/configs.- The first page is also returned when the specified page token is invalid.
list-environments
GET /v1/projects/{project_id}/environments
- This operation is now paginated.
- A default of 10 records are returned if the page size is not specified in the
limitquery parameter.- The maximum page size is of 100 records.
- The first page is returned without the
tokenquery parameter in the request URL. For example,GET /v1/projects/{project_id}/environments/?limit=5ORGET /v1/projects/{project_id}/environments.- The first page is also returned when the specified page token is invalid.
Methods to support stacking deployable architectures
Experimental
Added experimental methods to support stacking deployable architectures.
06 November 2023
The latest update includes the following breaking change:
- The
configurationsresponsemodels for all methods no longer use apipeline_state. All status information of aconfigurationis available in the augmentedstateproperty in the canonical schema of aconfiguration.
Projects and configurations changes
create-project: POST /v1/projects
- The
resource_groupandlocationare now to be embedded in therequestpayload. They are no longer supported as query parameters.
delete-config: PATCH /v1/projects/{project_id}/configs/{id}
- The
draft_onlyquery parameter is deprecated. - The API now supports delete of
configurationof a specified project ID andversion. See projects#delete-config-version.
Renamed configuration endpoints
The following configuration endpoints are renamed as follows:
POST /v1/projects/{project_id}/configs/{id}/checkis changed toPOST /v1/projects/{project_id}/configs/{id}/validate.POST /v1/projects/{project_id}/configs/{id}/installis changed toPOST /v1/projects/{project_id}/configs/{id}/deploy.POST /v1/projects/{project_id}/configs/{id}/uninstallis changed toPOST /v1/projects/{project_id}/configs/{id}/undeploy.
Replaced configuration endpoints
The drafts methods were replaced by the versions operations as follows:
GET /v1/projects/{project_id}/configs/{config_id}/draftsis changed toGET /v1/projects/{project_id}/configs/{id}/versions.GET /v1/projects/{project_id}/configs/{config_id}/drafts/{version}is changed toGET /v1/projects/{project_id}/configs/{id}/versions/{version}
Configuration states
The state model for configurations is flattened. The pipeline_state is no longer available, and the one state property is now augmented to capture all possible statuses of a configuration.
The following are the new state values:
approveddeleteddeletingdeleting_faileddiscardeddeployeddeploying_faileddeployingsupercededundeployingundeploying_failedvalidatedvalidatingvalidating_failed
All configuration endpoints include this state property in the response model. For an example, see projects#get-config-version-response.
Configuration new metadata
The response model of configurations operations now defines new metadata in the root. If an approve job was run on a configuration, an approved_version property is included in
the response payload. Similarly, if a deploy job was run on a configuration, then deployed_version and last_deployed metadata are available in the response body.
Running a validation job yields the metadata last_validated, while running an undeploy job yields the metadata last_undeployed in the response.
25 October 2023
In projects and configurations operations, such as create and update, definition properties such as name and description must now be provided in a definition wrapper. Similarly, these properties are now only available inside a definition block in the response payload of create, update, get, and list operations. This is
a breaking change that was originally released on 06 July 2023. The following sections provide more information about the methods that are affected by this update.
Projects
create-project: POST /v1/projects
- For both the
request&response, thename,description, anddestroy_on_deleteare now wrapped inside adefinitionobject. - Callers of this endpoint are now expected to supply the definition properties inside this wrapper, for example:
definition: {“name”: “test”, “description”: “This is a test project”, “destroy_on_delete”: false}.- If
destroy_on_deleteis not provided, a default value oftrueis assigned on a project create operation.
- If
- See projects#create-project-request.
- Similarly, in the
responsebody, the previously mentioned properties are now available in adefinitionblock.
update-project: PATCH /v1/projects/{id}
- For both the
request&response, thename,description, anddestroy_on_deleteare now wrapped inside adefinitionobject. - Callers of this endpoint are now expected to supply the definition properties inside this wrapper, for example:
definition: {“name”: “test_update”, “description”: “This is an updated test project“}.- See projects#update-project-request.
- Similarly, in the
responsebody, the previously mentioned properties are now available in adefinitionblock.
get-projects: GET /v1/projects/{id}
- In the
responseof this operation, thename,description, anddestroy_on_deleteare now wrapped inside adefinitionblock.
list-project: GET /v1/projects
- Each project that is returned in the
responsearray wraps thename,description, anddestroy_on_deleteproperties in adefinitionblock.
Configurations
create-config: POST /v1/projects/{project_id}/configs
- For both
request&response, thelocator_id,name,labels,authorizations,compliance_profile,input,setting,descriptionare now wrapped inside adefinitionobject. - Callers of this endpoint are now expected to supply the definition properties inside this wrapper, for example:
definition: {“name”: “test”, “description”: “This is a test config”, “locator_id”: “1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.cd596f95-95a2-4f21-9b84-477f21fd1e95-global”}.- See projects#create-config-request.
- Similarly, in the
responsebody, the previously mentioned properties are now available in adefinitionblock.- A
settingproperty is also included in thedefinitionblock. - See projects#create-config-response.
- A
update-config: PATCH /v1/projects/{project_id}/configs/{id}
- For both
request&response, thelocator_id,name,labels,authorizations,compliance_profile,input,setting,descriptionare now wrapped inside adefinitionobject. - Callers of this endpoint are now expected to supply the definition properties inside this wrapper, for example:
definition: {“name”: “test”, “description”: “This is a test config”, “locator_id”: “1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.cd596f95-95a2-4f21-9b84-477f21fd1e95-global”}.- See projects#update-config-request.
- Similarly, in the
responsebody the previously mentioned properties are moved into adefinitionblock.
get-config: GET /v1/projects/{id}
- In the
responseof this operation, thelocator_id,name,labels,authorizations,compliance_profile,input,setting,description, andsettingare now wrapped inside adefinitionobject.
list-configs: GET /v1/projects/{project_id}/configs
- In the
responseof this operation, thenameanddescriptionare now wrapped inside adefinitionobject.
06 July 2023
The response models for all methods now enforce a lower snake case format in state values. This format is to be expected in the response when you are calling the project and configuration endpoints. This update is a breaking change.
Project state values can now be ready, deleting, and deleting_failed. For an example, see the response schema for the update-project method.
Configuration state values can now be deleted, deleting, deleting_failed, installed, installed_failed, installing, not_installed, uninstalling,
uninstalling_failed, and active. For an example, see the response schema for the get-config method.