Course pages CMS

Drupal JSON:API behind the course pages — course descriptions, materials and related content. Declares an oauth2 scheme with no flows whose description links a third-party CRM vendor's documentation, which is unedited Drupal Simple OAuth boilerplate.

Operations 12

GET /node/course List (Content - Course)
GET /node/course/{entity}/field_component_results Related: field_component_results (Paragraph - Title)
GET /node/course/{entity}/relationships/field_component_results Relationship: field_component_results (Paragraph - Title)
GET /node/course/{entity}/relationships/field_course_material_groups Relationship: field_course_material_groups (Paragraph - --OBSOLETE-- Material group)
GET /node/course/{entity}/field_image Related: field_image (File)
GET /node/course/{entity}/relationships/field_image Relationship: field_image (File)
GET /node/course/{entity}/field_materials Related: field_materials (Paragraph - Title)
GET /node/course/{entity}/relationships/field_materials Relationship: field_materials (Paragraph - Title)
GET /node/course/{entity} View (Content - Course)
GET /node/course/{entity}/relationships/node_type Relationship: node_type (Content type)
GET /node/course/{entity}/relationships/revision_uid Relationship: revision_uid (User)
GET /node/course/{entity}/relationships/uid Relationship: uid (User)

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/course-pages-cms"
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

university-of-helsinki-course-pages-cms-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: University of Helsinki - Courses content machine - JSON API
  description: This is a JSON API compliant implementation
  version: Versioning not supported
servers:
- url: https://gw.api.helsinki.fi/course-pages-cms
tags:
- name: Content - Course
  description: Content type Course of type Content. Contains information related to a course, such as
    introduction text and an image.
  x-entity-type: node
  x-definition:
    $ref: '#/definitions/node--course'
paths:
  /node/course:
    get:
      tags:
      - Content - Course
      summary: List (Content - Course)
      description: <em class="placeholder"><a href="http://jsonapi.org/format/#fetching">Collection endpoint</a></em>
        for the node--course resource type. Collections are a list of <em class="placeholder"><a href="http://jsonapi.org/format/#document-resource-objects">resource
        objects</a></em> for a particular resource type. In the JSON API module for Drupal all collections
        are homogeneous, which means that all the items in a collection are of the same type.
      parameters:
      - name: resourceVersion
        in: query
        description: The JSON:API module exposes entity revisions as resource versions. <a href="https://www.drupal.org/docs/8/modules/jsonapi/revisions">Learn
          more in the documentation</a>.
        schema:
          type: string
      - name: filter
        in: query
        description: The JSON:API module has some of the most robust and feature-rich filtering features
          around. All of that power comes with a bit of a learning curve though. <a href="https://www.drupal.org/docs/8/modules/jsonapi/filtering">Learn
          more in the documentation</a>.
        style: form
        explode: false
        schema:
          type: array
      - name: sort
        in: query
        description: The JSON:API module allows you to sort collections based on properties in the resource
          or in nested resources. <a href="https://www.drupal.org/docs/8/modules/jsonapi/sorting">Learn
          more in the documentation</a>.
        style: form
        explode: false
        schema:
          type: array
      - name: page
        in: query
        description: Pagination can be a deceptively complex topic. It's easy to fall into traps and not
          follow best-practices. <a href="https://www.drupal.org/docs/8/modules/jsonapi/pagination">Learn
          more in the documentation</a>.
        style: form
        explode: false
        schema:
          type: array
      - name: include
        in: query
        description: 'Embed related entities in the response. For example: use a query string like <code>?include=comments.author</code>
          to include all the entities referenced by <code>comments</code> and all the entities referenced
          by <code>author</code> on those entities!. <a href="https://www.drupal.org/docs/8/modules/jsonapi/includes">Learn
          more in the documentation</a>.'
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/vnd.api+json:
              schema:
                title: node:course Schema
                required:
                - data
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/node--course/properties/data'
                  meta:
                    type: object
                    additionalProperties: true
                    description: Non-standard meta-information that can not be represented as an attribute
                      or relationship.
                  links:
                    type: object
                    additionalProperties:
                      required:
                      - href
                      type: object
                      properties:
                        href:
                          type: string
                          description: 'A string containing the link''s URL . '
                          format: uri - reference
                        meta:
                          type: object
                          additionalProperties: true
                          description: Non-standard meta-information that can not be represented as an
                            attribute or relationship.
                      description: 'A link **MUST** be represented as either: a string containing the
                        link''s URL or a link object . '
                  jsonapi:
                    type: object
                    additionalProperties: false
                    description: An object describing the server's implementation
                additionalProperties: true
                description: Contains information related to a course, such as introduction text and an
                  image.
  /node/course/{entity}/field_component_results:
    get:
      tags:
      - Content - Course
      summary: 'Related: field_component_results (Paragraph - Title)'
      description: <em class="placeholder"><a href="http://jsonapi.org/format/#fetching">Related endpoint</a></em>
        for the paragraph--title resource type through the <em class="placeholder">field_component_results</em>
        relationship. The related endpoint contains a <em class="placeholder"><a href="http://jsonapi.org/format/#document-resource-objects">resource
        object</a></em> with the data for a particular related resource or entity.
      parameters:
      - name: resourceVersion
        in: query
        description: The JSON:API module exposes entity revisions as resource versions. <a href="https://www.drupal.org/docs/8/modules/jsonapi/revisions">Learn
          more in the documentation</a>.
        schema:
          type: string
      - name: entity
        in: path
        description: The uuid of the node course
        required: true
        schema: {}
      responses:
        '200':
          description: successful operation
          content: {}
  /node/course/{entity}/relationships/field_component_results:
    get:
      tags:
      - Content - Course
      summary: 'Relationship: field_component_results (Paragraph - Title)'
      description: <em class="placeholder"><a href="https://jsonapi.org/format/#fetching-relationships">Relationship
        endpoint</a></em> for the paragraph--title resource type through the <em class="placeholder">field_component_results</em>
        relationship. The relationship endpoint contains a <em class="placeholder"><a href="https://jsonapi.org/format/#document-resource-identifier-objects">resource
        identifier object</a></em> with the data for a particular relationship.
      parameters:
      - name: resourceVersion
        in: query
        description: The JSON:API module exposes entity revisions as resource versions. <a href="https://www.drupal.org/docs/8/modules/jsonapi/revisions">Learn
          more in the documentation</a>.
        schema:
          type: string
      - name: entity
        in: path
        description: The uuid of the node course
        required: true
        schema: {}
      responses:
        '200':
          description: successful operation
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    uniqueItems: true
                    type: array
                    description: An array of objects each containing \"type\" and \"id\" members for to-many
                      relationships.
                    items:
                      type: object
                      additionalProperties: false
                      description: The "type" and "id" to non-empty members.
  /node/course/{entity}/relationships/field_course_material_groups:
    get:
      tags:
      - Content - Course
      summary: 'Relationship: field_course_material_groups (Paragraph - --OBSOLETE-- Material group)'
      description: <em class="placeholder"><a href="https://jsonapi.org/format/#fetching-relationships">Relationship
        endpoint</a></em> for the paragraph--material_group resource type through the <em class="placeholder">field_course_material_groups</em>
        relationship. The relationship endpoint contains a <em class="placeholder"><a href="https://jsonapi.org/format/#document-resource-identifier-objects">resource
        identifier object</a></em> with the data for a particular relationship.
      parameters:
      - name: resourceVersion
        in: query
        description: The JSON:API module exposes entity revisions as resource versions. <a href="https://www.drupal.org/docs/8/modules/jsonapi/revisions">Learn
          more in the documentation</a>.
        schema:
          type: string
      - name: entity
        in: path
        description: The uuid of the node course
        required: true
        schema: {}
      responses:
        '200':
          description: successful operation
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    uniqueItems: true
                    type: array
                    description: An array of objects each containing \"type\" and \"id\" members for to-many
                      relationships.
                    items:
                      type: object
                      additionalProperties: false
                      description: The "type" and "id" to non-empty members.
  /node/course/{entity}/field_image:
    get:
      tags:
      - Content - Course
      summary: 'Related: field_image (File)'
      description: <em class="placeholder"><a href="http://jsonapi.org/format/#fetching">Related endpoint</a></em>
        for the file--file resource type through the <em class="placeholder">field_image</em> relationship.
        The related endpoint contains a <em class="placeholder"><a href="http://jsonapi.org/format/#document-resource-objects">resource
        object</a></em> with the data for a particular related resource or entity.
      parameters:
      - name: resourceVersion
        in: query
        description: The JSON:API module exposes entity revisions as resource versions. <a href="https://www.drupal.org/docs/8/modules/jsonapi/revisions">Learn
          more in the documentation</a>.
        schema:
          type: string
      - name: entity
        in: path
        description: The uuid of the node course
        required: true
        schema: {}
      responses:
        '200':
          description: successful operation
          content: {}
  /node/course/{entity}/relationships/field_image:
    get:
      tags:
      - Content - Course
      summary: 'Relationship: field_image (File)'
      description: <em class="placeholder"><a href="https://jsonapi.org/format/#fetching-relationships">Relationship
        endpoint</a></em> for the file--file resource type through the <em class="placeholder">field_image</em>
        relationship. The relationship endpoint contains a <em class="placeholder"><a href="https://jsonapi.org/format/#document-resource-identifier-objects">resource
        identifier object</a></em> with the data for a particular relationship.
      parameters:
      - name: resourceVersion
        in: query
        description: The JSON:API module exposes entity revisions as resource versions. <a href="https://www.drupal.org/docs/8/modules/jsonapi/revisions">Learn
          more in the documentation</a>.
        schema:
          type: string
      - name: entity
        in: path
        description: The uuid of the node course
        required: true
        schema: {}
      responses:
        '200':
          description: successful operation
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    description: The "type" and "id" to non-empty members.
  /node/course/{entity}/field_materials:
    get:
      tags:
      - Content - Course
      summary: 'Related: field_materials (Paragraph - Title)'
      description: <em class="placeholder"><a href="http://jsonapi.org/format/#fetching">Related endpoint</a></em>
        for the paragraph--title resource type through the <em class="placeholder">field_materials</em>
        relationship. The related endpoint contains a <em class="placeholder"><a href="http://jsonapi.org/format/#document-resource-objects">resource
        object</a></em> with the data for a particular related resource or entity.
      parameters:
      - name: resourceVersion
        in: query
        description: The JSON:API module exposes entity revisions as resource versions. <a href="https://www.drupal.org/docs/8/modules/jsonapi/revisions">Learn
          more in the documentation</a>.
        schema:
          type: string
      - name: entity
        in: path
        description: The uuid of the node course
        required: true
        schema: {}
      responses:
        '200':
          description: successful operation
          content: {}
  /node/course/{entity}/relationships/field_materials:
    get:
      tags:
      - Content - Course
      summary: 'Relationship: field_materials (Paragraph - Title)'
      description: <em class="placeholder"><a href="https://jsonapi.org/format/#fetching-relationships">Relationship
        endpoint</a></em> for the paragraph--title resource type through the <em class="placeholder">field_materials</em>
        relationship. The relationship endpoint contains a <em class="placeholder"><a href="https://jsonapi.org/format/#document-resource-identifier-objects">resource
        identifier object</a></em> with the data for a particular relationship.
      parameters:
      - name: resourceVersion
        in: query
        description: The JSON:API module exposes entity revisions as resource versions. <a href="https://www.drupal.org/docs/8/modules/jsonapi/revisions">Learn
          more in the documentation</a>.
        schema:
          type: string
      - name: entity
        in: path
        description: The uuid of the node course
        required: true
        schema: {}
      responses:
        '200':
          description: successful operation
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    uniqueItems: true
                    type: array
                    description: An array of objects each containing \"type\" and \"id\" members for to-many
                      relationships.
                    items:
                      type: object
                      additionalProperties: false
                      description: The "type" and "id" to non-empty members.
  /node/course/{entity}:
    get:
      tags:
      - Content - Course
      summary: View (Content - Course)
      description: <em class="placeholder"><a href="http://jsonapi.org/format/#fetching">Individual endpoint</a></em>
        for the node--course resource type. The individual endpoint contains a <em class="placeholder"><a
        href="http://jsonapi.org/format/#document-resource-objects">resource object</a></em> with the
        data for a particular resource or entity.
      parameters:
      - name: resourceVersion
        in: query
        description: The JSON:API module exposes entity revisions as resource versions. <a href="https://www.drupal.org/docs/8/modules/jsonapi/revisions">Learn
          more in the documentation</a>.
        schema:
          type: string
      - name: entity
        in: path
        description: The uuid of the node course
        required: true
        schema: {}
      responses:
        '200':
          description: successful operation
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/node--course'
  /node/course/{entity}/relationships/node_type:
    get:
      tags:
      - Content - Course
      summary: 'Relationship: node_type (Content type)'
      description: <em class="placeholder"><a href="https://jsonapi.org/format/#fetching-relationships">Relationship
        endpoint</a></em> for the node_type--node_type resource type through the <em class="placeholder">node_type</em>
        relationship. The relationship endpoint contains a <em class="placeholder"><a href="https://jsonapi.org/format/#document-resource-identifier-objects">resource
        identifier object</a></em> with the data for a particular relationship.
      parameters:
      - name: resourceVersion
        in: query
        description: The JSON:API module exposes entity revisions as resource versions. <a href="https://www.drupal.org/docs/8/modules/jsonapi/revisions">Learn
          more in the documentation</a>.
        schema:
          type: string
      - name: entity
        in: path
        description: The uuid of the node course
        required: true
        schema: {}
      responses:
        '200':
          description: successful operation
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    description: The "type" and "id" to non-empty members.
  /node/course/{entity}/relationships/revision_uid:
    get:
      tags:
      - Content - Course
      summary: 'Relationship: revision_uid (User)'
      description: <em class="placeholder"><a href="https://jsonapi.org/format/#fetching-relationships">Relationship
        endpoint</a></em> for the user--user resource type through the <em class="placeholder">revision_uid</em>
        relationship. The relationship endpoint contains a <em class="placeholder"><a href="https://jsonapi.org/format/#document-resource-identifier-objects">resource
        identifier object</a></em> with the data for a particular relationship.
      parameters:
      - name: resourceVersion
        in: query
        description: The JSON:API module exposes entity revisions as resource versions. <a href="https://www.drupal.org/docs/8/modules/jsonapi/revisions">Learn
          more in the documentation</a>.
        schema:
          type: string
      - name: entity
        in: path
        description: The uuid of the node course
        required: true
        schema: {}
      responses:
        '200':
          description: successful operation
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    description: The "type" and "id" to non-empty members.
  /node/course/{entity}/relationships/uid:
    get:
      tags:
      - Content - Course
      summary: 'Relationship: uid (User)'
      description: <em class="placeholder"><a href="https://jsonapi.org/format/#fetching-relationships">Relationship
        endpoint</a></em> for the user--user resource type through the <em class="placeholder">uid</em>
        relationship. The relationship endpoint contains a <em class="placeholder"><a href="https://jsonapi.org/format/#document-resource-identifier-objects">resource
        identifier object</a></em> with the data for a particular relationship.
      parameters:
      - name: resourceVersion
        in: query
        description: The JSON:API module exposes entity revisions as resource versions. <a href="https://www.drupal.org/docs/8/modules/jsonapi/revisions">Learn
          more in the documentation</a>.
        schema:
          type: string
      - name: entity
        in: path
        description: The uuid of the node course
        required: true
        schema: {}
      responses:
        '200':
          description: successful operation
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    description: The "type" and "id" to non-empty members.
components:
  schemas:
    node--course:
      title: node:course Schema
      required:
      - data
      type: object
      properties:
        data:
          type: object
          additionalProperties: false
          description: \"Resource objects\" appear in a JSON:API document to represent resources.
        meta:
          type: object
          additionalProperties: true
          description: Non-standard meta-information that can not be represented as an attribute or relationship.
        links:
          type: object
          additionalProperties:
            required:
            - href
            type: object
            properties:
              href:
                type: string
                description: 'A string containing the link''s URL . '
                format: uri - reference
              meta:
                type: object
                additionalProperties: true
                description: Non-standard meta-information that can not be represented as an attribute
                  or relationship.
            description: 'A link **MUST** be represented as either: a string containing the link''s URL
              or a link object . '
        jsonapi:
          type: object
          additionalProperties: false
          description: An object describing the server's implementation
      additionalProperties: true
      description: Contains information related to a course, such as introduction text and an image.
  securitySchemes:
    oauth2:
      type: oauth2
      description: For more information see https://developers.getbase.com/docs/rest/articles/oauth2/requests
      flows: {}
    csrf_token:
      type: apiKey
      name: X-CSRF-Token
      in: header
      x-tokenUrl: https://cms.studies.helsinki.fi/user/token
x-original-swagger-version: '2.0'