diff --git a/static/api-specs/idn/sailpoint-api.v3.yaml b/static/api-specs/idn/sailpoint-api.v3.yaml index 9442545d3..2190f39c2 100644 --- a/static/api-specs/idn/sailpoint-api.v3.yaml +++ b/static/api-specs/idn/sailpoint-api.v3.yaml @@ -856,6 +856,8 @@ paths: $ref: './v3/paths/sod-policies.yaml' /sod-policies/{id}: $ref: './v3/paths/sod-policy.yaml' + /sod-policies/{id}/schedule: + $ref: './v3/paths/sod-schedule.yaml' /sources: $ref: "./v3/paths/sources.yaml" /sources/{id}: diff --git a/static/api-specs/idn/v3/paths/sod-policies.yaml b/static/api-specs/idn/v3/paths/sod-policies.yaml index fc07e2b47..68e269050 100644 --- a/static/api-specs/idn/v3/paths/sod-policies.yaml +++ b/static/api-specs/idn/v3/paths/sod-policies.yaml @@ -5,8 +5,6 @@ post: tags: - SOD Policy summary: Create SOD policy - # security: - # - oauth2: [ORG_ADMIN] description: >- This creates both General and Conflicting Access Based policy, with a limit of 50 entitlements for each (left & right) criteria for Conflicting Access @@ -238,8 +236,6 @@ get: tags: - SOD Policy summary: List SOD policies - # security: - # - oauth2: [ORG_ADMIN] description: >- This gets list of all SOD policies. diff --git a/static/api-specs/idn/v3/paths/sod-schedule.yaml b/static/api-specs/idn/v3/paths/sod-schedule.yaml new file mode 100644 index 000000000..8cc7f0a0f --- /dev/null +++ b/static/api-specs/idn/v3/paths/sod-schedule.yaml @@ -0,0 +1,106 @@ +get: + security: + - oauth2: [idn:sod-policy:read] + operationId: getSodPolicySchedule + tags: + - SOD Policy + summary: Get SOD policy schedule + description: >- + This endpoint gets a specified SOD policy's schedule. + parameters: + - in: path + name: id + schema: + type: string + required: true + description: The ID of the SOD policy schedule to retrieve. + example: ef38f943-47e9-4562-b5bb-8424a56397d8 + responses: + '200': + description: SOD policy schedule. + content: + application/json: + schema: + $ref: '../schemas/SodPolicySchedule.yaml' + '400': + $ref: '../../v3/responses/400.yaml' + '401': + $ref: '../../v3/responses/401.yaml' + '403': + $ref: '../../v3/responses/403.yaml' + '429': + $ref: '../../v3/responses/429.yaml' + '500': + $ref: '../../v3/responses/500.yaml' +put: + security: + - oauth2: [idn:sod-policy:write] + operationId: setPolicySchedule + tags: + - SOD Policy + summary: Update SOD Policy schedule + description: >- + This updates schedule for a specified SOD policy. + parameters: + - in: path + name: id + schema: + type: string + required: true + description: The ID of the SOD policy to update its schedule. + example: ef38f943-47e9-4562-b5bb-8424a56397d8 + requestBody: + required: true + content: + application/json: + schema: + $ref: '../schemas/SodPolicySchedule.yaml' + responses: + '200': + description: Created or updated SOD policy schedule. + content: + application/json: + schema: + $ref: '../schemas/SodPolicySchedule.yaml' + '400': + $ref: '../../v3/responses/400.yaml' + '401': + $ref: '../../v3/responses/401.yaml' + '403': + $ref: '../../v3/responses/403.yaml' + '429': + $ref: '../../v3/responses/429.yaml' + '500': + $ref: '../../v3/responses/500.yaml' +delete: + security: + - oauth2: [idn:sod-policy:write] + operationId: deleteSodPolicySchedule + tags: + - SOD Policy + summary: Delete SOD policy schedule + description: >- + This deletes schedule for a specified SOD policy by ID. + parameters: + - in: path + name: id + schema: + type: string + required: true + description: The ID of the SOD policy the schedule must be deleted for. + example: ef38f943-47e9-4562-b5bb-8424a56397d8 + responses: + '204': + description: No content response. + '400': + $ref: '../../v3/responses/400.yaml' + '401': + $ref: '../../v3/responses/401.yaml' + '403': + $ref: '../../v3/responses/403.yaml' + '404': + $ref: '../../v3/responses/404.yaml' + '429': + $ref: '../../v3/responses/429.yaml' + '500': + $ref: '../../v3/responses/500.yaml' diff --git a/static/api-specs/idn/v3/schemas/SodPolicySchedule.yaml b/static/api-specs/idn/v3/schemas/SodPolicySchedule.yaml new file mode 100644 index 000000000..e5b20e6a9 --- /dev/null +++ b/static/api-specs/idn/v3/schemas/SodPolicySchedule.yaml @@ -0,0 +1,43 @@ +type: object +properties: + name: + type: string + description: SOD Policy schedule name + example: 'SCH-1584312283015' + created: + type: string + format: date-time + description: The time when this SOD policy schedule is created. + example: "2020-01-01T00:00:00.000000Z" + readOnly: true + modified: + type: string + format: date-time + description: The time when this SOD policy schedule is modified. + example: "2020-01-01T00:00:00.000000Z" + readOnly: true + description: + type: string + description: SOD Policy schedule description + example: 'Schedule for policy xyz' + schedule: + $ref: '../../v3/schemas/schedule/Schedule.yaml' + recipients: + type: array + items: + $ref: '../../v3/schemas/BaseReferenceDto.yaml' + emailEmptyResults: + type: boolean + description: Indicates if empty results need to be emailed + example: false + default: false + creatorId: + type: string + description: Policy's creator ID + example: "0f11f2a47c944bf3a2bd742580fe3bde" + readOnly: true + modifierId: + type: string + description: Policy's modifier ID + example: "0f11f2a47c944bf3a2bd742580fe3bde" + readOnly: true