openapi: 3.1.0 info: title: Bulk Authentication Skills API description: '' version: 1.0.0 contact: {} servers: - url: https://app.360learning.com description: Production EU - url: https://app.us.360learning.com description: Production US tags: - name: Skills paths: /api/v2/bulk/skills/reviews: post: description: '> ๐Ÿ”‘ > > Required OAuth scope: `skillsPowers:bulk`. > ๐Ÿšœ > > This endpoint processes up to 10,000 objects asynchronously. For more information, see the [Bulk operations guide](doc:bulk-operations-1). Adds multiple skill reviews. - Reviews are related to three kind of actions: ''skill added'', ''skill assessed'', ''skill deleted''. - In the ''skill assessed'' case, the assessment is automatically validated if the assessor is a manager of the user. Upon submission, the request is queued. Use the provided URL in the response header to check the status of the bulk operation.' operationId: v2.bulk.skills.AddSkillReviewsController_addSkillReviews parameters: - name: 360-api-version in: header description: The version of the API. required: true schema: type: string enum: - v2.0 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddSkillReviewsBody' responses: '202': description: The operation is successfully created. headers: Location: schema: type: string description: 'The URL to retrieve the status of the bulk operation using its operation ID. Example: `https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011`.' example: https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011 '400': description: The server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: oneOf: - description: The input of a bulk operation must be an array. title: Invalid Input type: object properties: error: type: object properties: code: type: string enum: - invalidInput message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The input array size exceeds the maximum limit of 10,000 objects. title: Input Too Long type: object properties: error: type: object properties: code: type: string enum: - inputTooLong message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The skill solution is not enabled. title: Skill Solution Not Enabled type: object properties: error: type: object properties: code: type: string enum: - skillSolutionNotEnabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '401': description: The given access token is either missing, invalid, has expired, or has been revoked. content: application/json: schema: type: object properties: error: type: string enum: - invalid_token required: - error '403': description: The given access token does not have the required OAuth scope to execute the request. content: application/json: schema: title: Invalid Scope type: object properties: error: type: object properties: code: type: string enum: - invalid_scope message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '429': description: The maximum number of concurrent operations has been reached. content: application/json: schema: title: Bulk Operations Concurrency Limit Reached type: object properties: error: type: object properties: code: type: string enum: - bulkOperationsConcurrencyLimitReached message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '503': description: The bulk API is temporarily disabled. content: application/json: schema: title: Bulk API Disabled type: object properties: error: type: object properties: code: type: string enum: - bulkAPIDisabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error security: - oauth2: [] summary: Add skill reviews tags: - Skills /api/v2/bulk/skills/jobs: delete: description: '> ๐Ÿ”‘ > > Required OAuth scope: `skillsJobs:bulk`. > ๐Ÿšœ > > This endpoint processes up to 10,000 objects asynchronously. For more information, see the [Bulk operations guide](doc:bulk-operations-1). Deletes jobs based on the given `externalId`. Upon submission, the request is queued. Use the provided URL in the response header to check the status of the bulk operation.' operationId: v2.bulk.skills.DeleteJobsController_deleteJobs parameters: - name: 360-api-version in: header description: The version of the API. required: true schema: type: string enum: - v2.0 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DeleteJobsBody' responses: '202': description: The operation is successfully created. headers: Location: schema: type: string description: 'The URL to retrieve the status of the bulk operation using its operation ID. Example: `https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011`.' example: https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011 '400': description: The server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: oneOf: - description: The input of a bulk operation must be an array. title: Invalid Input type: object properties: error: type: object properties: code: type: string enum: - invalidInput message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The input array size exceeds the maximum limit of 10,000 objects. title: Input Too Long type: object properties: error: type: object properties: code: type: string enum: - inputTooLong message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The skill solution is not enabled. title: Skill Solution Not Enabled type: object properties: error: type: object properties: code: type: string enum: - skillSolutionNotEnabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '401': description: The given access token is either missing, invalid, has expired, or has been revoked. content: application/json: schema: type: object properties: error: type: string enum: - invalid_token required: - error '403': description: The given access token does not have the required OAuth scope to execute the request. content: application/json: schema: title: Invalid Scope type: object properties: error: type: object properties: code: type: string enum: - invalid_scope message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '429': description: The maximum number of concurrent operations has been reached. content: application/json: schema: title: Bulk Operations Concurrency Limit Reached type: object properties: error: type: object properties: code: type: string enum: - bulkOperationsConcurrencyLimitReached message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '503': description: The bulk API is temporarily disabled. content: application/json: schema: title: Bulk API Disabled type: object properties: error: type: object properties: code: type: string enum: - bulkAPIDisabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error security: - oauth2: [] summary: Delete jobs tags: - Skills put: description: '> ๐Ÿ”‘ > > Required OAuth scope: `skillsJobs:bulk`. > ๐Ÿšœ > > This endpoint processes up to 10,000 objects asynchronously. For more information, see the [Bulk operations guide](doc:bulk-operations-1). Adds or replaces multiple jobs based on the given `externalId`. - If a provided `externalId` matches an existing job, the job is replaced with the new data. - If no match is found, a new job is created. Upon submission, the request is queued. Use the provided URL in the response header to check the status of the bulk operation.' operationId: v2.bulk.skills.UpsertJobsController_upsertJobs parameters: - name: 360-api-version in: header description: The version of the API. required: true schema: type: string enum: - v2.0 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpsertJobsBody' responses: '202': description: The operation is successfully created. headers: Location: schema: type: string description: 'The URL to retrieve the status of the bulk operation using its operation ID. Example: `https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011`.' example: https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011 '400': description: The server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: oneOf: - description: The input of a bulk operation must be an array. title: Invalid Input type: object properties: error: type: object properties: code: type: string enum: - invalidInput message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The input array size exceeds the maximum limit of 10,000 objects. title: Input Too Long type: object properties: error: type: object properties: code: type: string enum: - inputTooLong message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The skill solution is not enabled. title: Skill Solution Not Enabled type: object properties: error: type: object properties: code: type: string enum: - skillSolutionNotEnabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '401': description: The given access token is either missing, invalid, has expired, or has been revoked. content: application/json: schema: type: object properties: error: type: string enum: - invalid_token required: - error '403': description: The given access token does not have the required OAuth scope to execute the request. content: application/json: schema: title: Invalid Scope type: object properties: error: type: object properties: code: type: string enum: - invalid_scope message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '429': description: The maximum number of concurrent operations has been reached. content: application/json: schema: title: Bulk Operations Concurrency Limit Reached type: object properties: error: type: object properties: code: type: string enum: - bulkOperationsConcurrencyLimitReached message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '503': description: The bulk API is temporarily disabled. content: application/json: schema: title: Bulk API Disabled type: object properties: error: type: object properties: code: type: string enum: - bulkAPIDisabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error security: - oauth2: [] summary: Upsert jobs tags: - Skills /api/v2/bulk/skills/libraries: delete: description: '> ๐Ÿ”‘ > > Required OAuth scope: `skillsLibraries:bulk`. > ๐Ÿšœ > > This endpoint processes up to 10,000 objects asynchronously. For more information, see the [Bulk operations guide](doc:bulk-operations-1). Deletes libraries based on the given `externalId`. Upon submission, the request is queued. Use the provided URL in the response header to check the status of the bulk operation.' operationId: v2.bulk.skills.DeleteLibrariesController_deleteLibraries parameters: - name: 360-api-version in: header description: The version of the API. required: true schema: type: string enum: - v2.0 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DeleteLibrariesBody' responses: '202': description: The operation is successfully created. headers: Location: schema: type: string description: 'The URL to retrieve the status of the bulk operation using its operation ID. Example: `https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011`.' example: https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011 '400': description: The server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: oneOf: - description: The input of a bulk operation must be an array. title: Invalid Input type: object properties: error: type: object properties: code: type: string enum: - invalidInput message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The input array size exceeds the maximum limit of 10,000 objects. title: Input Too Long type: object properties: error: type: object properties: code: type: string enum: - inputTooLong message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The skill solution is not enabled. title: Skill Solution Not Enabled type: object properties: error: type: object properties: code: type: string enum: - skillSolutionNotEnabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '401': description: The given access token is either missing, invalid, has expired, or has been revoked. content: application/json: schema: type: object properties: error: type: string enum: - invalid_token required: - error '403': description: The given access token does not have the required OAuth scope to execute the request. content: application/json: schema: title: Invalid Scope type: object properties: error: type: object properties: code: type: string enum: - invalid_scope message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '429': description: The maximum number of concurrent operations has been reached. content: application/json: schema: title: Bulk Operations Concurrency Limit Reached type: object properties: error: type: object properties: code: type: string enum: - bulkOperationsConcurrencyLimitReached message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '503': description: The bulk API is temporarily disabled. content: application/json: schema: title: Bulk API Disabled type: object properties: error: type: object properties: code: type: string enum: - bulkAPIDisabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error security: - oauth2: [] summary: Delete libraries tags: - Skills put: description: '> ๐Ÿ”‘ > > Required OAuth scope: `skillsLibraries:bulk`. > ๐Ÿšœ > > This endpoint processes up to 10,000 objects asynchronously. For more information, see the [Bulk operations guide](doc:bulk-operations-1). Adds or replaces multiple libraries based on the given `externalId`. - If a provided `externalId` matches an existing library, the library is replaced with the new data. - If no match is found, a new library is created. Upon submission, the request is queued. Use the provided URL in the response header to check the status of the bulk operation.' operationId: v2.bulk.skills.UpsertLibrariesController_upsertLibraries parameters: - name: 360-api-version in: header description: The version of the API. required: true schema: type: string enum: - v2.0 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpsertLibrariesBody' responses: '202': description: The operation is successfully created. headers: Location: schema: type: string description: 'The URL to retrieve the status of the bulk operation using its operation ID. Example: `https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011`.' example: https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011 '400': description: The server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: oneOf: - description: The input of a bulk operation must be an array. title: Invalid Input type: object properties: error: type: object properties: code: type: string enum: - invalidInput message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The input array size exceeds the maximum limit of 10,000 objects. title: Input Too Long type: object properties: error: type: object properties: code: type: string enum: - inputTooLong message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The skill solution is not enabled. title: Skill Solution Not Enabled type: object properties: error: type: object properties: code: type: string enum: - skillSolutionNotEnabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '401': description: The given access token is either missing, invalid, has expired, or has been revoked. content: application/json: schema: type: object properties: error: type: string enum: - invalid_token required: - error '403': description: The given access token does not have the required OAuth scope to execute the request. content: application/json: schema: title: Invalid Scope type: object properties: error: type: object properties: code: type: string enum: - invalid_scope message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '429': description: The maximum number of concurrent operations has been reached. content: application/json: schema: title: Bulk Operations Concurrency Limit Reached type: object properties: error: type: object properties: code: type: string enum: - bulkOperationsConcurrencyLimitReached message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '503': description: The bulk API is temporarily disabled. content: application/json: schema: title: Bulk API Disabled type: object properties: error: type: object properties: code: type: string enum: - bulkAPIDisabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error security: - oauth2: [] summary: Upsert libraries tags: - Skills /api/v2/bulk/skills: delete: description: '> ๐Ÿ”‘ > > Required OAuth scope: `skills:bulk`. > ๐Ÿšœ > > This endpoint processes up to 10,000 objects asynchronously. For more information, see the [Bulk operations guide](doc:bulk-operations-1). Deletes skills based on the given `externalId`. Upon submission, the request is queued. Use the provided URL in the response header to check the status of the bulk operation.' operationId: v2.bulk.skills.DeleteSkillsController_deleteSkills parameters: - name: 360-api-version in: header description: The version of the API. required: true schema: type: string enum: - v2.0 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DeleteSkillsBody' responses: '202': description: The operation is successfully created. headers: Location: schema: type: string description: 'The URL to retrieve the status of the bulk operation using its operation ID. Example: `https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011`.' example: https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011 '400': description: The server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: oneOf: - description: The input of a bulk operation must be an array. title: Invalid Input type: object properties: error: type: object properties: code: type: string enum: - invalidInput message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The input array size exceeds the maximum limit of 10,000 objects. title: Input Too Long type: object properties: error: type: object properties: code: type: string enum: - inputTooLong message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The skill solution is not enabled. title: Skill Solution Not Enabled type: object properties: error: type: object properties: code: type: string enum: - skillSolutionNotEnabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '401': description: The given access token is either missing, invalid, has expired, or has been revoked. content: application/json: schema: type: object properties: error: type: string enum: - invalid_token required: - error '403': description: The given access token does not have the required OAuth scope to execute the request. content: application/json: schema: title: Invalid Scope type: object properties: error: type: object properties: code: type: string enum: - invalid_scope message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '429': description: The maximum number of concurrent operations has been reached. content: application/json: schema: title: Bulk Operations Concurrency Limit Reached type: object properties: error: type: object properties: code: type: string enum: - bulkOperationsConcurrencyLimitReached message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '503': description: The bulk API is temporarily disabled. content: application/json: schema: title: Bulk API Disabled type: object properties: error: type: object properties: code: type: string enum: - bulkAPIDisabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error security: - oauth2: [] summary: Delete skills tags: - Skills put: description: '> ๐Ÿ”‘ > > Required OAuth scope: `skills:bulk`. > ๐Ÿšœ > > This endpoint processes up to 10,000 objects asynchronously. For more information, see the [Bulk operations guide](doc:bulk-operations-1). Adds or replaces multiple skills based on the given `externalId`. - If a provided `externalId` matches an existing skill, the skill is replaced with the new data. - If no match is found, a new skill is created. Upon submission, the request is queued. Use the provided URL in the response header to check the status of the bulk operation.' operationId: v2.bulk.skills.UpsertSkillsController_upsertSkills parameters: - name: 360-api-version in: header description: The version of the API. required: true schema: type: string enum: - v2.0 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpsertSkillsBody' responses: '202': description: The operation is successfully created. headers: Location: schema: type: string description: 'The URL to retrieve the status of the bulk operation using its operation ID. Example: `https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011`.' example: https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011 '400': description: The server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: oneOf: - description: The input of a bulk operation must be an array. title: Invalid Input type: object properties: error: type: object properties: code: type: string enum: - invalidInput message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The input array size exceeds the maximum limit of 10,000 objects. title: Input Too Long type: object properties: error: type: object properties: code: type: string enum: - inputTooLong message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The skill solution is not enabled. title: Skill Solution Not Enabled type: object properties: error: type: object properties: code: type: string enum: - skillSolutionNotEnabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The relations between skills and parents create cycles. title: Skills Graph Has Cycles type: object properties: error: type: object properties: code: type: string enum: - skillsGraphHasCycles message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '401': description: The given access token is either missing, invalid, has expired, or has been revoked. content: application/json: schema: type: object properties: error: type: string enum: - invalid_token required: - error '403': description: The given access token does not have the required OAuth scope to execute the request. content: application/json: schema: title: Invalid Scope type: object properties: error: type: object properties: code: type: string enum: - invalid_scope message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '429': description: The maximum number of concurrent operations has been reached. content: application/json: schema: title: Bulk Operations Concurrency Limit Reached type: object properties: error: type: object properties: code: type: string enum: - bulkOperationsConcurrencyLimitReached message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '503': description: The bulk API is temporarily disabled. content: application/json: schema: title: Bulk API Disabled type: object properties: error: type: object properties: code: type: string enum: - bulkAPIDisabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error security: - oauth2: [] summary: Upsert skills tags: - Skills /api/v2/bulk/skills/jobs-skills: put: description: '> ๐Ÿ”‘ > > Required OAuth scope: `skillsJobSkills:bulk`. > ๐Ÿšœ > > This endpoint processes up to 10,000 objects asynchronously. For more information, see the [Bulk operations guide](doc:bulk-operations-1). Replaces jobs skills based on the given `jobId`. - All skills of each job will be replaced by the provided ones. For each job, a maximum of 100 skills is allowed. Upon submission, the request is queued. Use the provided URL in the response header to check the status of the bulk operation.' operationId: v2.bulk.skills.ReplaceJobsSkillsController_replaceJobsSkills parameters: - name: 360-api-version in: header description: The version of the API. required: true schema: type: string enum: - v2.0 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReplaceJobsSkillsBody' responses: '202': description: The operation is successfully created. headers: Location: schema: type: string description: 'The URL to retrieve the status of the bulk operation using its operation ID. Example: `https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011`.' example: https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011 '400': description: The server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: oneOf: - description: The input of a bulk operation must be an array. title: Invalid Input type: object properties: error: type: object properties: code: type: string enum: - invalidInput message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The input array size exceeds the maximum limit of 10,000 objects. title: Input Too Long type: object properties: error: type: object properties: code: type: string enum: - inputTooLong message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The skill solution is not enabled. title: Skill Solution Not Enabled type: object properties: error: type: object properties: code: type: string enum: - skillSolutionNotEnabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: Too many skills for a job. title: Too Many Skills type: object properties: error: type: object properties: code: type: string enum: - tooManySkills message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '401': description: The given access token is either missing, invalid, has expired, or has been revoked. content: application/json: schema: type: object properties: error: type: string enum: - invalid_token required: - error '403': description: The given access token does not have the required OAuth scope to execute the request. content: application/json: schema: title: Invalid Scope type: object properties: error: type: object properties: code: type: string enum: - invalid_scope message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '429': description: The maximum number of concurrent operations has been reached. content: application/json: schema: title: Bulk Operations Concurrency Limit Reached type: object properties: error: type: object properties: code: type: string enum: - bulkOperationsConcurrencyLimitReached message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '503': description: The bulk API is temporarily disabled. content: application/json: schema: title: Bulk API Disabled type: object properties: error: type: object properties: code: type: string enum: - bulkAPIDisabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error security: - oauth2: [] summary: Replace jobs skills tags: - Skills /api/v2/bulk/skills/users/jobs: put: description: '> ๐Ÿ”‘ > > Required OAuth scope: `skillsJobs:bulk`. > ๐Ÿšœ > > This endpoint processes up to 10,000 objects asynchronously. For more information, see the [Bulk operations guide](doc:bulk-operations-1). Replaces users jobs based on the given `userId`. - All jobs of each users will be replaced by the provided ones. For each user, a maximum of 100 jobs is allowed. Upon submission, the request is queued. Use the provided URL in the response header to check the status of the bulk operation.' operationId: v2.bulk.skills.ReplaceUsersJobsController_replaceUsersJobs parameters: - name: 360-api-version in: header description: The version of the API. required: true schema: type: string enum: - v2.0 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReplaceUsersJobsBody' responses: '202': description: The operation is successfully created. headers: Location: schema: type: string description: 'The URL to retrieve the status of the bulk operation using its operation ID. Example: `https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011`.' example: https://app.360learning.com/api/v2/bulk/operations/507f1f77bcf86cd799439011 '400': description: The server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: oneOf: - description: The input of a bulk operation must be an array. title: Invalid Input type: object properties: error: type: object properties: code: type: string enum: - invalidInput message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The input array size exceeds the maximum limit of 10,000 objects. title: Input Too Long type: object properties: error: type: object properties: code: type: string enum: - inputTooLong message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: The skill solution is not enabled. title: Skill Solution Not Enabled type: object properties: error: type: object properties: code: type: string enum: - skillSolutionNotEnabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: Too many jobs for a user. title: Too Many Jobs type: object properties: error: type: object properties: code: type: string enum: - tooManyJobs message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '401': description: The given access token is either missing, invalid, has expired, or has been revoked. content: application/json: schema: type: object properties: error: type: string enum: - invalid_token required: - error '403': description: The given access token does not have the required OAuth scope to execute the request. content: application/json: schema: title: Invalid Scope type: object properties: error: type: object properties: code: type: string enum: - invalid_scope message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '429': description: The maximum number of concurrent operations has been reached. content: application/json: schema: title: Bulk Operations Concurrency Limit Reached type: object properties: error: type: object properties: code: type: string enum: - bulkOperationsConcurrencyLimitReached message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '503': description: The bulk API is temporarily disabled. content: application/json: schema: title: Bulk API Disabled type: object properties: error: type: object properties: code: type: string enum: - bulkAPIDisabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error security: - oauth2: [] summary: Replace users jobs tags: - Skills /api/v2/skills/powers: get: description: '> ๐Ÿ”‘ > > Required OAuth scope: `skillsPowers:read`. > ๐Ÿ“– > > This endpoint is paginated with a page size of 500 powers. For more information, see the [Pagination guide](doc:pagination). Lists all the powers.' operationId: v2.skills.GetPowersController_getPowers parameters: - name: 360-api-version in: header description: The version of the API. required: true schema: type: string enum: - v2.0 - name: skillId required: false in: query style: deepObject explode: true description: 'Filter on **skillId** property with LHS bracket notation. Expected value format is a string.' schema: properties: eq: type: string description: Filter on values equal to the given one example: loremIpsum in: type: array description: Filter on values including the given ones items: type: string example: loremIpsum - name: status required: false in: query style: deepObject explode: true description: 'Filter on **status** property with LHS bracket notation. Expected value format is a string (`toAssess`, `pendingValidation`, `validated`).' schema: properties: eq: type: string description: Filter on values equal to the given one example: toAssess enum: - toAssess - pendingValidation - validated ne: type: string description: Filter on values not equal to the given one example: toAssess enum: - toAssess - pendingValidation - validated - name: userId required: false in: query style: deepObject explode: true description: 'Filter on **userId** property with LHS bracket notation. Expected value format is a valid ID (24 digits or letters).' schema: properties: eq: type: string format: ObjectId pattern: ^[a-fA-F0-9]{24}$ description: Filter on values equal to the given one example: 507f1f77bcf86cd799439011 in: type: array description: Filter on values including the given ones items: type: string format: ObjectId pattern: ^[a-fA-F0-9]{24}$ example: 507f1f77bcf86cd799439011 responses: '200': description: Returns one page of 500 powers. headers: Link: schema: type: string description: 'URL (between `<` `>`) to fetch the immediate next page of results. For more information, see our [Pagination guide](doc:pagination). โš ๏ธ Only included if there is another page of results.' example: ; rel="next" content: application/json: schema: type: array items: $ref: '#/components/schemas/PowerDTO' '400': description: The skill solution is not enabled. content: application/json: schema: title: Skill Solution Not Enabled type: object properties: error: type: object properties: code: type: string enum: - skillSolutionNotEnabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '401': description: The given access token is either missing, invalid, has expired, or has been revoked. content: application/json: schema: type: object properties: error: type: string enum: - invalid_token required: - error '403': description: The given access token does not have the required OAuth scope to execute the request. content: application/json: schema: title: Invalid Scope type: object properties: error: type: object properties: code: type: string enum: - invalid_scope message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '429': description: 'The client has sent too many requests in a short amount of time. ' content: application/json: schema: type: object properties: error: type: string enum: - tooManyRequests required: - error security: - oauth2: [] summary: List all the powers tags: - Skills /api/v2/skills: get: description: '> ๐Ÿ”‘ > > Required OAuth scope: `skills:read`. > ๐Ÿ“– > > This endpoint is paginated with a page size of 500 skills. For more information, see the [Pagination guide](doc:pagination). Lists all skills in your platform.' operationId: v2.skills.GetSkillsController_getSkills parameters: - name: 360-api-version in: header description: The version of the API. required: true schema: type: string enum: - v2.0 - name: status required: false in: query style: deepObject explode: true description: 'Filter on **status** property with LHS bracket notation. Expected value format is a string (`archived`, `published`).' schema: properties: eq: type: string description: Filter on values equal to the given one example: archived enum: - archived - published ne: type: string description: Filter on values not equal to the given one example: archived enum: - archived - published in: type: array description: Filter on values including the given ones items: type: string example: archived enum: - archived - published nin: type: array description: Filter on values excluding the given ones items: type: string example: archived enum: - archived - published - name: updatedAt required: false in: query style: deepObject explode: true description: 'Filter on **updatedAt** property with LHS bracket notation. Expected value format is a date (YYYY-MM-DDThh:mm:ss.sssZ). The milliseconds are always set to 0.' schema: properties: lt: type: string format: date-time description: Filter on dates lower than the given one example: '2020-01-01T10:30:26.000Z' gte: type: string format: date-time description: Filter on dates greater than or equal the given one example: '2020-01-01T10:30:26.000Z' responses: '200': description: Returns one page of 500 skills. headers: Link: schema: type: string description: 'URL (between `<` `>`) to fetch the immediate next page of results. For more information, see our [Pagination guide](doc:pagination). โš ๏ธ Only included if there is another page of results.' example: ; rel="next" content: application/json: schema: type: array items: $ref: '#/components/schemas/SkillDTO' '400': description: The skill solution is not enabled. content: application/json: schema: title: Skill Solution Not Enabled type: object properties: error: type: object properties: code: type: string enum: - skillSolutionNotEnabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '401': description: The given access token is either missing, invalid, has expired, or has been revoked. content: application/json: schema: type: object properties: error: type: string enum: - invalid_token required: - error '403': description: The given access token does not have the required OAuth scope to execute the request. content: application/json: schema: title: Invalid Scope type: object properties: error: type: object properties: code: type: string enum: - invalid_scope message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '429': description: 'The client has sent too many requests in a short amount of time. ' content: application/json: schema: type: object properties: error: type: string enum: - tooManyRequests required: - error security: - oauth2: [] summary: List all skills tags: - Skills /api/v2/skills/users/{userId}/jobs: put: description: '> ๐Ÿ”‘ > > Required OAuth scope: `skillsJobs:write`. Replaces all jobs for the given user with the provided ones. Jobs not included are removed.' operationId: v2.skills.ReplaceUserJobsController_replaceUserJobs parameters: - name: 360-api-version in: header description: The version of the API. required: true schema: type: string enum: - v2.0 - name: userId required: true in: path description: The unique ID of a user. schema: format: ObjectId pattern: ^[a-fA-F0-9]{24}$ example: 507f1f77bcf86cd799439011 type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReplaceUserJobsBody' responses: '200': description: Returns the current jobs of the user. content: application/json: schema: type: array items: type: string '400': description: The server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: oneOf: - description: The skill solution is not enabled. title: Skill Solution Not Enabled type: object properties: error: type: object properties: code: type: string enum: - skillSolutionNotEnabled message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: Job externalId not found. title: Job External Id Not Found type: object properties: error: type: object properties: code: type: string enum: - jobExternalIdNotFound message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error - description: Too many jobs for a user. title: Too Many Jobs type: object properties: error: type: object properties: code: type: string enum: - tooManyJobs message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '401': description: The given access token is either missing, invalid, has expired, or has been revoked. content: application/json: schema: type: object properties: error: type: string enum: - invalid_token required: - error '403': description: The given access token does not have the required OAuth scope to execute the request. content: application/json: schema: title: Invalid Scope type: object properties: error: type: object properties: code: type: string enum: - invalid_scope message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '404': description: The given user does not correspond to any existing and non-deleted user. content: application/json: schema: title: User Not Found type: object properties: error: type: object properties: code: type: string enum: - userNotFound message: type: string example: A human-readable message to help with debugging. required: - code - message required: - error '429': description: 'The client has sent too many requests in a short amount of time. ' content: application/json: schema: type: object properties: error: type: string enum: - tooManyRequests required: - error security: - oauth2: [] summary: Replace all jobs for a user tags: - Skills components: schemas: SkillAddedDTO: title: Skill Added type: object properties: externalId: type: string description: The unique external ID of the review. example: 5d9b7bf9-47bf-40ca-b670-2a2a80d992da minLength: 1 userId: type: string description: The unique ID of the user the review is about. example: 672b473e3e8d1c8cee0f1a4b minLength: 1 format: ObjectId pattern: ^[a-fA-F0-9]{24}$ assessorId: type: string description: The unique ID of the user that made the review. example: 672b47e33e8d1c8cee0f1a5c minLength: 1 format: ObjectId pattern: ^[a-fA-F0-9]{24}$ skillId: type: string description: The unique ID of the skill the review is about. example: SKI1708592191403r2x5 minLength: 1 actionType: type: string enum: - skillAdded description: The skill is added to the user profile. comment: type: string maxLength: 1000 description: A comment about the review. example: You demonstrated a good understanding of the topic. minLength: 1 createdAt: format: date-time type: string description: The date and time of the review, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)). If not set, the current date is used. minLength: 1 required: - userId - assessorId - skillId - actionType SingleChoiceQualifierDTO: title: Single Choice Qualifier type: object properties: _id: type: string description: The unique ID of the qualifier. example: SKQ1701914859202x53r type: type: string enum: - singleChoice description: The type of the qualifier. currentValue: type: string description: The current value of the qualifier. example: Intermediate currentValueId: type: string description: The unique ID of the current value of the qualifier. example: clgz9uqmm0001357bbgggvr1m required: - _id ValueByIndexQualifierDTO: title: Value By Index Qualifier type: object properties: _id: type: string description: The unique ID of the qualifier. example: SKQ1701914859202x53r minLength: 1 valueIndex: type: integer minimum: 1 maximum: 100 description: The index of the qualifier value, among the list of possible values. Takes values from 1 to the number of possible values for the qualifier. example: 2 required: - _id - valueIndex JobSkillInputDTO: title: Job Skill Input type: object properties: jobId: type: string description: The unique ID of the job. example: 7793c9b2189d4ef3b026ec10 minLength: 1 skillId: type: string description: The unique ID of the skill. example: 034276eb12a14720a6091406 minLength: 1 qualifiers: maxItems: 100 description: The qualifier values related to the job skill. type: array items: $ref: '#/components/schemas/ValueByIdQualifierDTO' required: - jobId - skillId UpsertLibrariesBody: title: Upsert Libraries Body type: object properties: input: description: An array of library upsert objects. maxItems: 10000 type: array items: $ref: '#/components/schemas/LibraryUpsertDTO' required: - input JobDeleteDTO: title: Job Delete type: object properties: externalId: type: string description: The unique external ID of the job. example: ff583381-f8b5-477e-a24d-947aa55f407b minLength: 1 required: - externalId SkillUpsertDTO: title: Skill Upsert type: object properties: externalId: type: string description: The unique external ID of the skill. example: 5d9b7bf9-47bf-40ca-b670-2a2a80d992da minLength: 1 name: type: string description: The name of the skill. example: Releases and deployments minLength: 1 description: type: string description: The description of the skill. example: Did the user already release the software on the production environment? minLength: 1 libraryId: type: string description: The ID of the library that contains the skill. example: 6b14f596-b5dd-40bf-af4c-a4270487a3c4 deprecated: true minLength: 1 parentExternalIds: description: The unique external IDs of the parent skills and libraries. example: - 477e108e-60b5-4908-856e-aa123e133921 maxItems: 10 type: array items: type: string translations: description: The different translations available for the skill. type: array items: $ref: '#/components/schemas/SkillTranslationDTO' required: - externalId - name - parentExternalIds DateQualifierDTO: title: Date Qualifier type: object properties: _id: type: string description: The unique ID of the qualifier. example: SKQ1701914859202x53r type: type: string enum: - date description: The type of the qualifier. currentValue: format: date-time type: string description: The current value of the qualifier, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)). example: '2024-09-30T16:56:39.911Z' required: - _id MultiChoiceQualifierDTO: title: Multi Choice Qualifier type: object properties: _id: type: string description: The unique ID of the qualifier. example: SKQ1701914859202x53r type: type: string enum: - multiChoice description: The type of the qualifier. currentValues: description: The list of the current values of the qualifier. example: - Intermediate - Advanced type: array items: type: string currentValueIds: description: The list of current values unique IDs of the qualifier. example: - clgz9uqmm0001357bbgggvr1m - clgz9uqmm0001357bbgggvr2p type: array items: type: string required: - _id SkillTranslationDTO: title: Skill Translation type: object properties: lang: type: string enum: - bg - cs - de - en - es - fr - hu - it - ja - nl - pl - pt - ro - ru - sa - tr - uk - vm - zh description: The language of the translation. example: fr translatedFields: description: The translations of the skill fields for this language. allOf: - $ref: '#/components/schemas/SkillTranslatedFieldsDTO' required: - lang - translatedFields UpsertSkillsBody: title: Upsert Skills Body type: object properties: input: description: An array of skill upsert objects. maxItems: 10000 type: array items: $ref: '#/components/schemas/SkillUpsertDTO' required: - input DeleteLibrariesBody: title: Delete Libraries Body type: object properties: input: description: An array of library delete objects. maxItems: 10000 type: array items: $ref: '#/components/schemas/LibraryDeleteDTO' required: - input SkillAssessedByIdDTO: title: Skill Assessed By Id type: object properties: externalId: type: string description: The unique external ID of the review. example: 5d9b7bf9-47bf-40ca-b670-2a2a80d992da minLength: 1 userId: type: string description: The unique ID of the user the review is about. example: 672b473e3e8d1c8cee0f1a4b minLength: 1 format: ObjectId pattern: ^[a-fA-F0-9]{24}$ assessorId: type: string description: The unique ID of the user that made the review. example: 672b47e33e8d1c8cee0f1a5c minLength: 1 format: ObjectId pattern: ^[a-fA-F0-9]{24}$ skillId: type: string description: The unique ID of the skill the review is about. example: SKI1708592191403r2x5 minLength: 1 actionType: type: string enum: - skillAssessed description: The skill is assessed, with qualifier values given by ID. comment: type: string maxLength: 1000 description: A comment about the review. example: You demonstrated a good understanding of the topic. minLength: 1 createdAt: format: date-time type: string description: The date and time of the review, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)). If not set, the current date is used. minLength: 1 qualifiers: maxItems: 100 description: The qualifier values related to the assessment, specified by ID type: array items: $ref: '#/components/schemas/ValueByIdQualifierDTO' required: - userId - assessorId - skillId - actionType SkillTranslatedFieldsDTO: title: Skill Translated Fields type: object properties: name: type: string description: The translation of the field `name` for this language. example: Le nom traduit en franรงais minLength: 1 description: type: string description: The translation of the field `description` for this language. example: Traduction en franรงais de la description. minLength: 1 LibraryUpsertDTO: title: Library Upsert type: object properties: externalId: type: string description: The unique external ID of the library. example: ff583381-f8b5-477e-a24d-947aa55f407b minLength: 1 name: type: string description: The name of the library. example: Development experience minLength: 1 description: type: string description: The description of the library. example: All you have to know about how we develop here. minLength: 1 translations: description: The different translations available for the library. type: array items: $ref: '#/components/schemas/LibraryTranslationDTO' status: type: string enum: - draft - published description: The status of the library. required: - externalId - name SkillDeletedDTO: title: Skill Deleted type: object properties: externalId: type: string description: The unique external ID of the review. example: 5d9b7bf9-47bf-40ca-b670-2a2a80d992da minLength: 1 userId: type: string description: The unique ID of the user the review is about. example: 672b473e3e8d1c8cee0f1a4b minLength: 1 format: ObjectId pattern: ^[a-fA-F0-9]{24}$ assessorId: type: string description: The unique ID of the user that made the review. example: 672b47e33e8d1c8cee0f1a5c minLength: 1 format: ObjectId pattern: ^[a-fA-F0-9]{24}$ skillId: type: string description: The unique ID of the skill the review is about. example: SKI1708592191403r2x5 minLength: 1 actionType: type: string enum: - skillDeleted description: The skill is removed from the user profile. comment: type: string maxLength: 1000 description: A comment about the review. example: You demonstrated a good understanding of the topic. minLength: 1 createdAt: format: date-time type: string description: The date and time of the review, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)). If not set, the current date is used. minLength: 1 required: - userId - assessorId - skillId - actionType SkillParentDTO: title: Skill Parent type: object properties: _id: type: string description: The unique ID of the parent. example: SKI9876543213456abcDE externalId: type: string description: The unique external ID of the parent. example: 477e108e-60b5-4908-856e-aa123e133921 required: - _id JobTranslatedFieldsDTO: title: Job Translated Fields type: object properties: name: type: string description: The translation of the field `name` for this language. example: Le nom traduit en franรงais minLength: 1 description: type: string description: The translation of the field `description` for this language. example: Traduction en franรงais de la description. minLength: 1 PowerDTO: title: Power type: object properties: _id: type: string description: The unique ID of the power. example: POW1710749206766wgc0 externalId: type: string description: The unique external ID of the power. example: SKI17085916596770pzz skillId: type: string description: The unique ID of the skill. example: SKI17080760942940q3d skillExternalId: type: string description: The unique external ID of the skill. example: SKI17080760942940q3d userId: type: string description: The unique ID of the user. example: 642edc18862a6c95d80d0ea1 format: ObjectId pattern: ^[a-fA-F0-9]{24}$ createdAt: format: date-time type: string description: The date and time when the power was created, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)). example: '2024-04-17T16:32:39.347Z' updatedAt: format: date-time type: string description: The date and time when the power was last updated, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)). example: '2024-09-30T16:56:39.911Z' status: type: string enum: - toAssess - pendingValidation - validated description: The status of the power. qualifiers: description: The list of qualifiers of the power. type: array items: oneOf: - $ref: '#/components/schemas/SingleChoiceQualifierDTO' - $ref: '#/components/schemas/MultiChoiceQualifierDTO' - $ref: '#/components/schemas/TextQualifierDTO' - $ref: '#/components/schemas/NumberQualifierDTO' - $ref: '#/components/schemas/DateQualifierDTO' required: - _id - skillId - userId - status - qualifiers DeleteSkillsBody: title: Delete Skills Body type: object properties: input: description: An array of skill delete objects. maxItems: 10000 type: array items: $ref: '#/components/schemas/SkillDeleteDTO' required: - input LibraryDeleteDTO: title: Library Delete type: object properties: externalId: type: string description: The unique external ID of the library. example: ff583381-f8b5-477e-a24d-947aa55f407b minLength: 1 required: - externalId LibraryTranslationDTO: title: Library Translation type: object properties: lang: type: string enum: - bg - cs - de - en - es - fr - hu - it - ja - nl - pl - pt - ro - ru - sa - tr - uk - vm - zh description: The language of the translation. example: fr translatedFields: description: The translations of the library fields for this language. allOf: - $ref: '#/components/schemas/BaseTranslatedFieldsDTO' required: - lang - translatedFields AddSkillReviewsBody: title: Add Skill Reviews Body type: object properties: input: maxItems: 10000 description: An array of skill review objects. type: array items: oneOf: - $ref: '#/components/schemas/SkillAddedDTO' - $ref: '#/components/schemas/SkillAssessedByIdDTO' - $ref: '#/components/schemas/SkillAssessedByIndexDTO' - $ref: '#/components/schemas/SkillDeletedDTO' required: - input JobUpsertDTO: title: Job Upsert type: object properties: externalId: type: string description: The unique external ID of the job. example: ff583381-f8b5-477e-a24d-947aa55f407b minLength: 1 name: type: string description: The name of the job. example: Product manager minLength: 1 description: type: string description: The description of the job. example: The product manager is responsible for the design, development, and lifecycle management of products to meet customer needs and business objectives. minLength: 1 parentExternalId: type: string description: The unique external ID of the parent job. example: 477e108e-60b5-4908-856e-aa123e133921 minLength: 1 translations: description: The different translations available for the job. type: array items: $ref: '#/components/schemas/JobTranslationDTO' required: - externalId - name ReplaceJobsSkillsBody: title: Replace Jobs Skills Body type: object properties: input: description: An array of job skill objects. maxItems: 10000 type: array items: $ref: '#/components/schemas/JobSkillInputDTO' required: - input SkillAssessedByIndexDTO: title: Skill Assessed By Index type: object properties: externalId: type: string description: The unique external ID of the review. example: 5d9b7bf9-47bf-40ca-b670-2a2a80d992da minLength: 1 userId: type: string description: The unique ID of the user the review is about. example: 672b473e3e8d1c8cee0f1a4b minLength: 1 format: ObjectId pattern: ^[a-fA-F0-9]{24}$ assessorId: type: string description: The unique ID of the user that made the review. example: 672b47e33e8d1c8cee0f1a5c minLength: 1 format: ObjectId pattern: ^[a-fA-F0-9]{24}$ skillId: type: string description: The unique ID of the skill the review is about. example: SKI1708592191403r2x5 minLength: 1 actionType: type: string enum: - skillAssessedByIndex description: The skill is assessed, with qualifier values given by index. comment: type: string maxLength: 1000 description: A comment about the review. example: You demonstrated a good understanding of the topic. minLength: 1 createdAt: format: date-time type: string description: The date and time of the review, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)). If not set, the current date is used. minLength: 1 qualifiers: maxItems: 100 description: The qualifier values related to the assessment, specified by index type: array items: $ref: '#/components/schemas/ValueByIndexQualifierDTO' required: - userId - assessorId - skillId - actionType BaseTranslatedFieldsDTO: title: Base Translated Fields type: object properties: name: type: string description: The translation of the field `name` for this language. example: Le nom traduit en franรงais minLength: 1 description: type: string description: The translation of the field `description` for this language. example: Traduction en franรงais de la description. minLength: 1 ReplaceUserJobsBody: title: Replace User Jobs Body type: object properties: jobIds: description: The list of unique IDs of the current jobs given to a user. type: array items: type: string required: - jobIds ReplaceUserJobsDTO: title: Replace User Jobs type: object properties: userId: type: string description: The unique ID of the user the jobs are associated to. example: 672b473e3e8d1c8cee0f1a4b minLength: 1 format: ObjectId pattern: ^[a-fA-F0-9]{24}$ currentJobIds: description: The list of unique IDs of the current jobs given to the user. Do not include the property to keep existing jobs. Send empty list ([]) to remove all corresponding jobs example: - JOB1 - JOB2 type: array items: type: string targetJobIds: description: The list of unique IDs of the target jobs given to the user. Do not include the property to keep existing jobs. Send empty list ([]) to remove all corresponding jobs example: - JOB3 - JOB4 type: array items: type: string previousJobIds: description: The list of unique IDs of the previous jobs given to the user. Do not include the property to keep existing jobs. Send empty list ([]) to remove all corresponding jobs example: - JOB5 - JOB6 type: array items: type: string required: - userId SkillDeleteDTO: title: Skill Delete type: object properties: externalId: type: string description: The unique external ID of the skill. example: 5d9b7bf9-47bf-40ca-b670-2a2a80d992da minLength: 1 required: - externalId TextQualifierDTO: title: Text Qualifier type: object properties: _id: type: string description: The unique ID of the qualifier. example: SKQ1701914859202x53r type: type: string enum: - text description: The type of the qualifier. currentValue: type: string description: The current value of the qualifier. example: 'The user still need to improve some aspects of the skill. ' required: - _id DeleteJobsBody: title: Delete Jobs Body type: object properties: input: description: An array of job delete objects. maxItems: 10000 type: array items: $ref: '#/components/schemas/JobDeleteDTO' required: - input JobTranslationDTO: title: Job Translation type: object properties: lang: type: string enum: - bg - cs - de - en - es - fr - hu - it - ja - nl - pl - pt - ro - ru - sa - tr - uk - vm - zh description: The language of the translation. example: fr translatedFields: description: The translations of the job fields for this language. allOf: - $ref: '#/components/schemas/JobTranslatedFieldsDTO' required: - lang - translatedFields ReplaceUsersJobsBody: title: Replace Users Jobs Body type: object properties: input: description: An array of jobs by user and status. maxItems: 10000 type: array items: $ref: '#/components/schemas/ReplaceUserJobsDTO' required: - input UpsertJobsBody: title: Upsert Jobs Body type: object properties: input: description: An array of job upsert objects. maxItems: 10000 type: array items: $ref: '#/components/schemas/JobUpsertDTO' required: - input ValueByIdQualifierDTO: title: Value By Id Qualifier type: object properties: _id: type: string description: The unique ID of the qualifier. example: SKQ1701914859202x53r minLength: 1 valueId: type: string description: The unique ID of the qualifier value. example: 5wQSd5xljil5zndlsieqA5 minLength: 1 required: - _id - valueId NumberQualifierDTO: title: Number Qualifier type: object properties: _id: type: string description: The unique ID of the qualifier. example: SKQ1701914859202x53r type: type: string enum: - number description: The type of the qualifier. currentValue: type: number description: The current value of the qualifier. example: 10 required: - _id SkillDTO: title: Skill type: object properties: _id: type: string description: The unique ID of the skill. example: SKI1234567890123abcDE name: type: string description: The name of the skill. example: Releases and deployments parents: description: The parent skills and libraries. type: array items: $ref: '#/components/schemas/SkillParentDTO' status: type: string enum: - archived - published description: The status of the skill. example: published translations: description: The different translations available for the skill. type: array items: $ref: '#/components/schemas/SkillTranslationDTO' externalId: type: string description: The unique external ID of the skill. example: 5d9b7bf9-47bf-40ca-b670-2a2a80d992da description: type: string description: The description of the skill. example: Did the user already release the software on the production environment? libraryId: type: string description: The ID of the library that contains the skill. example: 6b14f596-b5dd-40bf-af4c-a4270487a3c4 createdAt: format: date-time type: string description: The creation date of the skill, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)). example: '2024-01-01T10:00:00.000Z' updatedAt: format: date-time type: string description: The last update date of the skill, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)). example: '2024-01-02T08:00:00.000Z' required: - _id - name - parents - status - translations securitySchemes: oauth2: type: oauth2 flows: {} description: 'Use the token from the authentication endpoint in the Authorization header. Example: `Authorization: Bearer `'