# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Generated with protoc-gen-openapi # https://github.com/google/gnostic/tree/master/cmd/protoc-gen-openapi openapi: 3.0.3 info: title: Registry API description: The Registry service allows teams to manage descriptions of APIs. version: 0.0.1 servers: - url: https://apigeeregistry.googleapis.com paths: /v1/projects/{project}/locations/{location}/apis: get: tags: - Registry description: ListApis returns matching APIs. operationId: Registry_ListApis parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: pageSize in: query description: The maximum number of APIs to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000. schema: type: integer format: int32 - name: pageToken in: query description: A page token, received from a previous `ListApis` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListApis` must match the call that provided the page token. schema: type: string - name: filter in: query description: An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields. schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ListApisResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' post: tags: - Registry description: CreateApi creates a specified API. operationId: Registry_CreateApi parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: apiId in: query description: Required. The ID to use for the api, which will become the final component of the api's resource name. This value should be 4-63 characters, and valid characters are /[a-z][0-9]-/. Following AIP-162, IDs must not have the form of a UUID. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Api' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Api' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}: get: tags: - Registry description: GetApi returns a specified API. operationId: Registry_GetApi parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Api' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' delete: tags: - Registry description: |- DeleteApi removes a specified API and all of the resources that it owns. operationId: Registry_DeleteApi parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: force in: query description: If set to true, any child resources will also be deleted. (Otherwise, the request will only work if there are no child resources.) schema: type: boolean responses: "200": description: OK content: {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' patch: tags: - Registry description: UpdateApi can be used to modify a specified API. operationId: Registry_UpdateApi parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: updateMask in: query description: The list of fields to be updated. If omitted, all fields are updated that are set in the request message (fields set to default values are ignored). If a "*" is specified, all fields are updated, including fields that are unspecified/default in the request. schema: type: string format: field-mask - name: allowMissing in: query description: If set to true, and the api is not found, a new api_versions will be created. In this situation, `update_mask` is ignored. schema: type: boolean requestBody: content: application/json: schema: $ref: '#/components/schemas/Api' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Api' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/deployments: get: tags: - Registry description: ListApiDeployments returns matching deployments. operationId: Registry_ListApiDeployments parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: pageSize in: query description: The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000. schema: type: integer format: int32 - name: pageToken in: query description: A page token, received from a previous `ListApiDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListApiDeployments` must match the call that provided the page token. schema: type: string - name: filter in: query description: An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields. schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ListApiDeploymentsResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' post: tags: - Registry description: CreateApiDeployment creates a specified deployment. operationId: Registry_CreateApiDeployment parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: apiDeploymentId in: query description: Required. The ID to use for the deployment, which will become the final component of the deployment's resource name. This value should be 4-63 characters, and valid characters are /[a-z][0-9]-/. Following AIP-162, IDs must not have the form of a UUID. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiDeployment' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiDeployment' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/deployments/{deployment}: get: tags: - Registry description: GetApiDeployment returns a specified deployment. operationId: Registry_GetApiDeployment parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: deployment in: path description: The deployment id. required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiDeployment' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' delete: tags: - Registry description: |- DeleteApiDeployment removes a specified deployment, all revisions, and all child resources (e.g. artifacts). operationId: Registry_DeleteApiDeployment parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: deployment in: path description: The deployment id. required: true schema: type: string - name: force in: query description: If set to true, any child resources will also be deleted. (Otherwise, the request will only work if there are no child resources.) schema: type: boolean responses: "200": description: OK content: {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' patch: tags: - Registry description: UpdateApiDeployment can be used to modify a specified deployment. operationId: Registry_UpdateApiDeployment parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: deployment in: path description: The deployment id. required: true schema: type: string - name: updateMask in: query description: The list of fields to be updated. If omitted, all fields are updated that are set in the request message (fields set to default values are ignored). If a "*" is specified, all fields are updated, including fields that are unspecified/default in the request. schema: type: string format: field-mask - name: allowMissing in: query description: If set to true, and the deployment is not found, a new deployment will be created. In this situation, `update_mask` is ignored. schema: type: boolean requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiDeployment' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiDeployment' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/deployments/{deployment}:deleteRevision: delete: tags: - Registry description: DeleteApiDeploymentRevision deletes a revision of a deployment. operationId: Registry_DeleteApiDeploymentRevision parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: deployment in: path description: The deployment id. required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiDeployment' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/deployments/{deployment}:listRevisions: get: tags: - Registry description: |- ListApiDeploymentRevisions lists all revisions of a deployment. Revisions are returned in descending order of revision creation time. operationId: Registry_ListApiDeploymentRevisions parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: deployment in: path description: The deployment id. required: true schema: type: string - name: pageSize in: query description: The maximum number of revisions to return per page. schema: type: integer format: int32 - name: pageToken in: query description: The page token, received from a previous ListApiDeploymentRevisions call. Provide this to retrieve the subsequent page. schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ListApiDeploymentRevisionsResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/deployments/{deployment}:rollback: post: tags: - Registry description: |- RollbackApiDeployment sets the current revision to a specified prior revision. Note that this creates a new revision with a new revision ID. operationId: Registry_RollbackApiDeployment parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: deployment in: path description: The deployment id. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RollbackApiDeploymentRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiDeployment' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/deployments/{deployment}:tagRevision: post: tags: - Registry description: |- TagApiDeploymentRevision adds a tag to a specified revision of a deployment. operationId: Registry_TagApiDeploymentRevision parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: deployment in: path description: The deployment id. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/TagApiDeploymentRevisionRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiDeployment' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/versions: get: tags: - Registry description: ListApiVersions returns matching versions. operationId: Registry_ListApiVersions parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: pageSize in: query description: The maximum number of versions to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000. schema: type: integer format: int32 - name: pageToken in: query description: A page token, received from a previous `ListApiVersions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListApiVersions` must match the call that provided the page token. schema: type: string - name: filter in: query description: An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields. schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ListApiVersionsResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' post: tags: - Registry description: CreateApiVersion creates a specified version. operationId: Registry_CreateApiVersion parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: apiVersionId in: query description: Required. The ID to use for the version, which will become the final component of the version's resource name. This value should be 4-63 characters, and valid characters are /[a-z][0-9]-/. Following AIP-162, IDs must not have the form of a UUID. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiVersion' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiVersion' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/versions/{version}: get: tags: - Registry description: GetApiVersion returns a specified version. operationId: Registry_GetApiVersion parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: version in: path description: The version id. required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiVersion' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' delete: tags: - Registry description: |- DeleteApiVersion removes a specified version and all of the resources that it owns. operationId: Registry_DeleteApiVersion parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: version in: path description: The version id. required: true schema: type: string - name: force in: query description: If set to true, any child resources will also be deleted. (Otherwise, the request will only work if there are no child resources.) schema: type: boolean responses: "200": description: OK content: {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' patch: tags: - Registry description: UpdateApiVersion can be used to modify a specified version. operationId: Registry_UpdateApiVersion parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: version in: path description: The version id. required: true schema: type: string - name: updateMask in: query description: The list of fields to be updated. If omitted, all fields are updated that are set in the request message (fields set to default values are ignored). If a "*" is specified, all fields are updated, including fields that are unspecified/default in the request. schema: type: string format: field-mask - name: allowMissing in: query description: If set to true, and the version is not found, a new version will be created. In this situation, `update_mask` is ignored. schema: type: boolean requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiVersion' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiVersion' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs: get: tags: - Registry description: ListApiSpecs returns matching specs. operationId: Registry_ListApiSpecs parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: version in: path description: The version id. required: true schema: type: string - name: pageSize in: query description: The maximum number of specs to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000. schema: type: integer format: int32 - name: pageToken in: query description: A page token, received from a previous `ListApiSpecs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListApiSpecs` must match the call that provided the page token. schema: type: string - name: filter in: query description: An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields except contents. schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ListApiSpecsResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' post: tags: - Registry description: CreateApiSpec creates a specified spec. operationId: Registry_CreateApiSpec parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: version in: path description: The version id. required: true schema: type: string - name: apiSpecId in: query description: Required. The ID to use for the spec, which will become the final component of the spec's resource name. This value should be 4-63 characters, and valid characters are /[a-z][0-9]-/. Following AIP-162, IDs must not have the form of a UUID. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiSpec' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiSpec' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}: get: tags: - Registry description: GetApiSpec returns a specified spec. operationId: Registry_GetApiSpec parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: version in: path description: The version id. required: true schema: type: string - name: spec in: path description: The spec id. required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiSpec' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' delete: tags: - Registry description: |- DeleteApiSpec removes a specified spec, all revisions, and all child resources (e.g. artifacts). operationId: Registry_DeleteApiSpec parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: version in: path description: The version id. required: true schema: type: string - name: spec in: path description: The spec id. required: true schema: type: string - name: force in: query description: If set to true, any child resources will also be deleted. (Otherwise, the request will only work if there are no child resources.) schema: type: boolean responses: "200": description: OK content: {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' patch: tags: - Registry description: UpdateApiSpec can be used to modify a specified spec. operationId: Registry_UpdateApiSpec parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: version in: path description: The version id. required: true schema: type: string - name: spec in: path description: The spec id. required: true schema: type: string - name: updateMask in: query description: The list of fields to be updated. If omitted, all fields are updated that are set in the request message (fields set to default values are ignored). If a "*" is specified, all fields are updated, including fields that are unspecified/default in the request. schema: type: string format: field-mask - name: allowMissing in: query description: If set to true, and the spec is not found, a new spec will be created. In this situation, `update_mask` is ignored. schema: type: boolean requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiSpec' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiSpec' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}:deleteRevision: delete: tags: - Registry description: DeleteApiSpecRevision deletes a revision of a spec. operationId: Registry_DeleteApiSpecRevision parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: version in: path description: The version id. required: true schema: type: string - name: spec in: path description: The spec id. required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiSpec' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}:getContents: get: tags: - Registry description: |- GetApiSpecContents returns the contents of a specified spec. If specs are stored with GZip compression, the default behavior is to return the spec uncompressed (the mime_type response field indicates the exact format returned). operationId: Registry_GetApiSpecContents parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: version in: path description: The version id. required: true schema: type: string - name: spec in: path description: The spec id. required: true schema: type: string responses: "200": description: OK content: '*/*': {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}:listRevisions: get: tags: - Registry description: |- ListApiSpecRevisions lists all revisions of a spec. Revisions are returned in descending order of revision creation time. operationId: Registry_ListApiSpecRevisions parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: version in: path description: The version id. required: true schema: type: string - name: spec in: path description: The spec id. required: true schema: type: string - name: pageSize in: query description: The maximum number of revisions to return per page. schema: type: integer format: int32 - name: pageToken in: query description: The page token, received from a previous ListApiSpecRevisions call. Provide this to retrieve the subsequent page. schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ListApiSpecRevisionsResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}:rollback: post: tags: - Registry description: |- RollbackApiSpec sets the current revision to a specified prior revision. Note that this creates a new revision with a new revision ID. operationId: Registry_RollbackApiSpec parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: version in: path description: The version id. required: true schema: type: string - name: spec in: path description: The spec id. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RollbackApiSpecRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiSpec' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}:tagRevision: post: tags: - Registry description: TagApiSpecRevision adds a tag to a specified revision of a spec. operationId: Registry_TagApiSpecRevision parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: api in: path description: The api id. required: true schema: type: string - name: version in: path description: The version id. required: true schema: type: string - name: spec in: path description: The spec id. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/TagApiSpecRevisionRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ApiSpec' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/artifacts: get: tags: - Registry description: ListArtifacts returns matching artifacts. operationId: Registry_ListArtifacts parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: pageSize in: query description: The maximum number of artifacts to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000. schema: type: integer format: int32 - name: pageToken in: query description: A page token, received from a previous `ListArtifacts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListArtifacts` must match the call that provided the page token. schema: type: string - name: filter in: query description: An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields except contents. schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ListArtifactsResponse' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' post: tags: - Registry description: CreateArtifact creates a specified artifact. operationId: Registry_CreateArtifact parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: artifactId in: query description: Required. The ID to use for the artifact, which will become the final component of the artifact's resource name. This value should be 4-63 characters, and valid characters are /[a-z][0-9]-/. Following AIP-162, IDs must not have the form of a UUID. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Artifact' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Artifact' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/artifacts/{artifact}: get: tags: - Registry description: GetArtifact returns a specified artifact. operationId: Registry_GetArtifact parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: artifact in: path description: The artifact id. required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Artifact' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' put: tags: - Registry description: ReplaceArtifact can be used to replace a specified artifact. operationId: Registry_ReplaceArtifact parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: artifact in: path description: The artifact id. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Artifact' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Artifact' default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' delete: tags: - Registry description: DeleteArtifact removes a specified artifact. operationId: Registry_DeleteArtifact parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: artifact in: path description: The artifact id. required: true schema: type: string responses: "200": description: OK content: {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' /v1/projects/{project}/locations/{location}/artifacts/{artifact}:getContents: get: tags: - Registry description: |- GetArtifactContents returns the contents of a specified artifact. If artifacts are stored with GZip compression, the default behavior is to return the artifact uncompressed (the mime_type response field indicates the exact format returned). operationId: Registry_GetArtifactContents parameters: - name: project in: path description: The project id. required: true schema: type: string - name: location in: path description: The location id. required: true schema: type: string - name: artifact in: path description: The artifact id. required: true schema: type: string responses: "200": description: OK content: '*/*': {} default: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Status' components: schemas: Api: type: object properties: name: type: string description: Resource name. displayName: type: string description: Human-meaningful name. description: type: string description: A detailed description. createTime: readOnly: true type: string description: Output only. Creation timestamp. format: date-time updateTime: readOnly: true type: string description: Output only. Last update timestamp. format: date-time availability: type: string description: 'A user-definable description of the availability of this service. Format: free-form, but we expect single words that describe availability, e.g. "NONE", "TESTING", "PREVIEW", "GENERAL", "DEPRECATED", "SHUTDOWN".' recommendedVersion: type: string description: 'The recommended version of the API. Format: apis/{api}/versions/{version}' recommendedDeployment: type: string description: 'The recommended deployment of the API. Format: apis/{api}/deployments/{deployment}' labels: type: object additionalProperties: type: string description: Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "apigeeregistry.googleapis.com/" and cannot be changed. annotations: type: object additionalProperties: type: string description: Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts. description: An Api is a top-level description of an API. Apis are produced by producers and are commitments to provide services. ApiDeployment: type: object properties: name: type: string description: Resource name. displayName: type: string description: Human-meaningful name. description: type: string description: A detailed description. revisionId: readOnly: true type: string description: Output only. Immutable. The revision ID of the deployment. A new revision is committed whenever the deployment contents are changed. The format is an 8-character hexadecimal string. createTime: readOnly: true type: string description: Output only. Creation timestamp; when the deployment resource was created. format: date-time revisionCreateTime: readOnly: true type: string description: Output only. Revision creation timestamp; when the represented revision was created. format: date-time revisionUpdateTime: readOnly: true type: string description: 'Output only. Last update timestamp: when the represented revision was last modified.' format: date-time apiSpecRevision: type: string description: 'The full resource name (including revision id) of the spec of the API being served by the deployment. Changes to this value will update the revision. Format: apis/{api}/deployments/{deployment}' endpointUri: type: string description: The address where the deployment is serving. Changes to this value will update the revision. externalChannelUri: type: string description: The address of the external channel of the API (e.g. the Developer Portal). Changes to this value will not affect the revision. intendedAudience: type: string description: Text briefly identifying the intended audience of the API. Changes to this value will not affect the revision. accessGuidance: type: string description: Text briefly describing how to access the endpoint. Changes to this value will not affect the revision. labels: type: object additionalProperties: type: string description: Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "registry.googleapis.com/" and cannot be changed. annotations: type: object additionalProperties: type: string description: Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts. description: An ApiDeployment describes a service running at particular address that provides a particular version of an API. ApiDeployments have revisions which correspond to different configurations of a single deployment in time. Revision identifiers should be updated whenever the served API spec or endpoint address changes. ApiSpec: type: object properties: name: type: string description: Resource name. filename: type: string description: A possibly-hierarchical name used to refer to the spec from other specs. description: type: string description: A detailed description. revisionId: readOnly: true type: string description: Output only. Immutable. The revision ID of the spec. A new revision is committed whenever the spec contents are changed. The format is an 8-character hexadecimal string. createTime: readOnly: true type: string description: Output only. Creation timestamp; when the spec resource was created. format: date-time revisionCreateTime: readOnly: true type: string description: Output only. Revision creation timestamp; when the represented revision was created. format: date-time revisionUpdateTime: readOnly: true type: string description: 'Output only. Last update timestamp: when the represented revision was last modified.' format: date-time mimeType: type: string description: A style (format) descriptor for this spec that is specified as a Media Type (https://en.wikipedia.org/wiki/Media_type). Possible values include "application/vnd.apigee.proto", "application/vnd.apigee.openapi", and "application/vnd.apigee.graphql", with possible suffixes representing compression types. These hypothetical names are defined in the vendor tree defined in RFC6838 (https://tools.ietf.org/html/rfc6838) and are not final. Content types can specify compression. Currently only GZip compression is supported (indicated with "+gzip"). sizeBytes: readOnly: true type: integer description: Output only. The size of the spec file in bytes. If the spec is gzipped, this is the size of the uncompressed spec. format: int32 hash: readOnly: true type: string description: Output only. A SHA-256 hash of the spec's contents. If the spec is gzipped, this is the hash of the uncompressed spec. sourceUri: type: string description: The original source URI of the spec (if one exists). This is an external location that can be used for reference purposes but which may not be authoritative since this external resource may change after the spec is retrieved. contents: writeOnly: true type: string description: Input only. The contents of the spec. Provided by API callers when specs are created or updated. To access the contents of a spec, use GetApiSpecContents. format: bytes labels: type: object additionalProperties: type: string description: Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "apigeeregistry.googleapis.com/" and cannot be changed. annotations: type: object additionalProperties: type: string description: Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts. description: An ApiSpec describes a version of an API in a structured way. ApiSpecs provide formal descriptions that consumers can use to use a version. ApiSpec resources are intended to be fully-resolved descriptions of an ApiVersion. When specs consist of multiple files, these should be bundled together (e.g. in a zip archive) and stored as a unit. Multiple specs can exist to provide representations in different API description formats. Synchronization of these representations would be provided by tooling and background services. ApiVersion: type: object properties: name: type: string description: Resource name. displayName: type: string description: Human-meaningful name. description: type: string description: A detailed description. createTime: readOnly: true type: string description: Output only. Creation timestamp. format: date-time updateTime: readOnly: true type: string description: Output only. Last update timestamp. format: date-time state: type: string description: 'A user-definable description of the lifecycle phase of this API version. Format: free-form, but we expect single words that describe API maturity, e.g. "CONCEPT", "DESIGN", "DEVELOPMENT", "STAGING", "PRODUCTION", "DEPRECATED", "RETIRED".' labels: type: object additionalProperties: type: string description: Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "apigeeregistry.googleapis.com/" and cannot be changed. annotations: type: object additionalProperties: type: string description: Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts. description: An ApiVersion describes a particular version of an API. ApiVersions are what consumers actually use. Artifact: type: object properties: name: type: string description: Resource name. createTime: readOnly: true type: string description: Output only. Creation timestamp. format: date-time updateTime: readOnly: true type: string description: Output only. Last update timestamp. format: date-time mimeType: type: string description: A content type specifier for the artifact. Content type specifiers are Media Types (https://en.wikipedia.org/wiki/Media_type) with a possible "schema" parameter that specifies a schema for the stored information. Content types can specify compression. Currently only GZip compression is supported (indicated with "+gzip"). sizeBytes: readOnly: true type: integer description: Output only. The size of the artifact in bytes. If the artifact is gzipped, this is the size of the uncompressed artifact. format: int32 hash: readOnly: true type: string description: Output only. A SHA-256 hash of the artifact's contents. If the artifact is gzipped, this is the hash of the uncompressed artifact. contents: writeOnly: true type: string description: Input only. The contents of the artifact. Provided by API callers when artifacts are created or replaced. To access the contents of an artifact, use GetArtifactContents. format: bytes description: Artifacts of resources. Artifacts are unique (single-value) per resource and are used to store metadata that is too large or numerous to be stored directly on the resource. Since artifacts are stored separately from parent resources, they should generally be used for metadata that is needed infrequently, i.e. not for display in primary views of the resource but perhaps displayed or downloaded upon request. The ListArtifacts method allows artifacts to be quickly enumerated and checked for presence without downloading their (potentially-large) contents. GoogleProtobufAny: type: object properties: '@type': type: string description: The type of the serialized message. additionalProperties: true description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. ListApiDeploymentRevisionsResponse: type: object properties: apiDeployments: type: array items: $ref: '#/components/schemas/ApiDeployment' description: The revisions of the deployment. nextPageToken: type: string description: A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. description: Response message for ListApiDeploymentRevisionsResponse. ListApiDeploymentsResponse: type: object properties: apiDeployments: type: array items: $ref: '#/components/schemas/ApiDeployment' description: The deployments from the specified publisher. nextPageToken: type: string description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. description: Response message for ListApiDeployments. ListApiSpecRevisionsResponse: type: object properties: apiSpecs: type: array items: $ref: '#/components/schemas/ApiSpec' description: The revisions of the spec. nextPageToken: type: string description: A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. description: Response message for ListApiSpecRevisionsResponse. ListApiSpecsResponse: type: object properties: apiSpecs: type: array items: $ref: '#/components/schemas/ApiSpec' description: The specs from the specified publisher. nextPageToken: type: string description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. description: Response message for ListApiSpecs. ListApiVersionsResponse: type: object properties: apiVersions: type: array items: $ref: '#/components/schemas/ApiVersion' description: The versions from the specified publisher. nextPageToken: type: string description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. description: Response message for ListApiVersions. ListApisResponse: type: object properties: apis: type: array items: $ref: '#/components/schemas/Api' description: The APIs from the specified publisher. nextPageToken: type: string description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. description: Response message for ListApis. ListArtifactsResponse: type: object properties: artifacts: type: array items: $ref: '#/components/schemas/Artifact' description: The artifacts from the specified publisher. nextPageToken: type: string description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. description: Response message for ListArtifacts. RollbackApiDeploymentRequest: required: - name - revisionId type: object properties: name: type: string description: Required. The deployment being rolled back. revisionId: type: string description: 'Required. The revision ID to roll back to. It must be a revision of the same deployment. Example: c7cfa2a8' description: Request message for RollbackApiDeployment. RollbackApiSpecRequest: required: - name - revisionId type: object properties: name: type: string description: Required. The spec being rolled back. revisionId: type: string description: 'Required. The revision ID to roll back to. It must be a revision of the same spec. Example: c7cfa2a8' description: Request message for RollbackApiSpec. Status: type: object properties: code: type: integer description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]. format: int32 message: type: string description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client. details: type: array items: $ref: '#/components/schemas/GoogleProtobufAny' description: A list of messages that carry the error details. There is a common set of message types for APIs to use. description: 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).' TagApiDeploymentRevisionRequest: required: - name - tag type: object properties: name: type: string description: Required. The name of the deployment to be tagged, including the revision ID. tag: type: string description: Required. The tag to apply. The tag should be at most 40 characters, and match `[a-z][a-z0-9-]{3,39}`. description: Request message for TagApiDeploymentRevision. TagApiSpecRevisionRequest: required: - name - tag type: object properties: name: type: string description: Required. The name of the spec to be tagged, including the revision ID. tag: type: string description: Required. The tag to apply. The tag should be at most 40 characters, and match `[a-z][a-z0-9-]{3,39}`. description: Request message for TagApiSpecRevision. tags: - name: Registry