ETD@IISc DSpace 6 REST API

Read-only REST API of ETD@IISc, the Electronic Theses and Dissertations repository IISc runs on DSpace 6 at its own etd.iisc.ac.in host, serving the Community / Collection / Item / Bitstream hierarchy as JSON. HOST CURRENTLY DEAD — re-probed 2026-09-01 with a browser User-Agent, every path (/, /rest, /rest/communities, /rest/items, /handle/2005/1, /oai/request) returns HTTP 502 with a 165-byte "The website is under maintenance" body on three consecutive attempts, and the Internet Archive holds no successful capture after 2026-05-16. The four OpenAPI documents below were written by API Evangelist against the documented DSpace 6 contract and confirmed against the live host during the 2026-06-03 enrichment run; they are stamped x-method generated with an x-host-status block recording the 502, and are retained as the record of an institution-operated deployment rather than as a callable surface. This single entry replaces the four separate apis[] records the tag split had created, which reported one deployment as four APIs.

Operations 2

GET /communities List communities #
GET /communities/{communityId} Get a community #

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/etd-dspace-rest"
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

iisc-communities-api-openapi.yml Raw ↑
x-generated: '2026-09-01'
x-method: generated
x-source: >-
  API Evangelist-authored. Modelled on the documented DSpace 6 REST contract and confirmed
  against https://etd.iisc.ac.in/rest during the 2026-06-03 enrichment run. IISc publishes no
  machine-readable OpenAPI of its own; this is our description of its DSpace deployment, not a
  provider-published artifact. Re-probed 2026-09-01: host returns 502 (see info.description).
x-host-status:
  probed: '2026-09-01'
  url: https://etd.iisc.ac.in/rest
  status: 502
  method: probed
  detail: >-
    Re-probed 2026-09-01 with a browser User-Agent. Every path on etd.iisc.ac.in — /, /rest,
    /rest/communities, /rest/items, /handle/2005/1 and /oai/request — returns HTTP 502 with a
    165-byte "The website is under maintenance" body, on three consecutive attempts. The Internet
    Archive holds no successful capture of the host after 2026-05-16. This contract is retained as
    the record of an institution-operated DSpace 6 deployment, not as a currently callable surface.
openapi: 3.2.0
info:
  title: ETD@IISc DSpace REST Communities API
  description: Read-only machine-readable REST API exposed by the ETD@IISc Electronic Theses and Dissertations repository, which runs on DSpace 6. The API serves the repository's Community / Collection / Item / Bitstream hierarchy as JSON. Paths and object schemas in this document were confirmed live against https://etd.iisc.ac.in/rest during enrichment (verb-less GET endpoints returning real JSON). Only endpoints and fields actually observed or part of the documented DSpace 6 REST contract are included. Write/authenticated endpoints are out of scope for this public read profile.
  version: '6.0'
  contact:
    name: API Evangelist
    url: https://etd.iisc.ac.in/
servers:
- url: https://etd.iisc.ac.in/rest
  description: ETD@IISc DSpace 6 REST API
tags:
- name: Communities
paths:
  /communities:
    get:
      tags:
      - Communities
      summary: List communities
      description: Returns the array of top-level and child communities in the repository.
      operationId: listCommunities
      parameters:
      - $ref: '#/components/parameters/expand'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      responses:
        '200':
          description: A list of community objects.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Community'
  /communities/{communityId}:
    get:
      tags:
      - Communities
      summary: Get a community
      operationId: getCommunity
      parameters:
      - $ref: '#/components/parameters/communityId'
      - $ref: '#/components/parameters/expand'
      responses:
        '200':
          description: A single community object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Community'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    DSpaceObject:
      type: object
      description: Common base fields shared by DSpace REST resources.
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
        handle:
          type: string
          description: Persistent handle identifier (for example 2005/141).
        type:
          type: string
        link:
          type: string
          description: Relative REST path to this resource.
        expand:
          type: array
          items:
            type: string
    Bitstream:
      allOf:
      - $ref: '#/components/schemas/DSpaceObject'
      - type: object
        properties:
          bundleName:
            type: string
          description:
            type:
            - string
            - 'null'
          format:
            type: string
          mimeType:
            type: string
          sizeBytes:
            type: integer
            format: int64
          parentObject:
            $ref: '#/components/schemas/Item'
          retrieveLink:
            type: string
            description: Relative path to download the file content.
          checkSum:
            type: object
            properties:
              value:
                type: string
              checkSumAlgorithm:
                type: string
          sequenceId:
            type: integer
          policies:
            type:
            - array
            - 'null'
            items:
              type: object
    Item:
      allOf:
      - $ref: '#/components/schemas/DSpaceObject'
      - type: object
        properties:
          lastModified:
            type: string
            description: Timestamp of the last modification.
          archived:
            type: boolean
          withdrawn:
            type: boolean
          parentCollection:
            $ref: '#/components/schemas/Collection'
          parentCollectionList:
            type: array
            items:
              $ref: '#/components/schemas/Collection'
          metadata:
            type: array
            items:
              $ref: '#/components/schemas/MetadataEntry'
          bitstreams:
            type: array
            items:
              $ref: '#/components/schemas/Bitstream'
    Collection:
      allOf:
      - $ref: '#/components/schemas/DSpaceObject'
      - type: object
        properties:
          logo:
            $ref: '#/components/schemas/Bitstream'
          parentCommunity:
            $ref: '#/components/schemas/Community'
          parentCommunityList:
            type: array
            items:
              $ref: '#/components/schemas/Community'
          items:
            type: array
            items:
              $ref: '#/components/schemas/Item'
          license:
            type:
            - string
            - 'null'
          copyrightText:
            type: string
          introductoryText:
            type: string
          shortDescription:
            type: string
          sidebarText:
            type: string
          numberItems:
            type: integer
    Community:
      allOf:
      - $ref: '#/components/schemas/DSpaceObject'
      - type: object
        properties:
          logo:
            $ref: '#/components/schemas/Bitstream'
          parentCommunity:
            $ref: '#/components/schemas/Community'
          copyrightText:
            type: string
          introductoryText:
            type: string
          shortDescription:
            type: string
          sidebarText:
            type: string
          countItems:
            type: integer
          collections:
            type: array
            items:
              $ref: '#/components/schemas/Collection'
          subcommunities:
            type: array
            items:
              $ref: '#/components/schemas/Community'
    MetadataEntry:
      type: object
      description: A single Dublin Core metadata field on an item.
      properties:
        key:
          type: string
          description: Qualified DC key (for example dc.contributor.advisor).
        value:
          type: string
        language:
          type:
          - string
          - 'null'
        element:
          type: string
        qualifier:
          type:
          - string
          - 'null'
        schema:
          type: string
  responses:
    NotFound:
      description: The requested resource was not found.
  parameters:
    expand:
      name: expand
      in: query
      description: Comma-separated list of sub-resources to inline in the response (for example metadata,bitstreams,collections,subcommunities).
      required: false
      schema:
        type: string
    limit:
      name: limit
      in: query
      description: Maximum number of records to return.
      required: false
      schema:
        type: integer
        default: 100
    offset:
      name: offset
      in: query
      description: Number of records to skip for pagination.
      required: false
      schema:
        type: integer
        default: 0
    communityId:
      name: communityId
      in: path
      required: true
      description: UUID of the community.
      schema:
        type: string
        format: uuid