diff --git a/static/api-specs/idn/sailpoint-api.v3.yaml b/static/api-specs/idn/sailpoint-api.v3.yaml index 94c588820..802af8822 100644 --- a/static/api-specs/idn/sailpoint-api.v3.yaml +++ b/static/api-specs/idn/sailpoint-api.v3.yaml @@ -783,6 +783,8 @@ paths: $ref: './v3/paths/campaigns.yaml' /campaigns/{id}: $ref: './v3/paths/campaign.yaml' + /campaigns/{id}/reassign: + $ref: './v3/paths/campaign-admin-cert-reassign.yaml' /certifications: $ref: "./v3/paths/identity-certifications.yaml" /certifications/{id}: diff --git a/static/api-specs/idn/v3/paths/campaign-admin-cert-reassign.yaml b/static/api-specs/idn/v3/paths/campaign-admin-cert-reassign.yaml new file mode 100644 index 000000000..769f083bf --- /dev/null +++ b/static/api-specs/idn/v3/paths/campaign-admin-cert-reassign.yaml @@ -0,0 +1,51 @@ +post: + security: + - oauth2: [idn:certification:write] + operationId: move + tags: + - Certification Campaigns + summary: Reassign Certifications + description: >- + This API reassigns the specified certifications from one identity to another. A token with ORG_ADMIN or CERT_ADMIN + authority is required to call this API. + parameters: + - in: path + name: id + schema: + type: string + required: true + description: The certification campaign ID + example: ef38f94347e94562b5bb8424a56397d8 + requestBody: + required: true + content: + application/json: + schema: + $ref: '../schemas/AdminReviewReassign.yaml' + responses: + '202': + description: The reassign task that has been submitted. + content: + application/json: + schema: + $ref: '../schemas/CertificationTask.yaml' + example: + id: 2c918086719eec070171a7e3355a360a + type: ADMIN_REASSIGN + targetType: CAMPAIGN + targetId: 2c918086719eec070171a7e3355a834c + status: QUEUED + errors: [] + created: '2020-09-24T18:10:47.693Z' + '400': + $ref: '../responses/400.yaml' + '401': + $ref: '../responses/401.yaml' + '403': + $ref: '../responses/403.yaml' + '404': + $ref: '../responses/404.yaml' + '429': + $ref: '../responses/429.yaml' + '500': + $ref: '../responses/500.yaml' diff --git a/static/api-specs/idn/v3/schemas/AdminReviewReassign.yaml b/static/api-specs/idn/v3/schemas/AdminReviewReassign.yaml new file mode 100644 index 000000000..f7048ee3f --- /dev/null +++ b/static/api-specs/idn/v3/schemas/AdminReviewReassign.yaml @@ -0,0 +1,27 @@ +type: object +properties: + certificationIds: + description: List of certification IDs to reassign + type: array + items: + type: string + minItems: 1 + maxItems: 250 + example: ['af3859464779471211bb8424a563abc1','af3859464779471211bb8424a563abc2','af3859464779471211bb8424a563abc3'] + reassignTo: + type: object + properties: + id: + type: string + description: The identity ID to which the review is being assigned. + example: ef38f94347e94562b5bb8424a56397d8 + type: + type: string + description: The type of the ID provided. + enum: + - IDENTITY + example: IDENTITY + reason: + type: string + description: Comment to explain why the certification was reassigned + example: 'reassigned for some reason' diff --git a/static/api-specs/idn/v3/schemas/CertificationTask.yaml b/static/api-specs/idn/v3/schemas/CertificationTask.yaml new file mode 100644 index 000000000..e111c620a --- /dev/null +++ b/static/api-specs/idn/v3/schemas/CertificationTask.yaml @@ -0,0 +1,50 @@ +type: object +properties: + id: + type: string + description: The ID of the certification task. + example: 2c918086719eec070171a7e3355a360a + type: + type: string + description: The type of the certification task. More values may be added in the future. + enum: + - REASSIGN + - ADMIN_REASSIGN + - COMPLETE_CERTIFICATION + - FINISH_CERTIFICATION + - COMPLETE_CAMPAIGN + - ACTIVATE_CAMPAIGN + - CAMPAIGN_CREATE + - CAMPAIGN_DELETE + example: ADMIN_REASSIGN + targetType: + type: string + description: The type of item that is being operated on by this task whose ID is stored in the targetId field. + enum: + - CERTIFICATION + - CAMPAIGN + example: CAMPAIGN + targetId: + type: string + description: The ID of the item being operated on by this task. + example: 2c918086719eec070171a7e3355a834c + status: + type: string + description: The status of the task. + enum: + - QUEUED + - IN_PROGRESS + - SUCCESS + - ERROR + example: QUEUED + errors: + $ref: './ErrorMessageDtoList.yaml' + description: A list of errors that have been encountered by the task. + reassignmentTrailDTOs: + $ref: './ReassignmentTrailDTOList.yaml' + description: Reassignment trails that lead to self certification identity + created: + type: string + description: The date and time on which this task was created. + format: date-time + example: '2020-09-24T18:10:47.693Z' diff --git a/static/api-specs/idn/v3/schemas/ReassignmentTrailDTO.yaml b/static/api-specs/idn/v3/schemas/ReassignmentTrailDTO.yaml new file mode 100644 index 000000000..a5702d4a5 --- /dev/null +++ b/static/api-specs/idn/v3/schemas/ReassignmentTrailDTO.yaml @@ -0,0 +1,14 @@ +type: object +properties: + previousOwner: + type: string + description: The ID of previous owner identity. + example: ef38f94347e94562b5bb8424a56397d8 + newOwner: + type: string + description: The ID of new owner identity. + example: ef38f94347e94562b5bb8424a56397a3 + reassignmentType: + type: string + description: The type of reassignment. + example: AUTOMATIC_REASSIGNMENT diff --git a/static/api-specs/idn/v3/schemas/ReassignmentTrailDTOList.yaml b/static/api-specs/idn/v3/schemas/ReassignmentTrailDTOList.yaml new file mode 100644 index 000000000..758ef9727 --- /dev/null +++ b/static/api-specs/idn/v3/schemas/ReassignmentTrailDTOList.yaml @@ -0,0 +1,9 @@ +type: array +items: + $ref: './ReassignmentTrailDTO.yaml' +description: Reassignment trails that lead to self certification identity +example: { + "previousOwner":"ef38f94347e94562b5bb8424a56397d8", + "newOwner": "ef38f94347e94562b5bb8424a56397a3", + "reassignmentType": "AUTOMATIC_REASSIGNMENT" + }