openapi: 3.2.0 info: title: 7SIGNAL Roles API description: This is the 7SIGNAL public API for interacting with the 7SIGNAL Platform version: 2.21.1 contact: email: info@7signal.com license: name: All Rights Reserved url: https://www.7signal.com/contact servers: - url: https://api-v2.7signal.com description: 7SIGNAL API Gateway (production) tags: - name: Roles paths: /roles: get: operationId: roles-get-a7b8 tags: - Roles summary: List all accessible Roles parameters: - name: ids in: query required: false schema: type: array items: type: string format: uuid default: [] - name: keys in: query required: false schema: type: array items: type: string default: [] - name: isPublic in: query required: false schema: type: boolean - $ref: '#/components/parameters/metadata.PageRequestParam' - $ref: '#/components/parameters/common.PerPageRequestParam' - $ref: '#/components/parameters/common.SortOrderParam' - $ref: '#/components/parameters/common.SortFieldParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/metadata.PageModelRole' '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] /roles/{roleId}: get: operationId: roles-with-id-get-c9d0 tags: - Roles summary: List the specific Role identified by its UUID parameters: - name: roleId in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/metadata.RoleResponse' '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] components: responses: common.400BadRequestResponse: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/common.ResponseStatusException' common.404NotFoundResponse: description: Resource Not Found content: application/json: schema: $ref: '#/components/schemas/common.ResponseStatusException' schemas: common.ResponseStatusException: type: object required: - timestamp - status - error - path - requestId properties: timestamp: type: string format: date-time status: type: integer error: type: string message: type: string path: type: string requestId: type: string metadata.PageModelRole: type: object properties: results: type: array items: $ref: '#/components/schemas/metadata.Role' pagination: $ref: '#/components/schemas/metadata.Pagination' metadata.RoleResponse: type: object properties: id: type: string format: uuid key: type: string description: type: string auth0Id: type: string isPublic: type: boolean permissions: type: array items: $ref: '#/components/schemas/metadata.Permission' metadata.Role: required: - auth0Id type: object properties: id: type: string format: uuid key: type: string description: type: string auth0Id: type: string isPublic: type: boolean metadata.Pagination: type: object properties: perPage: type: integer format: int32 page: type: integer format: int32 minimum: 0 description: The current page number. The first page is supposed to be 1, but some endpoints mistakenly treat the first page as 0. This is a known issue and will be fixed in the next major API release. total: type: integer format: int64 pages: type: integer format: int32 metadata.Permission: type: object properties: id: type: string format: uuid key: type: string description: type: string isPublic: type: boolean parameters: common.SortOrderParam: name: order in: query description: Sort order required: false schema: type: string enum: - asc - desc metadata.PageRequestParam: name: page in: query description: Fetch a particular page of data. The first page is supposed to be 1, but some endpoints mistakenly treat the first page as 0. This is a known issue and will be fixed in the next major API release. required: false schema: type: integer minimum: 0 common.PerPageRequestParam: name: perPage in: query description: Fetch a specific number of records per page required: false schema: type: integer common.SortFieldParam: name: sortField in: query description: The field on which to sort the results required: false schema: type: string securitySchemes: oauth2: type: oauth2 flows: clientCredentials: tokenUrl: /oauth2/token scopes: {}