openapi: 3.2.0 info: title: Aembit Cloud Role API version: v1 servers: - url: https://{tenant}.aembit.io variables: tenant: default: tenant description: Aembit Tenant ID security: - {} tags: - name: Role paths: /api/v1/roles: get: tags: - Role summary: Get a page of Roles description: Get a page of Roles. operationId: get-roles parameters: - name: page in: query schema: type: integer format: int32 default: 1 - name: per-page in: query schema: type: integer format: int32 default: 100 - name: filter in: query schema: type: string default: '' - name: order in: query schema: type: string default: '' - name: group-by in: query schema: type: string default: '' responses: '200': description: Page of Roles content: application/json: schema: description: Page of Roles $ref: '#/components/schemas/RoleListDTO' '400': description: Bad Request '401': description: Not Authenticated '500': description: Internal Server Error content: application/json: schema: description: DTO for a Generic API Response $ref: '#/components/schemas/GenericResponseDTO' post: tags: - Role summary: Create a new Role description: Create a new Role. operationId: post-role requestBody: description: RoleDTO content: application/json: schema: description: Individual Role $ref: '#/components/schemas/RoleDTO' responses: '201': description: Created Role content: application/json: schema: description: Individual Role $ref: '#/components/schemas/RoleDTO' '400': description: Bad Request '401': description: Not Authenticated '500': description: Internal Server Error content: application/json: schema: description: DTO for a Generic API Response $ref: '#/components/schemas/GenericResponseDTO' put: tags: - Role summary: Update a Role description: Update a Role. operationId: put-role requestBody: description: RoleDTO content: application/json: schema: description: Individual Role $ref: '#/components/schemas/RoleDTO' responses: '200': description: Updated Role content: application/json: schema: description: Individual Role $ref: '#/components/schemas/RoleDTO' '400': description: Bad Request '401': description: Not Authenticated '500': description: Internal Server Error content: application/json: schema: description: DTO for a Generic API Response $ref: '#/components/schemas/GenericResponseDTO' /api/v1/roles/{id}: get: tags: - Role summary: Get a Role description: Get a Role identified by its ID. operationId: get-role parameters: - name: id in: path description: ID of Role required: true schema: type: string format: uuid responses: '200': description: Role content: application/json: schema: description: Individual Role $ref: '#/components/schemas/RoleDTO' '204': description: Role Not Found '400': description: Bad Request '401': description: Not Authenticated '500': description: Internal Server Error content: application/json: schema: description: DTO for a Generic API Response $ref: '#/components/schemas/GenericResponseDTO' delete: tags: - Role summary: Delete a Role description: Delete a Role identified by its ID. operationId: delete-role parameters: - name: id in: path description: ID of Role required: true schema: type: string format: uuid responses: '204': description: Successfully deleted Role '400': description: Bad Request '401': description: Not Authenticated '500': description: Internal Server Error content: application/json: schema: description: DTO for a Generic API Response $ref: '#/components/schemas/GenericResponseDTO' patch: tags: - Role summary: Patch a Role description: Patch a Role identified by its ID. operationId: patch-role parameters: - name: id in: path description: ID of Role required: true schema: type: string format: uuid requestBody: description: RolePatchDTO content: application/json: schema: description: Patch request for an individual Role $ref: '#/components/schemas/RolePatchDTO' responses: '200': description: Patch Role '400': description: Bad Request '401': description: Not Authenticated '500': description: Internal Server Error content: application/json: schema: description: DTO for a Generic API Response $ref: '#/components/schemas/GenericResponseDTO' components: schemas: ResourceSetDTO: required: - isActive - name type: object properties: externalId: type: string format: uuid name: maxLength: 128 minLength: 1 type: string description: Name of the Entity description: type: - 'null' - string description: Description of the Entity isActive: type: boolean description: True/False value that determines if this entity is Active or Disabled format: boolean tags: type: - 'null' - array items: description: Aembit Entity Tag Details $ref: '#/components/schemas/TagDTO' createdAt: type: string format: date-time modifiedAt: type: - 'null' - string format: date-time createdBy: type: - 'null' - string modifiedBy: type: - 'null' - string serverWorkloadCount: type: - 'null' - integer description: Server Workloads associated with this Resource Set format: int32 clientWorkloadCount: type: - 'null' - integer description: Client Workloads associated with this Resource Set format: int32 accessPolicyCount: type: - 'null' - integer description: Access Policies associated with this Resource Set format: int32 trustProviderCount: type: - 'null' - integer description: Trust Providers associated with this Resource Set format: int32 accessConditionCount: type: - 'null' - integer description: Access Conditions associated with this Resource Set format: int32 credentialProviderCount: type: - 'null' - integer description: Credential Providers associated with this Resource Set format: int32 roles: type: - 'null' - array items: type: string format: uuid description: Roles associated with this Resource Set rolesDetails: type: - 'null' - array items: description: Individual Role $ref: '#/components/schemas/RoleDTO' description: Details of the Roles associated with this Resource Set users: type: - 'null' - array items: type: string description: Users associated with this Resource Set standaloneCertificateAuthority: type: - 'null' - string description: Standalone Certificate Authority associated with this Resource Set format: uuid additionalProperties: false description: Individual Resource Set TagDTO: required: - key - value type: object properties: key: minLength: 1 type: string description: Tag Key value: minLength: 1 type: string description: Tag Key Value additionalProperties: false description: Aembit Entity Tag Details RoleListDTO: type: object properties: page: type: integer description: Page of entities format: int32 perPage: type: integer description: Number of entities requested for the current page format: int32 order: type: - 'null' - string description: Ordering criteria used for the current page statusCode: type: integer description: HTTP Status Code of the response format: int32 recordsTotal: type: integer description: Total number of Roles format: int32 roles: type: - 'null' - array items: description: Individual Role $ref: '#/components/schemas/RoleDTO' description: Page of Roles additionalProperties: false description: Page of Roles PermissionDTO: type: object properties: name: type: - 'null' - string description: Name of the Permission Target read: type: boolean description: True if this permission allows access to Read the Permission Target, False otherwise write: type: boolean description: True if this permission allows access to Write the Permission Target, False otherwise isWritable: type: boolean description: True if this permission allows access to Write the Permission Target, False otherwise isReadable: type: boolean description: True if this permission allows access to Read the Permission Target, False otherwise accessLevel: type: - 'null' - string description: Description of the Permission level readOnly: true additionalProperties: false description: Individual Permission details RolePatchDTO: type: object properties: name: maxLength: 128 type: - 'null' - string description: New Name for the identified entity description: type: - 'null' - string description: New Description for the identified entity isActive: type: - 'null' - boolean description: New Status for the identified entity format: boolean tags: type: - 'null' - array items: description: Aembit Entity Tag Details $ref: '#/components/schemas/TagDTO' description: New Tags for the identified entity additionalProperties: false description: Patch request for an individual Role RoleDTO: required: - isActive - name type: object properties: externalId: type: string format: uuid name: maxLength: 128 minLength: 1 type: string description: Name of the Entity description: type: - 'null' - string description: Description of the Entity isActive: type: boolean description: True/False value that determines if this entity is Active or Disabled format: boolean tags: type: - 'null' - array items: description: Aembit Entity Tag Details $ref: '#/components/schemas/TagDTO' createdAt: type: string format: date-time modifiedAt: type: - 'null' - string format: date-time createdBy: type: - 'null' - string modifiedBy: type: - 'null' - string usersCount: type: integer description: Number of Users associated with this Role format: int32 credentialProvidersCount: type: integer description: Number of Credential Providers associated with this Role format: int32 isSystem: type: boolean description: True if this is a system included Role (e.g. SuperAdmin or Auditor) permissions: type: - 'null' - array items: description: Individual Permission details $ref: '#/components/schemas/PermissionDTO' description: Permissions assigned to this Role resourceSets: type: - 'null' - array items: description: Individual Resource Set $ref: '#/components/schemas/ResourceSetDTO' description: Resource Sets assigned to this Role additionalProperties: false description: Individual Role GenericResponseDTO: type: object properties: success: type: boolean description: True if the API call was successful, False otherwise message: type: - 'null' - string description: Message to indicate why the API call failed id: type: integer description: Unique identifier of the API response format: int32 additionalProperties: false description: DTO for a Generic API Response securitySchemes: bearerAuth: type: http description: Authorization header using the Bearer scheme. scheme: bearer bearerFormat: Reference