x-generator: NSwag v13.18.2.0 (NJsonSchema v10.8.0.0 (Newtonsoft.Json v11.0.0.0))
swagger: '2.0'
info:
  title: Absorb Integration API
  version: v2
consumes:
  - application/json
produces:
  - application/json
paths:
  /learning-path/{userId}:
    get:
      tags:
        - Learning Path
      summary: Gets a user's current learning path.
      operationId: LearningPath_GetLearningPath
      parameters:
        - type: string
          name: UserId
          in: path
          required: true
          description: The self assessment ID.
          format: guid
          x-nullable: false
        - type: string
          name: x-api-key
          in: header
        - type: string
          name: x-api-version
          in: header
          description: '2'
      responses:
        '200':
          x-nullable: false
          description: ''
          schema:
            $ref: '#/definitions/GetLearningPathResource'
        '404':
          x-nullable: false
          description: User or learning path not found.
          schema:
            $ref: '#/definitions/GenericErrorResponse'
      security:
        - api_key: []
definitions:
  GetLearningPathResource:
    type: object
    description: Represents a learning path for the learner.
    properties:
      id:
        type: string
        description: The ID of the learning path.
        format: guid
      roleName:
        type: string
        description: The name of the desired role in the learning path.
      courseCount:
        type: integer
        description: The number of courses in the learning path.
        format: int32
      skills:
        type: array
        description: The collection of skills.
        items:
          $ref: '#/definitions/LearningPathSkillResource'
      competencies:
        type: array
        description: The collection of competencies.
        items:
          $ref: '#/definitions/LearningPathSkillResource'
  LearningPathSkillResource:
    type: object
    description: >-
      Represents a skill assigned to a user's learning path that may contain
      selected courses.
    properties:
      id:
        type: string
        description: The ID of the skill.
        format: guid
      name:
        type: string
        description: The skill name.
      userRating:
        type: integer
        description: The user rating for the skill.
        format: byte
      skillType:
        description: |-
          The type of the skill.

          Possible Enum Values: `Skill = Skill` `Competency = Competency` 
        allOf:
          - $ref: '#/definitions/SkillType'
      skillCategoryId:
        type: string
        description: The ID of the skill's category.
        format: guid
      courseCount:
        type: integer
        description: The number of courses that apply to the skill in the learning path.
        format: int32
      courseIds:
        type: array
        description: A list of Course IDs that are associated with the skill.
        items:
          type: string
          format: guid
      completedCourseCount:
        type: integer
        description: The number of courses that have been completed for the skill.
        format: int32
      skillPathUpdateRequired:
        type: boolean
        description: Whether the skill needs to be updated with courses or ratings.
  SkillType:
    type: string
    description: The type of skill.
    x-enumNames:
      - Skill
      - Competency
    enum:
      - Skill
      - Competency
  GenericErrorResponse:
    type: object
    description: |-
      This class is NOT to be used as an actual response. This is to be used as
      the return type for non-200 responses in `SwaggerResponse` attributes.
    properties:
      validations:
        type: array
        description: The validations (if any) which caused the error.
        items:
          type: string
      code:
        description: The status code returned.
        allOf:
          - $ref: '#/definitions/HttpStatusCode'
      message:
        type: string
        description: The error message.
      term:
        type: string
        description: The general error term.
      _meta:
        type: object
        description: 'A list of meta data (if any). '
        additionalProperties:
          type: string
  HttpStatusCode:
    type: integer
    description: ''
    x-enumNames:
      - Continue
      - SwitchingProtocols
      - OK
      - Created
      - Accepted
      - NonAuthoritativeInformation
      - NoContent
      - ResetContent
      - PartialContent
      - MultipleChoices
      - Ambiguous
      - MovedPermanently
      - Moved
      - Found
      - Redirect
      - SeeOther
      - RedirectMethod
      - NotModified
      - UseProxy
      - Unused
      - TemporaryRedirect
      - RedirectKeepVerb
      - BadRequest
      - Unauthorized
      - PaymentRequired
      - Forbidden
      - NotFound
      - MethodNotAllowed
      - NotAcceptable
      - ProxyAuthenticationRequired
      - RequestTimeout
      - Conflict
      - Gone
      - LengthRequired
      - PreconditionFailed
      - RequestEntityTooLarge
      - RequestUriTooLong
      - UnsupportedMediaType
      - RequestedRangeNotSatisfiable
      - ExpectationFailed
      - UpgradeRequired
      - InternalServerError
      - NotImplemented
      - BadGateway
      - ServiceUnavailable
      - GatewayTimeout
      - HttpVersionNotSupported
securityDefinitions:
  api_key:
    type: apiKey
    name: x-api-key
    in: header
tags:
  - name: Learning Path
x-servers:
  - url: https://rest.myabsorb.com
    description: US
  - url: https://rest.myabsorb.ca
    description: CA
  - url: https://rest.myabsorb.eu
    description: EU
  - url: https://rest.myabsorb.com.au
    description: AU
