Go1

Go1 Learning objects API

The Learning objects API from Go1 — 5 operation(s) for learning objects.

OpenAPI Specification

go1-learning-objects-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Go1 Enrollments Learning objects API
  version: '2025-01-01'
  description: 'The Go1 API lets partners and platforms discover Go1''s learning content library, manage learner enrollments, provision and manage customer portals, and subscribe to Go1 events via webhooks. Versioning is date-based and selected per request with the `Api-Version` header (current: 2025-01-01). All requests are authenticated with OAuth 2.0 bearer tokens issued by https://auth.go1.com/oauth/token. Reconstructed by the API Evangelist enrichment pipeline from Go1''s published REST reference (developers.go1.com) — operations, parameters, responses and scopes are Go1''s verbatim reference data.'
  contact:
    name: Go1 Developer Support
    url: https://developers.go1.com/
  termsOfService: https://www.go1.com/terms/customer-terms
servers:
- url: https://gateway.go1.com
  description: Go1 API gateway (production)
security:
- OAuth2: []
tags:
- name: Learning objects
paths:
  /learning-objects/{id}/alternatives:
    get:
      security:
      - OAuth2:
        - portal.read
        - lo.read
      operationId: getRetiringContentAlternatives
      summary: List alternative learning objects
      description: Returns a list of alternative learning objects for a specified learning object. You can refine the list by specifying a `type` parameter. For example, setting `type=retirement` will return alternative learning objects recommended as replacements for the specified learning object that is retiring from the library.
      parameters:
      - name: authorization
        required: true
        in: header
        schema:
          type: string
      - name: id
        required: true
        in: path
        description: The id of the learning object
        example: 1234
        schema:
          type: string
      - name: type
        required: false
        in: query
        description: "Specifies the type of alternative learning objects to retrieve. \n\n The available values are: \n- `retirement`: for alternatives recommended as replacements for retiring content from the Go1 content library. \n\n Default value is `retirement`."
        schema:
          default: retirement
          enum:
          - retirement
      - name: limit
        required: false
        in: query
        description: A limit on the number of objects to be returned, between 1 and 100. The default is 10.
        example: 10
        schema:
          type: number
          format: int64
          default: 10
      - name: offset
        required: false
        in: query
        description: For use in pagination. The item number within a list request to start displaying results after. For example, a request with `limit=20` and `offset=20`, returns items 21 - 40.
        example: 20
        schema:
          format: int64
          default: 0
          type: number
      responses:
        '200':
          description: Returns the list of alternatives
          content:
            application/json:
              schema:
                required:
                - total
                - hits
                type: object
                properties:
                  total:
                    type: number
                    description: Total number of alternative learning objects matching the specified criteria.
                    example: 50
                  hits:
                    type: array
                    items:
                      type: integer
                    description: An array of IDs representing the alternative learning objects recommended as replacements for the specified learning object. The array is sorted by relevance, with the most relevant items appearing first.
                    example:
                    - 123
                    - 456
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      tags:
      - Learning objects
  /learning-objects/{id}:
    get:
      description: Retrieves the details of a Learning Object by either id (uuid) or our legacy lo_id (integer). By default, only the `core` set of fields is returned. Use the `include[]` query parameter to retrieve additional information about the Learning Object, such as `pricing`, `lifecycle` or `relevance`.
      operationId: learning-objects-v3-get
      parameters:
      - name: id
        required: true
        in: path
        description: Unique identifier of the Learning Object
        schema:
          type: string
      - name: identifier
        required: false
        in: query
        description: 'The `identifier` query parameter allows you to specify the identifier you would like to use when looking up a Learning Object. The available values are:- `external_id`: The API will consider the supplied {id} as the external_id, and will look up the Learning Object that corresponds to the provided external_id.'
        schema:
          example: external_id
          type: string
          enum:
          - external_id
      - name: include[]
        required: false
        in: query
        description: 'Returns extended information related to the Learning Object. Enum:

          - `core`, returns the `core` object.

          - `pricing`, returns the `pricing` object.

          - `lifecycle`, returns the `lifecycle` object.

          - `relevance`, returns the `relevance` object.

          - `skills`, returns the `skills` object.

          - `quality`, returns the `quality` object.

          - `provider`, returns the `provider` object.

          - `protected`, returns the `protected` object.

          - `playback_behavior`, returns the `playback_behavior` object.

          - `images`, returns the `images` object.

          - `preview`, returns the `preview` object.

          - `tags`, returns the `tags` object.

          - `topics`, returns the `topics` object.

          - `offerings`, returns the `offerings` object.

          - `revisions`, returns the `revisions` object.

          - `presentation`, returns the `presentation` object.

          - `accessibility`, returns the `accessibility` object. If the `include[]` parameter is not supplied, the `core` fields will be returned by default. See the response schema for a list of fields that can be expected with each of the objects defined above.'
        schema:
          default: core
          type: array
          items:
            type: string
            enum:
            - alternatives
            - core
            - images
            - lifecycle
            - playback_behavior
            - offerings
            - preview
            - pricing
            - protected
            - provider
            - quality
            - relevance
            - skills
            - tags
            - topics
            - revisions
            - generated_metadata
            - presentation
            - timestamps
            - regulations
            - restrictions
            - accessibility
            - categories
      - name: preferred_language
        required: false
        in: query
        description: The language in which the Learning Object is presented. ISO-639-1 language code format, with an optional ISO-3166 two character country code, separated by a hyphen.
        schema:
          example: en-US
          type: string
      responses:
        '200':
          description: The requested Learning Object
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: A new globally unique identifier for the Learning Object. The previous `id` and `lo_id` fields will become a `legacy_id` in future API versions.
                    example: con_01HBYXF3HYPTG5Q1RJ7BPFAF23
                  lo_id:
                    type: string
                    description: The unique identifier for the Learning Object.
                    example: '1234'
                  updated_time:
                    type: string
                    description: The date and time when the Learning Object was last updated. In [UTC timezone](https://en.wikipedia.org/wiki/Coordinated_Universal_Time), stored in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).
                    example: '2023-05-19T05:13:30.827Z'
                  created_time:
                    type: string
                    description: The date and time when the Learning Object was created. In [UTC timezone](https://en.wikipedia.org/wiki/Coordinated_Universal_Time), stored in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).
                    example: '2023-05-19T05:13:30.827Z'
                  updated_media_time:
                    type: string
                    description: The date and time when the Learning Object had its media updated. In [UTC timezone](https://en.wikipedia.org/wiki/Coordinated_Universal_Time), stored in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).
                    example: '2023-05-19T05:13:30.827Z'
                  updated_metadata_time:
                    type: string
                    description: The date and time when the Learning Object had its metadata updated. In [UTC timezone](https://en.wikipedia.org/wiki/Coordinated_Universal_Time), stored in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).
                    example: '2023-05-19T05:13:30.827Z'
                  core:
                    description: The minimum core or essential information about the Learning Object, such as its title, description and image.
                    allOf:
                    - type: object
                      properties:
                        creators:
                          description: An array containing the Account id (guid) of the Go1 user(s) who created the Learning Object.
                          example:
                          - usr_01HBYXG21DRXDQ6XBNMDJ8WTMH
                          - usr_01HBYXGCF2HYX5925YBKPMS4TA
                          type: array
                          items:
                            type: string
                        type:
                          type: string
                          description: 'The Learning Object type. Enum: course, group, playlist, module, assignment, audio, document, event, interactive, manual, link, lti, question, quiz, text, video'
                          enum:
                          - course
                          - group
                          - playlist
                          - module
                          - assignment
                          - audio
                          - document
                          - event
                          - interactive
                          - manual
                          - link
                          - lti
                          - question
                          - quiz
                          - text
                          - video
                          example: course
                        title:
                          type: string
                          description: The title or name of the Learning Object.
                          example: Introduction to Programming
                        description:
                          type: string
                          description: A brief description or overview of the Learning Object.
                          example: Learn the basics of programming with this comprehensive course.
                        image:
                          description: The URL of a thumbnail image associated with the Learning Object.
                          allOf:
                          - type: object
                            properties:
                              key:
                                type: string
                                description: A unique key for the media.
                              value:
                                type: string
                                description: 'Stores the actual media or a representation of the resource the media is referring to. For example, depending on the context the content of the value can be:- Direct Link: If the resource is externally hosted, ''value'' can contain a URL or URI pointing to the location where the resource is accessible.- Raw Data: For resources that are self-contained or need to be stored within the object for immediate access, ''value'' can hold the raw data directly.- Reference Identifier: In scenarios where the resource is part of a larger dataset or system, value can contain an identifier that uniquely points to the resource within that context.'
                              mimetype:
                                type: string
                                description: MIME type for the media.
                              features:
                                description: Describes specific options that are available for the media asset, where each property is a boolean indicating support for an individual feature.
                                allOf:
                                - type: object
                                  properties:
                                    downloadable:
                                      type: boolean
                                      description: Indicates whether the asset is available for download
                                      example: true
                            required:
                            - key
                            - value
                            - mimetype
                        external_id:
                          type: string
                          description: An external source identifier from where the content originated.
                          example: course123
                        provider_id:
                          type: string
                          description: The identifier for the content provider’s portal, where the learner object was created.
                          example: '9876'
                        standalone:
                          type: boolean
                          description: Flag to indicate if this Learning Object is a standalone item or not. Possible values `0` or `1`.
                          example: true
                      required:
                      - creators
                      - type
                      - title
                      - description
                      - image
                      - external_id
                      - provider_id
                      - standalone
                  lifecycle:
                    description: Information related to the various stages and statuses that the Learning Object may go through during its lifecycle.
                    allOf:
                    - type: object
                      properties:
                        state:
                          type: string
                          description: The state of the content in coherence with the Go1 Content Lifecycle.
                          example: published
                          enum:
                          - draft
                          - published
                          - retired
                          - removed
                        pending_state:
                          description: Pending state transitions.
                          allOf:
                          - type: object
                            properties:
                              removed_time:
                                format: date-time
                                type: string
                                description: The date and time at which the Learning Object will be (or was) removed. In [UTC timezone](https://en.wikipedia.org/wiki/Coordinated_Universal_Time), stored in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).
                                example: '2023-05-19T05:13:30.827Z'
                              retired_time:
                                format: date-time
                                type: string
                                description: The date and time when the Learning Object is scheduled for decommissioning. In [UTC timezone](https://en.wikipedia.org/wiki/Coordinated_Universal_Time), stored in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).
                                example: '2023-05-19T05:13:30.827Z'
                      required:
                      - state
                  relevance:
                    description: Descriptive information to aid the consumer in understanding the relevance of this Learning Object for them.
                    allOf:
                    - type: object
                      properties:
                        duration:
                          type: number
                          description: The duration of the Learning Object in minutes.
                          example: 180
                        language:
                          type: string
                          description: 'The language in which the Learning Object is presented. ISO-639-1 language code format, with an optional ISO-3166 two character country code, separated by a hyphen. For example: ''en'', ''en-US'', ''en-GB, ''es''.'
                          example: en
                        year_created:
                          type: number
                          description: The year in which the Learning Object was created.
                          example: 2022
                        summary:
                          type: string
                          description: 'A brief summary of the content. Max length: 120 characters.'
                          example: This course provides an intro to programming concepts and techniques.
                        entry_level:
                          type: string
                          description: The level of experience this Learning Object is intended for. Possible values are `Intermediate`, `Beginner`, `Advanced`, `Suitable for everyone`.
                          example: Intermediate
                        learning_outcomes:
                          description: Intended learning outcomes or objectives that learners can expect to achieve upon completing the Learning Object.
                          example:
                          - Understand the fundamental concepts of object-oriented programming
                          - Create classes and objects in Python
                          type: array
                          items:
                            type: string
                        region:
                          description: Regions in which Learning Object is available for consumption. If set to `GLOBAL`, it can be consumed throughout the globe. Available regions mapped to their key:- `495 - GLOBAL`, `496 - AU`, `497 - US`, `498 - GB`, `499 - NZ`, `500 - MY`, `501 - ZA`, `515 - CA`, `516 - UAE`
                          example:
                          - GLOBAL
                          - AU
                          type: array
                          items:
                            type: string
                        locale:
                          description: 'The regional accent of the audio in the content. Values include: `en-AU`, `en-US`, `en-UK`.'
                          example:
                          - en-AU
                          - en-US
                          type: array
                          items:
                            type: string
                        author:
                          description: The name of the Author of this content.
                          allOf:
                          - type: object
                            properties:
                              name:
                                type: string
                                description: The name of the author of this content
                              about:
                                type: string
                                description: A short summary of the author for this content
                            required:
                            - name
                            - about
                        who_should_consume:
                          type: string
                          description: Short description of the target audience for this content
                        is_compliance:
                          type: boolean
                          description: Indicates whether the Learning Object is classified as compliance training.
                      required:
                      - language
                  tags:
                    description: Descriptive tags associated with the Learning Object.
                    allOf:
                    - type: object
                      properties:
                        items:
                          description: An array of descriptive tags associated with the Learning Object.
                          type: array
                          items:
                            type: string
                      required:
                      - items
                  topics:
                    description: The [topics](https://help.go1.com/en/articles/6767512-topics-taxonomy) associated with the Learning Object.
                    allOf:
                    - type: object
                      properties:
                        items:
                          description: The list of topics
                          example:
                          - id: 64
                            name: Technology Skills
                          - id: 17
                            name: IT Software
                          - id: 110
                            name: Microsoft Products
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: number
                                description: The topic ID
                              name:
                                type: string
                                description: The topic name
                            required:
                            - id
                            - name
                      required:
                      - items
                  protected:
                    description: Information that allows Go1 to consume the Learning Object.
                    oneOf:
                    - type: object
                      properties:
                        can_mark_as_complete:
                          type: boolean
                          description: Whether or not a Learning Object can be marked as complete by a user without completing it.
                          example: true
                        media:
                          description: Contains the media data of the Learning Object.
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                                description: A unique key for the media.
                              value:
                                type: string
                                description: 'Stores the actual media or a representation of the resource the media is referring to. For example, depending on the context the content of the value can be:- Direct Link: If the resource is externally hosted, ''value'' can contain a URL or URI pointing to the location where the resource is accessible.- Raw Data: For resources that are self-contained or need to be stored within the object for immediate access, ''value'' can hold the raw data directly.- Reference Identifier: In scenarios where the resource is part of a larger dataset or system, value can contain an identifier that uniquely points to the resource within that context.'
                              mimetype:
                                type: string
                                description: MIME type for the media.
                              features:
                                description: Describes specific options that are available for the media asset, where each property is a boolean indicating support for an individual feature.
                                allOf:
                                - type: object
                                  properties:
                                    downloadable:
                                      type: boolean
                                      description: Indicates whether the asset is available for download
                                      example: true
                            required:
                            - key
                            - value
                            - mimetype
                      description: audio type Learning Object
                      required:
                      - media
                    - type: object
                      properties:
                        can_mark_as_complete:
                          type: boolean
                          description: Whether or not a Learning Object can be marked as complete by a user without completing it.
                          example: true
                        media:
                          description: Contains the media data of the Learning Object.
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                                description: A unique key for the media.
                              value:
                                type: string
                                description: 'Stores the actual media or a representation of the resource the media is referring to. For example, depending on the context the content of the value can be:- Direct Link: If the resource is externally hosted, ''value'' can contain a URL or URI pointing to the location where the resource is accessible.- Raw Data: For resources that are self-contained or need to be stored within the object for immediate access, ''value'' can hold the raw data directly.- Reference Identifier: In scenarios where the resource is part of a larger dataset or system, value can contain an identifier that uniquely points to the resource within that context.'
                              mimetype:
                                type: string
                                description: MIME type for the media.
                              features:
                                description: Describes specific options that are available for the media asset, where each property is a boolean indicating support for an individual feature.
                                allOf:
                                - type: object
                                  properties:
                                    downloadable:
                                      type: boolean
                                      description: Indicates whether the asset is available for download
                                      example: true
                            required:
                            - key
                            - value
                            - mimetype
                      description: document type Learning Object
                      required:
                      - media
                    - type: object
                      properties:
                        can_mark_as_complete:
                          type: boolean
                          description: Whether or not a Learning Object can be marked as complete by a user without completing it.
                          example: true
                        id:
                          type: string
                          description: Id of interactive
                          example: '12345'
                        status:
                          type: string
                          enum:
                          - processing
                          - ready
                          - error
                          description: Status of the async job for the interactive import.
                          example: ready
                        error_message:
                          type: string
                          description: Error message of the async job for the interactive import.
                          example: Not found
                      description: interactive type Learning Object
                      required:
                      - id
                      - status
                    - type: object
                      properties:
                        can_mark_as_complete:
                          type: boolean
                          description: Whether or not a Learning Object can be marked as complete by a user without completing it.
                          example: true
                        media:
                          description: Contains the media data of the Learning Object.
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                                description: A unique key for the media.
                              value:
                                type: string
                                description: 'Stores the actual media or a representation of the resource the media is referring to. For example, depending on the context the content of the value can be:- Direct Link: If the resource is externally hosted, ''value'' can contain a URL or URI pointing to the location where the resource is accessible.- Raw Data: For resources that are self-contained or need to be stored within the object for immediate access, ''value'' can hold the raw data directly.- Reference Identifier: In scenarios where the resource is part of a larger dataset or system, value can contain an identifier that uniquely points to the resource within that context.'
                              mimetype:
                                type: string
                                description: MIME type for the media.
                              features:
                                description: Describes specific options that are available for the media asset, where each property is a boolean indicating support for an individual feature.
                                allOf:
                                - type: object
                                  properties:
                                    downloadable:
                                      type: boolean
                                      description: Indicates whether the asset is available for download
                                      example: true
                            required:
                            - key
                            - value
                            - mimetype
                        open_mode:
                          type: string
                          enum:
                          - iframe
                          - window
                          - dynamic
                          description: How the interactive should be opened, iframe inside iframe or window inside iframe.
                          example: iframe
                        integration:
                          type: boolean
                          description: Flag to indicate that the LO is integrated content.
                          example: false
                        check_url:
                          type: string
                          description: A URL that will be polled when the content is being consumed.
                          example: https://example.com/contentdata/12345
                        authentication_type:
                          type: string
                          description: Type of authentication used to get info about a learning content.
                          enum:
                          - saml
                  

# --- truncated at 32 KB (197 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/go1/refs/heads/main/openapi/go1-learning-objects-api-openapi.yml