iSpring Learn group API

Group operations

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/ispring-group-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 email required.

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

OpenAPI Specification

ispring-group-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Learn Rest Api assignments group API
  version: '3.0'
  description: Assignment operations
servers:
- url: https://api-learn.ispring.com
  description: Main server
security:
- bearerAuth: []
tags:
- name: group
  description: Group operations
paths:
  /group:
    get:
      tags:
      - group
      summary: Get group list
      operationId: GetGroups
      responses:
        '200':
          description: Success Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Group'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Group'
                xml:
                  name: response
                  wrapped: true
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/PermissionDenied'
    post:
      tags:
      - group
      summary: Add a new group
      operationId: AddGroup
      parameters:
      - $ref: '#/components/parameters/returnObject'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewGroup'
          application/xml:
            schema:
              $ref: '#/components/schemas/NewGroup'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                description: The group ID
                type: string
                format: uuid
            application/xml:
              schema:
                description: The group ID
                type: string
                format: uuid
                xml:
                  name: response
                  wrapped: true
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/PermissionDenied'
  /group/smart:
    post:
      tags:
      - group
      summary: Add a new smart group
      operationId: AddSmartGroup
      parameters:
      - $ref: '#/components/parameters/returnObject'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewSmartGroup'
          application/xml:
            schema:
              $ref: '#/components/schemas/NewSmartGroup'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                description: The group ID
                type: string
                format: uuid
            application/xml:
              schema:
                description: The group ID
                type: string
                format: uuid
                xml:
                  name: response
                  wrapped: true
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/PermissionDenied'
  /group/smart/{groupId}:
    post:
      tags:
      - group
      summary: Update smart group rules
      operationId: EditSmartGroup
      parameters:
      - name: groupId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSmartGroup'
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdateSmartGroup'
      responses:
        '200':
          description: Success Response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/PermissionDenied'
  /group/smart/{groupId}/rules:
    get:
      tags:
      - group
      summary: Get smart group rules
      operationId: GetSmartGroupRules
      parameters:
      - name: groupId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success Response
          content:
            application/json:
              schema:
                required:
                - smartGroupRules
                properties:
                  smartGroupRules:
                    $ref: '#/components/schemas/SmartGroupRules'
                type: object
            application/xml:
              schema:
                required:
                - smartGroupRules
                properties:
                  smartGroupRules:
                    $ref: '#/components/schemas/SmartGroupRules'
                type: object
                xml:
                  name: response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/PermissionDenied'
  /group/{groupId}:
    get:
      tags:
      - group
      summary: Get group details
      operationId: GetGroup
      parameters:
      - name: groupId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailedGroup'
            application/xml:
              schema:
                properties:
                  response:
                    $ref: '#/components/schemas/DetailedGroup'
                type: object
                xml:
                  name: response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/PermissionDenied'
    post:
      tags:
      - group
      summary: Update group
      operationId: UpdateGroup
      parameters:
      - name: groupId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateGroup'
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdateGroup'
      responses:
        '200':
          description: Success Response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/PermissionDenied'
    delete:
      tags:
      - group
      summary: Delete group
      operationId: RemoveGroup
      parameters:
      - name: groupId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: No content
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/PermissionDenied'
  /group/{groupId}/members:
    post:
      tags:
      - group
      summary: Update group members
      operationId: UpdateGroupMembers
      parameters:
      - name: groupId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateGroupMembers'
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdateGroupMembers'
      responses:
        '200':
          description: Success Response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/PermissionDenied'
  /groups:
    get:
      tags:
      - group
      summary: List groups
      operationId: ListGroups
      parameters:
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageToken'
      responses:
        '200':
          description: Success Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupsPage'
            application/xml:
              schema:
                $ref: '#/components/schemas/GroupsPage'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/PermissionDenied'
components:
  schemas:
    GroupsPage:
      required:
      - groups
      properties:
        groups:
          type: array
          items:
            $ref: '#/components/schemas/Group'
          xml:
            wrapped: true
        nextPageToken:
          type: string
      type: object
      xml:
        name: response
    UpdateSmartGroup:
      required:
      - rules
      properties:
        name:
          type: string
        rules:
          $ref: '#/components/schemas/SmartGroupRuleNodes'
      type: object
      xml:
        name: request
    SmartGroupRuleNodes:
      required:
      - and
      properties:
        and:
          type: array
          items:
            $ref: '#/components/schemas/AndSmartGroupRuleNode'
      type: object
    ErrorResponse:
      required:
      - code
      - message
      properties:
        code:
          type: integer
        message:
          type: string
      type: object
      xml:
        name: response
    DetailedGroup:
      required:
      - usersCount
      - groupId
      - userIds
      - name
      - isSmart
      properties:
        usersCount:
          type: integer
        groupId:
          type: string
          format: uuid
        userIds:
          $ref: '#/components/schemas/ArrayOfIds'
        name:
          type: string
        isSmart:
          type: boolean
      type: object
      xml:
        name: group
    UpdateGroup:
      required:
      - name
      properties:
        name:
          type: string
      type: object
      xml:
        name: request
    SmartGroupRules:
      required:
      - groupId
      - rules
      properties:
        groupId:
          type: string
          format: uuid
        rules:
          $ref: '#/components/schemas/SmartGroupRuleNodes'
      type: object
    Group:
      required:
      - groupId
      - name
      - isSmart
      properties:
        groupId:
          type: string
          format: uuid
        name:
          type: string
        isSmart:
          type: boolean
      type: object
      xml:
        name: group
    OrSmartGroupRuleNode:
      required:
      - rule
      properties:
        rule:
          $ref: '#/components/schemas/SmartGroupRule'
      type: object
    UpdateGroupMembers:
      required:
      - userIds
      properties:
        userIds:
          $ref: '#/components/schemas/ArrayOfIds'
      type: object
      xml:
        name: request
    NewSmartGroup:
      required:
      - name
      - rules
      properties:
        name:
          type: string
        rules:
          $ref: '#/components/schemas/SmartGroupRuleNodes'
      type: object
      xml:
        name: request
    ArrayOfIds:
      type: array
      items:
        type: string
        format: uuid
        xml:
          name: id
      xml:
        wrapped: true
    AndSmartGroupRuleNode:
      required:
      - or
      properties:
        or:
          type: array
          items:
            $ref: '#/components/schemas/OrSmartGroupRuleNode'
      type: object
    SmartGroupRule:
      required:
      - attributeType
      - operator
      - value
      properties:
        attributeType:
          description: 1 - Department, 2 - Group, 3 - Profile used
          type: integer
          enum:
          - 1
          - 2
          - 3
        attributeId:
          type: string
        operator:
          description: 1 - Only, 2 - This and nested
          type: integer
          enum:
          - 1
          - 2
        value:
          type: string
      type: object
    NewGroup:
      required:
      - name
      properties:
        name:
          type: string
        userIds:
          $ref: '#/components/schemas/ArrayOfIds'
      type: object
      xml:
        name: request
  responses:
    PermissionDenied:
      description: Permission Denied
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  parameters:
    returnObject:
      name: X-Return-Object
      in: header
      required: false
      schema:
        type: boolean
    pageSize:
      name: pageSize
      in: query
      required: false
      schema:
        type: integer
    pageToken:
      name: pageToken
      in: query
      required: false
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer