openapi: 3.0.1 info: title: Catchpoint REST API v2.0 Account UserRole API version: '2.0' servers: - url: /api tags: - name: UserRole paths: /v2/userroles/{userRoleIds}: get: tags: - UserRole summary: Return user role details by the IDs passed. parameters: - name: userRoleIds in: path description: Comma-separated list of user role IDs required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' text/plain: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' text/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' security: - bearer: [] order: 1 /v2/userroles: get: tags: - UserRole summary: Return user role details by the Parameters passed parameters: - name: divisionIds in: query description: Comma-separated list of Division IDs schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' text/plain: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' text/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' security: - bearer: [] order: 2 post: tags: - UserRole summary: Create a new User Role based on the PostData. parameters: - name: objectDetails in: query description: '' schema: type: boolean requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.UserRole.UserRoleAPIModel' application/json-patch+json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.UserRole.UserRoleAPIModel' text/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.UserRole.UserRoleAPIModel' application/*+json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.UserRole.UserRoleAPIModel' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' text/plain: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' text/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' security: - bearer: [] order: 3 delete: tags: - UserRole summary: Delete existing User Roles by Ids. parameters: - name: ids in: query description: To delete User Roles based on the specified list of IDs, the IDs need to be separated by commas. This endpoint allows partial deletion; if you provide a list of five IDs and only three of them are valid, then it will delete those three User Roles. The response will indicate the three that were deleted, and the two invalid IDs will be listed as errors. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' text/plain: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' text/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' security: - bearer: [] order: 5 /v2/userroles/{userRoleId}: patch: tags: - UserRole summary: Update an existing User Role based on the request body. description: "**Request:**\r\n \r\nOnly the property to be updated can be passed in the request body instead of the whole object. The update request body requires a total of three keys to be filled with appropriate value as listed below:\r\n* **value** – The value property provides the new value.\r\n \r\n* **path** – The path property indicates the element to update. The entire path with slashes needs to be provided here. Example: /status/id\r\n \r\n* **op** – The op property indicates the type of operation; we support the following three operations.\r\n \r\n * **add** - Add a property or array element. For existing property: set value.\r\n \r\n * **Remove** - Remove a property or array element.\r\n \r\n * **replace** - Same as remove followed by add at same location.\r\n \r\n* **from** - [Not Used]\r\n \r\n * **Explanation** - The \"from\" parameter represents the starting or current value of the resource that the operation intends to modify. The from parameter is included in the example value schema but is not utilized in this endpoint's functionality. It is reserved for potential future use or could be used in specific scenarios not covered by the current implementation." parameters: - name: userRoleId in: path description: User Role Id required: true schema: type: integer format: int32 - name: objectDetails in: query description: '' schema: type: boolean requestBody: description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/Microsoft.AspNetCore.JsonPatch.Operations.Operation' application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Microsoft.AspNetCore.JsonPatch.Operations.Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Microsoft.AspNetCore.JsonPatch.Operations.Operation' application/*+json: schema: type: array items: $ref: '#/components/schemas/Microsoft.AspNetCore.JsonPatch.Operations.Operation' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' text/plain: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' text/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel]' security: - bearer: [] order: 4 components: schemas: Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel: type: object properties: userRoles: type: array items: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.UserRole.UserRoleAPIModel' nullable: true userRole: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.UserRole.UserRoleAPIModel' id: type: integer format: int32 nullable: true deletedUserRoles: type: string nullable: true hasMore: type: boolean nullable: true next: type: string nullable: true previous: type: string nullable: true additionalProperties: false Catchpoint.Symphony.REST.Api.ApiUsageStatistics: type: object properties: clientId: type: integer format: int64 lastRequestTimestamp: type: string format: date-time limits: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.Limit' runs: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.Limit' exceededMessage: type: string nullable: true readOnly: true divisionUsageStatistics: type: array items: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.DivisionUsageStatistics' nullable: true additionalProperties: false Catchpoint.Symphony.REST.Api.DivisionUsageStatistics: type: object properties: divisionId: type: integer format: int32 consumerStatistics: type: array items: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.ConsumerStatistics' nullable: true additionalProperties: false Catchpoint.Symphony.REST.Common.Models.PatchIgnoredPath: type: object properties: ops: type: string nullable: true path: type: string nullable: true additionalProperties: false Catchpoint.Symphony.REST.Common.Response.v2_0.UserRole.UserRolePermissionAPIModel: type: object properties: id: type: integer format: int32 permissionId: type: integer format: int32 name: type: string nullable: true permissionOptions: type: array items: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.UserRole.UserRolePermissionOptionAPIModel' nullable: true additionalProperties: false Catchpoint.Symphony.REST.Api.Limit: type: object properties: minute: type: integer format: int32 hour: type: integer format: int32 day: type: integer format: int32 additionalProperties: false Catchpoint.Symphony.ViewModels.EnumLookupModel`1[System.Int32]: type: object properties: id: type: integer format: int32 name: type: string nullable: true additionalProperties: false Catchpoint.Symphony.REST.Common.Response.v2_0.UserRole.UserRoleAPIModel: type: object properties: id: type: integer format: int32 name: type: string nullable: true divisionName: type: string nullable: true levelType: $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.EnumLookupModel`1[System.Int32]' levelId: type: integer format: int32 nullable: true inActiveContacts: type: integer format: int32 nullable: true activeContacts: type: integer format: int32 nullable: true permissions: type: array items: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.UserRole.UserRolePermissionAPIModel' nullable: true additionalProperties: false Catchpoint.Symphony.REST.Common.Models.InfoMessage: type: object properties: information: type: string nullable: true ignoredPath: type: array items: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Models.PatchIgnoredPath' nullable: true additionalProperties: false ? Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel] : type: object properties: data: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.UserRoleResponseModel' messages: type: array items: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Models.InfoMessage' nullable: true errors: type: array items: $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.MessageModel' nullable: true completed: type: boolean readOnly: true traceId: type: string nullable: true usageLimits: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.ApiUsageStatistics' additionalProperties: false Catchpoint.Symphony.REST.Common.Response.v2_0.UserRole.UserRolePermissionOptionAPIModel: type: object properties: name: type: string nullable: true isEnabled: type: boolean id: type: integer format: int64 additionalProperties: false Microsoft.AspNetCore.JsonPatch.Operations.Operation: type: object properties: value: nullable: true path: type: string nullable: true op: type: string nullable: true from: type: string nullable: true additionalProperties: false Catchpoint.Symphony.REST.Api.ConsumerStatistics: type: object properties: consumerId: type: integer format: int32 requestCount: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.Limit' maxPerDay: type: integer format: int32 nullable: true additionalProperties: false Catchpoint.Symphony.ViewModels.MessageModel: type: object properties: id: type: string nullable: true message: type: string nullable: true additionalProperties: false securitySchemes: bearer: type: http scheme: bearer bearerFormat: JWT