openapi: 3.1.0 info: title: Credentially Public Compliance-packages Profile Groups API description: Public API Proxy with Rate Limiting and Audit version: 2.0.0 servers: - url: https://app.credentially.io/gateway description: Generated server url tags: - name: Profile Groups description: Organisation groups proxy endpoints paths: /api/profile/groups: get: tags: - Profile Groups summary: Load Organisation Groups description: 'Fetches all existing organisation groups and returns their id and name. **Rate Limit:** `profile-groups-load` (100 req / 1s)' operationId: loadAllGroups parameters: - name: X-API-Version in: header schema: type: string default: 2.0.0 enum: - 2.0.0 responses: '200': description: Groups loaded content: '*/*': schema: type: array items: $ref: '#/components/schemas/OrganisationGroupDto' '500': description: Internal server error '429': description: Too many requests - the rate limit for this endpoint has been exceeded. Use the Retry-After header to determine when to retry. headers: Retry-After: description: Number of seconds to wait before retrying the request. schema: type: integer format: int32 example: 1 security: - bearer-key: [] post: tags: - Profile Groups summary: Create Organisation Group description: 'Creates a new organisation group. **Rate Limit:** `profile-groups-load` (100 req / 1s)' operationId: createGroup parameters: - name: X-API-Version in: header schema: type: string default: 2.0.0 enum: - 2.0.0 requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOrganisationGroupRequestDto' required: true responses: '201': description: Group created content: '*/*': schema: $ref: '#/components/schemas/OrganisationGroupDto' '500': description: Internal server error '429': description: Too many requests - the rate limit for this endpoint has been exceeded. Use the Retry-After header to determine when to retry. headers: Retry-After: description: Number of seconds to wait before retrying the request. schema: type: integer format: int32 example: 1 security: - bearer-key: [] /api/profile/groups/{groupPublicId}: delete: tags: - Profile Groups summary: Delete Organisation Group description: 'Deletes an organisation group by public id. **Rate Limit:** `profile-groups-delete` (25 req / 1s)' operationId: deleteGroup parameters: - name: groupPublicId in: path required: true schema: type: string - name: X-API-Version in: header schema: type: string default: 2.0.0 enum: - 2.0.0 responses: '204': description: Group deleted '500': description: Internal server error '429': description: Too many requests - the rate limit for this endpoint has been exceeded. Use the Retry-After header to determine when to retry. headers: Retry-After: description: Number of seconds to wait before retrying the request. schema: type: integer format: int32 example: 1 security: - bearer-key: [] patch: tags: - Profile Groups summary: Update Organisation Group description: 'Updates an existing organisation group. **Rate Limit:** `profile-groups-delete` (25 req / 1s)' operationId: updateGroup parameters: - name: groupPublicId in: path required: true schema: type: string - name: X-API-Version in: header schema: type: string default: 2.0.0 enum: - 2.0.0 requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateOrganisationGroupRequestDto' required: true responses: '200': description: Group updated content: '*/*': schema: $ref: '#/components/schemas/OrganisationGroupDto' '500': description: Internal server error '429': description: Too many requests - the rate limit for this endpoint has been exceeded. Use the Retry-After header to determine when to retry. headers: Retry-After: description: Number of seconds to wait before retrying the request. schema: type: integer format: int32 example: 1 security: - bearer-key: [] components: schemas: UpdateOrganisationGroupRequestDto: type: object properties: name: type: string tags: type: array items: type: string CreateOrganisationGroupRequestDto: type: object properties: name: type: string tags: type: array items: type: string OrganisationGroupDto: type: object properties: id: type: string name: type: string securitySchemes: bearer-key: type: http scheme: bearer bearerFormat: JWT