360Learning Skills API

The Skills API from 360Learning β€” 9 operation(s) for skills.

OpenAPI Specification

360learning-skills-api-openapi.yml Raw ↑
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