Instructure Lti::MembershipService API

The Lti::MembershipService API from Instructure — 1 operation(s) for lti::membershipservice.

OpenAPI Specification

instructure-lti-membershipservice-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Canvas LMS LTI ExternalTool Lti::MembershipService API
  description: Canvas LTI 1.3 API endpoints including Dynamic Registration, IMS Names and Roles, Line Items, Data Services, and Security endpoints.
  version: 1.0.0
  contact:
    name: Instructure Support
    url: https://developerdocs.instructure.com/
    email: support@instructure.com
  license:
    name: AGPL-3.0
    url: https://github.com/instructure/canvas-lms/blob/master/LICENSE
servers:
- url: https://{canvas_domain}
  description: Canvas institution domain
  variables:
    canvas_domain:
      default: canvas.instructure.com
      description: The institution-specific Canvas domain
tags:
- name: Lti::MembershipService
paths:
  /api/lti/groups/{group_id}/membership_service:
    get:
      summary: group_index
      tags:
      - Lti::MembershipService
      parameters:
      - name: group_id
        in: path
        required: true
        schema:
          type: integer
        example: 716160
      - name: page
        in: query
        required: false
        schema:
          type: integer
        example: 2
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
        example: 1
      - name: role
        in: query
        required: false
        schema:
          type: string
        example: Instructor
      responses:
        '200':
          description: outputs the expected data in the expected format at the top level
          content:
            application/json:
              schema:
                type: object
                properties:
                  '@id':
                    nullable: true
                  '@type':
                    type: string
                  '@context':
                    type: string
                  differences:
                    nullable: true
                  nextPage:
                    type: string
                    nullable: true
                  pageOf:
                    type: object
                    properties:
                      membershipPredicate:
                        type: string
                      membershipSubject:
                        type: object
                        properties:
                          '@id':
                            nullable: true
                          name:
                            type: string
                          '@type':
                            type: string
                          contextId:
                            type: string
                          membership:
                            type: array
                            items:
                              type: object
                              properties:
                                '@id':
                                  nullable: true
                                status:
                                  type: string
                                role:
                                  type: array
                                  items:
                                    type: string
                                member:
                                  type: object
                                  properties:
                                    '@id':
                                      nullable: true
                                    name:
                                      type: string
                                    img:
                                      nullable: true
                                    email:
                                      type: string
                                      nullable: true
                                    familyName:
                                      type: string
                                    givenName:
                                      type: string
                                    resultSourcedId:
                                      nullable: true
                                    sourcedId:
                                      nullable: true
                                    userId:
                                      type: string
                                  required:
                                  - '@id'
                                  - name
                                  - img
                                  - email
                                  - familyName
                                  - givenName
                                  - resultSourcedId
                                  - sourcedId
                                  - userId
                              required:
                              - '@id'
                              - status
                              - role
                              - member
                        required:
                        - '@id'
                        - name
                        - '@type'
                        - contextId
                        - membership
                      '@id':
                        nullable: true
                      '@context':
                        type: string
                      '@type':
                        type: string
                    required:
                    - membershipPredicate
                    - membershipSubject
                    - '@id'
                    - '@context'
                    - '@type'
                required:
                - '@id'
                - '@type'
                - '@context'
                - differences
                - nextPage
                - pageOf
              example:
                '@id': null
                '@type': Page
                '@context': http://purl.imsglobal.org/ctx/lis/v2/MembershipContainer
                differences: null
                nextPage: null
                pageOf:
                  membershipPredicate: http://www.w3.org/ns/org#membership
                  membershipSubject:
                    '@id': null
                    name: Group 1
                    '@type': Context
                    contextId: 43849229e5c886f6aafc5bb36fe4c3b33cb3df17
                    membership:
                    - '@id': null
                      status: Active
                      role:
                      - urn:lti:role:ims/lis/Member
                      member:
                        '@id': null
                        name: value for name
                        img: null
                        email: nobody@example.com
                        familyName: name
                        givenName: value for
                        resultSourcedId: null
                        sourcedId: null
                        userId: f911f4d388aeff99d2c123bc20a157eff4ef0430
                  '@id': null
                  '@context': http://purl.imsglobal.org/ctx/lis/v2/MembershipContainer
                  '@type': LISMembershipContainer
        '401':
          description: requires a user
          content:
            text/html:
              schema:
                type: string
              example: ''
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                      required:
                      - message
                required:
                - errors
              example:
                errors:
                - message: Invalid access token.
components:
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authentication
      flows:
        authorizationCode:
          authorizationUrl: https://{canvas_domain}/login/oauth2/auth
          tokenUrl: https://{canvas_domain}/login/oauth2/token
          scopes: {}
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token (access token)