360Learning Skills API
The Skills API from 360Learning β 9 operation(s) for skills.
The Skills API from 360Learning β 9 operation(s) for skills.
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
# --- truncated at 32 KB (109 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/360learning/refs/heads/main/openapi/360learning-skills-api-openapi.yml