Canvas Collaborations API

The Collaborations API from Canvas — 5 operation(s) for collaborations.

Operations 5

GET /v1/courses/{course_id}/collaborations List collaborations #
GET /v1/groups/{group_id}/collaborations List collaborations #
GET /v1/collaborations/{id}/members List members of a collaboration #
GET /v1/courses/{course_id}/potential_collaborators List potential members #
GET /v1/groups/{group_id}/potential_collaborators List potential members #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/canvas-collaborations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

canvas-collaborations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Canvas LMS REST Collaborations API
  version: v1
  summary: The complete Canvas LMS REST API, converted from the Swagger 1.2 documents Instructure publishes under https://canvas.instructure.com/doc/api/.
  description: The Canvas LMS REST API covers courses, assignments, quizzes, grades, users, enrollments, accounts, files, modules, rubrics, submissions, SIS imports, LTI, analytics and account administration.
  contact:
    name: Instructure Canvas
    url: https://canvas.instructure.com/doc/api/
  license:
    name: AGPL-3.0
    url: https://github.com/instructure/canvas-lms/blob/master/LICENSE
servers:
- url: https://canvas.instructure.com/api
  description: Instructure-hosted Canvas (canvas.instructure.com)
- url: https://{canvas_host}/api
  description: Any Canvas instance; Canvas is multi-tenant and self-hostable, so the host is the institution's Canvas domain.
  variables:
    canvas_host:
      default: canvas.instructure.com
      description: Your institution's Canvas hostname, e.g. school.instructure.com
security:
- bearerAuth: []
- oauth2: []
tags:
- name: Collaborations
  x-resource: collaborations
  externalDocs:
    url: https://canvas.instructure.com/doc/api/collaborations.html
paths:
  /v1/courses/{course_id}/collaborations:
    get:
      tags:
      - Collaborations
      operationId: list_collaborations_courses
      summary: List collaborations
      description: 'A paginated list of collaborations the current user has access to in the

        context of the course provided in the url. NOTE: this only returns

        ExternalToolCollaboration type collaborations.


        curl https:///api/v1/courses/1/collaborations/'
      parameters:
      - name: course_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Collaboration'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/collaborations.html
  /v1/groups/{group_id}/collaborations:
    get:
      tags:
      - Collaborations
      operationId: list_collaborations_groups
      summary: List collaborations
      description: 'A paginated list of collaborations the current user has access to in the

        context of the course provided in the url. NOTE: this only returns

        ExternalToolCollaboration type collaborations.


        curl https:///api/v1/courses/1/collaborations/'
      parameters:
      - name: group_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Collaboration'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/collaborations.html
  /v1/collaborations/{id}/members:
    get:
      tags:
      - Collaborations
      operationId: list_members_of_collaboration
      summary: List members of a collaboration
      description: A paginated list of the collaborators of a given collaboration
      parameters:
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: ID
      - name: include
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - collaborator_lti_id
            - avatar_image_url
        required: false
        description: "- \"collaborator_lti_id\": Optional information to include with each member.\n  Represents an identifier to be used for the member in an LTI context.\n- \"avatar_image_url\": Optional information to include with each member.\n  The url for the avatar of a collaborator with type 'user'."
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Collaborator'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/collaborations.html
  /v1/courses/{course_id}/potential_collaborators:
    get:
      tags:
      - Collaborations
      operationId: list_potential_members_courses
      summary: List potential members
      description: 'A paginated list of the users who can potentially be added to a

        collaboration in the given context.


        For courses, this consists of all enrolled users. For groups, it is comprised of the

        group members plus the admins of the course containing the group.'
      parameters:
      - name: course_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                  x-canvas-declared-type: User
      externalDocs:
        url: https://canvas.instructure.com/doc/api/collaborations.html
  /v1/groups/{group_id}/potential_collaborators:
    get:
      tags:
      - Collaborations
      operationId: list_potential_members_groups
      summary: List potential members
      description: 'A paginated list of the users who can potentially be added to a

        collaboration in the given context.


        For courses, this consists of all enrolled users. For groups, it is comprised of the

        group members plus the admins of the course containing the group.'
      parameters:
      - name: group_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                  x-canvas-declared-type: User
      externalDocs:
        url: https://canvas.instructure.com/doc/api/collaborations.html
components:
  schemas:
    Collaboration:
      type: object
      properties:
        id:
          type: integer
          example: 43
          description: The unique identifier for the collaboration
        collaboration_type:
          type: string
          example: Microsoft Office
          description: A name for the type of collaboration
        document_id:
          type: string
          example: oinwoenfe8w8ef_onweufe89fef
          description: The collaboration document identifier for the collaboration provider
        user_id:
          type: integer
          example: 92
          description: The canvas id of the user who created the collaboration
        context_id:
          type: integer
          example: 77
          description: The canvas id of the course or group to which the collaboration belongs
        context_type:
          type: string
          example: Course
          description: The canvas type of the course or group to which the collaboration belongs
        url:
          type: string
          description: The LTI launch url to view collaboration.
        created_at:
          type: string
          format: date-time
          example: '2012-06-01T00:00:00-06:00'
          description: The timestamp when the collaboration was created
        updated_at:
          type: string
          format: date-time
          example: '2012-06-01T00:00:00-06:00'
          description: The timestamp when the collaboration was last modified
        description:
          type: string
        title:
          type: string
        type:
          type: string
          example: ExternalToolCollaboration
          description: Another representation of the collaboration type
        update_url:
          type: string
          description: The LTI launch url to edit the collaboration
        user_name:
          type: string
          example: John Danger
          description: The name of the user who owns the collaboration
    Collaborator:
      type: object
      properties:
        id:
          type: integer
          example: 12345
          description: The unique user or group identifier for the collaborator.
        type:
          type: string
          example: user
          description: The type of collaborator (e.g. 'user' or 'group').
        name:
          type: string
          example: Don Draper
          description: The name of the collaborator.
      required:
      - id
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Canvas OAuth2 access token sent as "Authorization: Bearer <token>". See https://canvas.instructure.com/doc/api/file.oauth.html'
    oauth2:
      type: oauth2
      description: Canvas OAuth2. See https://canvas.instructure.com/doc/api/file.oauth.html and https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
      flows:
        authorizationCode:
          authorizationUrl: https://canvas.instructure.com/login/oauth2/auth
          tokenUrl: https://canvas.instructure.com/login/oauth2/token
          refreshUrl: https://canvas.instructure.com/login/oauth2/token
          scopes: {}
externalDocs:
  description: Canvas LMS REST API Documentation
  url: https://canvas.instructure.com/doc/api/
x-generated-from: https://canvas.instructure.com/doc/api/api-docs.json
x-provenance:
  method: derived
  derived_by: API Evangelist enrichment pipeline (Swagger 1.2 -> OpenAPI 3.1 conversion)
  source: openapi/_original/swagger-1.2/*.json (144 verbatim first-party Swagger 1.2 documents)
  source_url: https://canvas.instructure.com/doc/api/api-docs.json
  fetched: '2026-09-05'
  http_status: 200