openapi: 3.1.0 info: title: HPE GreenLake API description: | Unified REST API gateway for HPE GreenLake edge-to-cloud services documented at developer.greenlake.hpe.com. Covers identity (user management), API client credentials, workspaces, and authorization (scope groups and role assignments). Conforms to OpenAPI 3.0 and authenticates with OAuth 2.0 client credentials that issue short-lived JWT bearer tokens. version: "1.0" contact: name: HPE GreenLake Developer url: https://developer.greenlake.hpe.com/docs/greenlake/guides servers: - url: https://global.api.greenlake.hpe.com description: HPE GreenLake unified API gateway security: - BearerAuth: [] components: securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT description: | OAuth 2.0 client-credentials access token. Use the token as `Authorization: Bearer ` on every request. paths: /workspaces/v1/credentials: get: summary: List API client credentials operationId: listCredentials responses: "200": { description: OK } post: summary: Create an API client credential operationId: createCredential responses: "201": { description: Created } /workspaces/v1/credentials/{id}: parameters: - name: id in: path required: true schema: { type: string } delete: summary: Delete an API client credential operationId: deleteCredential responses: "204": { description: Deleted } /workspaces/v1/credentials/{id}/reset: parameters: - name: id in: path required: true schema: { type: string } post: summary: Reset (regenerate) a credential's clientSecret operationId: resetCredential responses: "200": { description: OK } /identity/v1/users: get: summary: List users in the workspace operationId: listUsers responses: "200": { description: OK } post: summary: Invite a user to the workspace operationId: inviteUser responses: "201": { description: Created } /identity/v1/users/{id}: parameters: - name: id in: path required: true schema: { type: string } get: summary: Get a specific user operationId: getUser responses: "200": { description: OK } put: summary: Update user preferences operationId: updateUser responses: "200": { description: OK } delete: summary: Delete a user from the workspace operationId: deleteUser responses: "204": { description: Deleted } /authorization/v1beta1/scope-groups: post: summary: Create a scope group operationId: createScopeGroup responses: "201": { description: Created } /authorization/v1beta1/scope-groups/{scope-group-id}: parameters: - name: scope-group-id in: path required: true schema: { type: string } get: summary: Retrieve a scope group operationId: getScopeGroup responses: "200": { description: OK } put: summary: Update a scope group operationId: updateScopeGroup responses: "200": { description: OK } delete: summary: Delete a scope group operationId: deleteScopeGroup responses: "204": { description: Deleted } /authorization/v1beta1/scope-groups/{scope-group-id}/scopes: parameters: - name: scope-group-id in: path required: true schema: { type: string } get: summary: List scopes in a scope group operationId: listScopes responses: "200": { description: OK } /authorization/v1beta1/scope-groups/{scope-group-id}/scopes/batch: parameters: - name: scope-group-id in: path required: true schema: { type: string } post: summary: Add resources to a scope group operationId: addScopesBatch responses: "200": { description: OK } /authorization/v1beta1/scope-groups/{scope-group-id}/scopes/bulk: parameters: - name: scope-group-id in: path required: true schema: { type: string } delete: summary: Remove multiple scopes from a scope group operationId: removeScopesBulk responses: "204": { description: Deleted } /authorization/v1beta1/role-assignments: post: summary: Create a role assignment operationId: createRoleAssignment responses: "201": { description: Created } /authorization/v1beta1/role-assignments/{id}: parameters: - name: id in: path required: true schema: { type: string } get: summary: Retrieve a role assignment operationId: getRoleAssignment responses: "200": { description: OK } put: summary: Update a role assignment operationId: updateRoleAssignment responses: "200": { description: OK } delete: summary: Delete a role assignment operationId: deleteRoleAssignment responses: "204": { description: Deleted }