Newcastle University Items API

A set of endpoints describing the integrants of the given digitised object present in the repository.

Operations 5

GET /v1/items List of items #
GET /v1/items/search Search items #
GET /v1/items/search/autocomplete Search items autocompletion #
GET /v1/items/{id}/{position} Item definition #
GET /v1/items/{id}/{position}/transcript/content Item's transcript #

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/newcastle:newcastle-items-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

newcastle-items-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Newcastle University | Digitised Objects Repository |…
  version: 1.27.0
  description: 'The *Search and Data API* provides a single point of truth interface for searching, browsing and displaying digitised objects held in Newcastle University Library''s Special Collections.


    Data curators: Special Collections and Archives\

    Administrators: Digital Library Services'
servers:
- url: https://api-dor.ncl.ac.uk
tags:
- name: Items
  description: A set of endpoints describing the integrants of the given digitised object present in the repository.
paths:
  /v1/items:
    get:
      operationId: getV1ItemsIndex
      summary: List of items
      description: Returns summary of items present in the system.
      tags:
      - Items
      parameters:
      - in: query
        name: page
        schema:
          type: number
        description: The pagination index, starting from 1 for the first page.
      - in: query
        name: page.size
        schema:
          type: number
        description: The number of items matching returned per page, between 1 and 100.
      - in: query
        name: page.start
        schema:
          type: number
        description: The pagination starting offset starting from 0.
      responses:
        '200':
          description: The list of items matching a query.
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type:
                      - object
                      - 'null'
                      properties:
                        id:
                          type: string
                          example: UkLWZg9D
                        title:
                          type:
                          - string
                          - 'null'
                          example: Page 1
                        description:
                          type:
                          - string
                          - 'null'
                          example: First page of Chapter 1.
                        _links:
                          type: object
                          properties:
                            definition:
                              $ref: '#/components/schemas/HateoasLink'
                          required:
                          - definition
                      required:
                      - id
                      - title
                      - description
                      - digitisedObject
                      - _links
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  _links:
                    allOf:
                    - $ref: '#/components/schemas/HomeLinks'
                    - type: object
                      properties:
                        search:
                          $ref: '#/components/schemas/HateoasLink'
                      required:
                      - search
                required:
                - items
                - pagination
                - _links
        '400':
          description: The server could not finalise the response due to the malformed, invalid or missing request parameters.
        5XX:
          description: Indicates that the server encountered an unexpected exception preventing it from fulfilling the request.
  /v1/items/search:
    get:
      operationId: getV1ItemsSearch
      summary: Search items
      description: Performs a keyword search with filters on the items present in the system.
      tags:
      - Items
      parameters:
      - $ref: '#/components/parameters/SearchPage'
      - $ref: '#/components/parameters/SearchPageSize'
      - $ref: '#/components/parameters/SearchPageStart'
      - $ref: '#/components/parameters/SearchQ'
      - $ref: '#/components/parameters/SearchQAdvanced'
      - $ref: '#/components/parameters/SearchSort'
      - $ref: '#/components/parameters/SearchFilterCollection'
      - $ref: '#/components/parameters/SearchFilterCollectionId'
      - $ref: '#/components/parameters/SearchFilterDigitisedObject'
      - $ref: '#/components/parameters/SearchFilterDigitisedObjectId'
      - $ref: '#/components/parameters/SearchFilterSubject'
      - $ref: '#/components/parameters/SearchFilterThematicCategory'
      - $ref: '#/components/parameters/SearchFilterDateFrom'
      - $ref: '#/components/parameters/SearchFilterDateTo'
      - $ref: '#/components/parameters/SearchFilterHasTEI'
      - $ref: '#/components/parameters/SearchFilterHasTranscript'
      - $ref: '#/components/parameters/SearchFilterScope'
      responses:
        '200':
          description: The list of items matching the given search query.
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type:
                    - array
                    - 'null'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: UkLWZg9D/3
                        position:
                          type: number
                          example: 3
                        refCode:
                          type:
                          - string
                          - 'null'
                          example: Alderson Collection PAR PET
                        title:
                          type:
                          - string
                          - 'null'
                          example: Page 1
                        description:
                          type:
                          - string
                          - 'null'
                          example: First page of Chapter 1.
                        format:
                          type:
                          - string
                          - 'null'
                          example: Illustration
                        language:
                          type:
                          - string
                          - 'null'
                        creators:
                          type:
                          - array
                          - 'null'
                          items:
                            type: string
                        subjects:
                          type:
                          - array
                          - 'null'
                          items:
                            type: string
                        dates:
                          type:
                          - array
                          - 'null'
                          items:
                            type: string
                        places:
                          type:
                          - array
                          - 'null'
                          items:
                            type: string
                        canvas:
                          type: string
                        digitisedObject:
                          type: object
                          properties:
                            id:
                              type: string
                              example: UkLWZg9D
                            title:
                              type:
                              - string
                              - 'null'
                              example: Peter Parley's Visit to London During the Coronation of Queen Victoria
                            manifest:
                              type: string
                            _links:
                              type: object
                              properties:
                                definition:
                                  $ref: '#/components/schemas/HateoasLink'
                              required:
                              - definition
                          required:
                          - id
                          - title
                          - manifest
                          - _links
                        highlights:
                          type: object
                          description: The list of all matches for the given query per searched field.
                          properties:
                            title:
                              type: array
                              items:
                                type: string
                            description:
                              type: array
                              items:
                                type: string
                            content:
                              type: array
                              items:
                                type: string
                          required:
                          - title
                          - description
                          - content
                        _links:
                          type: object
                          properties:
                            definition:
                              $ref: '#/components/schemas/HateoasLink'
                          required:
                          - definition
                      required:
                      - id
                      - refCode
                      - title
                      - description
                      - format
                      - language
                      - creators
                      - subjects
                      - dates
                      - places
                      - canvas
                      - digitisedObject
                      - highlights
                      - _links
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  sort:
                    $ref: '#/components/schemas/Sort'
                  query:
                    $ref: '#/components/schemas/CancellableQuery'
                  filters:
                    $ref: '#/components/schemas/Filters'
                  _links:
                    allOf:
                    - $ref: '#/components/schemas/HomeLinks'
                    - type: object
                      properties:
                        index:
                          $ref: '#/components/schemas/HateoasLink'
                        home:
                          $ref: '#/components/schemas/HateoasLink'
                      required:
                      - index
                      - home
                required:
                - items
                - pagination
                - sort
                - query
                - filters
                - _links
        '400':
          description: The server could not finalise the response due to the malformed, invalid or missing request parameters.
        '404':
          description: Items matching the given criteria were not found.
        5XX:
          description: Indicates that the server encountered an unexpected exception preventing it from fulfilling the request.
  /v1/items/search/autocomplete:
    get:
      operationId: getV1ItemsSearchAutocomplete
      summary: Search items autocompletion
      description: Provides search box autocompletion for the given phrase.
      tags:
      - Items
      parameters:
      - $ref: '#/components/parameters/AutocompleteQ'
      - $ref: '#/components/parameters/AutocompletePageSize'
      - $ref: '#/components/parameters/SearchFilterScope'
      responses:
        '200':
          description: The list of terms/phrases matching the given query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutocompleteResponse'
        '400':
          description: The server could not finalise the response due to the malformed, invalid or missing request parameters.
        '404':
          description: No suggestions were available for the given query.
        5XX:
          description: Indicates that the server encountered an unexpected exception preventing it from fulfilling the request.
  /v1/items/{id}/{position}:
    get:
      operationId: getV1ItemsShow
      summary: Item definition
      description: Returns all the metadata and signposts to the related resources for the given item.
      parameters:
      - in: path
        name: id
        schema:
          type: string
        example: UkLWZg9D
        required: true
        description: Parent's digitised object identifier.
      - in: path
        name: position
        schema:
          type: number
        example: 3
        required: true
        description: Item's position within the digitised object's structure.
      tags:
      - Items
      responses:
        '200':
          description: The complete definition of the identified item.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    example: UkLWZg9D/3
                  position:
                    type: number
                    example: 3
                  refCode:
                    type:
                    - string
                    - 'null'
                    example: Alderson Collection PAR PET
                  title:
                    type:
                    - string
                    - 'null'
                    example: Page 1
                  description:
                    type:
                    - string
                    - 'null'
                    example: First page of Chapter 1.
                  format:
                    type:
                    - string
                    - 'null'
                    example: Illustration
                  language:
                    type:
                    - string
                    - 'null'
                  creators:
                    type:
                    - array
                    - 'null'
                    items:
                      type: string
                  subjects:
                    type:
                    - array
                    - 'null'
                    items:
                      type: string
                  dates:
                    type:
                    - array
                    - 'null'
                    items:
                      type: string
                  places:
                    type:
                    - array
                    - 'null'
                    items:
                      type: string
                  publishers:
                    type:
                    - array
                    - 'null'
                    items:
                      type: string
                  provenances:
                    type:
                    - array
                    - 'null'
                    items:
                      type: string
                  contributors:
                    type:
                    - array
                    - 'null'
                    items:
                      type: string
                  copyright:
                    type:
                    - string
                    - 'null'
                  license:
                    type:
                    - string
                    - 'null'
                  canvas:
                    type: string
                  digitisedObject:
                    type: object
                    properties:
                      id:
                        type: string
                        example: UkLWZg9D
                      title:
                        type:
                        - string
                        - 'null'
                        example: Peter Parley's Visit to London During the Coronation of Queen Victoria
                      description:
                        type:
                        - string
                        - 'null'
                        example: Colour illustrations depicting coronation of Queen Victoria
                      manifest:
                        type: string
                      thumbnail:
                        type: string
                      _links:
                        type: object
                        properties:
                          definition:
                            $ref: '#/components/schemas/HateoasLink'
                        required:
                        - definition
                    required:
                    - id
                    - title
                    - description
                    - manifest
                    - thumbnail
                    - _links
                  transcript:
                    type:
                    - object
                    - 'null'
                    properties:
                      _links:
                        type: object
                        properties:
                          content:
                            $ref: '#/components/schemas/HateoasLink'
                        required:
                        - content
                    required:
                    - _links
                  _links:
                    type: object
                    properties:
                      index:
                        $ref: '#/components/schemas/HateoasLink'
                      search:
                        $ref: '#/components/schemas/HateoasLink'
                    required:
                    - index
                    - search
                required:
                - id
                - refCode
                - title
                - description
                - format
                - language
                - creators
                - subjects
                - dates
                - places
                - publishers
                - provenances
                - contributors
                - copyright
                - license
                - canvas
                - digitisedObject
                - transcript
                - _links
        '400':
          description: The server could not finalise the response due to the malformed, invalid or missing request parameters.
        '404':
          description: A digitised object with the specified ID was not found.
        5XX:
          description: Indicates that the server encountered an unexpected exception preventing it from fulfilling the request.
  /v1/items/{id}/{position}/transcript/content:
    get:
      operationId: getV1ItemsTranscriptContent
      summary: Item's transcript
      description: Returns a transcript of the given item.
      parameters:
      - in: path
        name: id
        schema:
          type: string
        example: UkLWZg9D
        required: true
        description: Parent's digitised object identifier.
      - in: path
        name: position
        schema:
          type: number
        example: 3
        required: true
        description: Item's position within the digitised object's structure.
      tags:
      - Items
      responses:
        '200':
          description: The transcript of the item in a plain text form.
          content:
            text/plain:
              schema:
                type: string
        '400':
          description: The server could not finalise the response due to the malformed, invalid or missing request parameters.
        '404':
          description: An item with the specified ID and position or its transcript was not found.
        5XX:
          description: Indicates that the server encountered an unexpected exception preventing it from fulfilling the request.
components:
  parameters:
    SearchFilterDateFrom:
      in: query
      name: filter.date.from
      schema:
        type: number
      description: The start of the date range query.
    SearchFilterThematicCategory:
      in: query
      name: filter.thematicCategory
      schema:
        $ref: '#/components/schemas/StringOrArrayOfStrings'
      description: List of thematic category terms that the items should belong to.
    SearchFilterDigitisedObject:
      in: query
      name: filter.digitisedObject
      schema:
        $ref: '#/components/schemas/StringOrArrayOfStrings'
      description: List of digitised object titles that the items should belong to.
    SearchFilterHasTEI:
      in: query
      name: filter.hasTEI
      schema:
        $ref: '#/components/schemas/StringOrArrayOfStrings'
      description: Determines whether returned items should have a TEI file related or not.
    SearchFilterDateTo:
      in: query
      name: filter.date.to
      schema:
        type: number
      description: The end of the date range query.
    SearchFilterCollectionId:
      in: query
      name: filter.collection.id
      schema:
        $ref: '#/components/schemas/StringOrArrayOfStrings'
      description: List of collection ids that the items should belong to.
    SearchQ:
      in: query
      name: q
      schema:
        type: string
      description: The main search phrase.
    SearchPageSize:
      in: query
      name: page.size
      schema:
        type: number
      description: The number of items matching returned per page, between 1 and 100.
    SearchFilterCollection:
      in: query
      name: filter.collection
      schema:
        $ref: '#/components/schemas/StringOrArrayOfStrings'
      description: List of collection titles that the items should belong to.
    AutocompleteQ:
      in: query
      name: q
      schema:
        type: string
      required: true
      description: The search phrase that should be autocompleted.
    SearchFilterDigitisedObjectId:
      in: query
      name: filter.digitisedObject.id
      schema:
        $ref: '#/components/schemas/StringOrArrayOfStrings'
      description: List of digitised object ids that the items should belong to.
    SearchSort:
      in: query
      name: sort
      schema:
        type: string
        enum:
        - relevance
        - title.asc
        - title.desc
        - date.asc
        - date.desc
        - createdAt.desc
      description: Determines the sorting method.
    SearchPage:
      in: query
      name: page
      schema:
        type: number
      description: The pagination index, starting from 1 for the first page.
    SearchFilterHasTranscript:
      in: query
      name: filter.hasTranscript
      schema:
        $ref: '#/components/schemas/StringOrArrayOfStrings'
      description: Determines whether returned items should have a raw transcript file related or not.
    SearchFilterScope:
      in: query
      name: scope
      schema:
        type: string
        example: digital.showcase
      description: Scopes query to return items assigned to the given system.
    SearchQAdvanced:
      in: query
      name: q.advanced
      schema:
        type: string
      description: Query string dedicated to advanced searches, written in restricted [Elasticsearch\'s query syntax](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax).
    SearchFilterSubject:
      in: query
      name: filter.subject
      schema:
        $ref: '#/components/schemas/StringOrArrayOfStrings'
      description: List of subject terms that the items should belong to.
    SearchPageStart:
      in: query
      name: page.start
      schema:
        type: number
      description: The pagination starting offset starting from 0.
    AutocompletePageSize:
      in: query
      name: page.size
      schema:
        type: number
      description: The maximum number of items returned, between 1 and 25 (by default it is 10).
  schemas:
    HateoasParameters:
      type: object
      additionalProperties: true
      description: Any relevant parameters that should be appended to the URL (for GET method) or passed as a payload for other HTTP methods.
      example:
        '?': '...'
    ReadonlyQuery:
      type: object
      properties:
        value:
          type:
          - string
          - 'null'
      required:
      - value
    Facet:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        count:
          type: number
        _links:
          type: object
          properties:
            activate:
              $ref: '#/components/schemas/HateoasLink'
            deactivate:
              $ref: '#/components/schemas/HateoasLink'
      required:
      - id
      - name
      - count
    HateoasLink:
      type: object
      properties:
        href:
          type: string
        type:
          type: string
          enum:
          - GET
          - POST
          - PUT
          - DELETE
        parameters:
          $ref: '#/components/schemas/HateoasParameters'
      required:
      - href
      - type
    StringOrArrayOfStrings:
      oneOf:
      - type: string
      - type: array
        items:
          type: string
    SortOption:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        _links:
          type: object
          properties:
            activate:
              $ref: '#/components/schemas/HateoasLink'
            deactivate:
              $ref: '#/components/schemas/HateoasLink'
          required:
          - activate
      required:
      - id
      - name
      - _links
    FilterOption:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        active:
          type:
          - array
          - 'null'
          items:
            allOf:
            - $ref: '#/components/schemas/FilterValue'
            - type: object
              properties:
                _links:
                  type: object
                  properties:
                    deactivate:
                      $ref: '#/components/schemas/HateoasLink'
                  required:
                  - deactivate
              required:
              - _links
            $ref: '#/components/schemas/FilterValue'
        facets:
          type:
          - array
          - 'null'
          items:
            allOf:
            - $ref: '#/components/schemas/Facet'
        _links:
          type: object
          properties:
            reset:
              $ref: '#/components/schemas/HateoasLink'
      required:
      - id
      - name
      - active
      - facets
      - _links
    FilterValue:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        _links:
          type: object
          properties:
            activate:
              $ref: '#/components/schemas/HateoasLink'
            deactivate:
              $ref: '#/components/schemas/HateoasLink'
      required:
      - id
      - name
      - _links
    CancellableQuery:
      type: object
      allOf:
      - $ref: '#/components/schemas/ReadonlyQuery'
      - type: object
        properties:
          _links:
            type: object
            properties:
              deactivate:
                $ref: '#/components/schemas/HateoasLink'
        required:
        - _links
    AutocompleteResponse:
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            type: object
            properties:
              title:
                type: string
                example: Photograph taken by Gertrude Bell showing Delhi, India
              highlight:
                type: string
                example: Photograph taken by <mark>Gertrude Bell</mark> showing Delhi, India
            required:
            - title
            - highlight
        query:
          $ref: '#/components/schemas/ReadonlyQuery'
        _links:
          allOf:
          - type: object
            properties:
              search:
                $ref: '#/components/schemas/HateoasLink'
            required:
            - search
      required:
      - items
      - query
      - _links
    Pagination:
      type: object
      description: Defines the metadata for the pagination used for providing the data on the given endpoint.
      properties:
        size:
          type: number
          description: Represents how many items can be presented on one page.
        totalPages:
          type: number
          description: Represents how many pages are in total to fetch.
        totalElements:
          type: number
          description: Represents how many items are in total to fetch.
        number:
          type: number
          description: Represents the current page's number.
        _links:
          type: object
          description: Standard set of links related to pagination.
          properties:
            first:
              $ref: '#/components/schemas/HateoasLink'
            previous:
              $ref: '#/components/schemas/HateoasLink'
            next:
              $ref: '#/components/schemas/HateoasLink'
            last:
              $ref: '#/components/schemas/HateoasLink'
          required:
          - first
          - last
      required:
      - size
      - totalPages
      - totalElements
      - number
      - _links
    Filters:
      type: object
      properties:
        options:
          type: array
          items:
            $ref: '#/components/schemas/FilterOption'
        _links:
          type: object
          properties:
            reset:
              $ref: '#/components/schemas/HateoasLink'
      required:
      - options
      - _links
    HomeLinks:
      type: object
      description: Standard set of links related to the homepage.
      properties:
        home:
          $ref: '#/components/schemas/HateoasLink'
      required:
      - home
    Sort:
      type: object
      properties:
        options:
          type: array
          items:
            $ref: '#/components/schemas/SortOption'
        active:
          allOf:
          - $ref: '#/components/schemas/SortOption'
          - type: object
            properties:
              _links:
                type: object
                properties:
                  deactivate:
                    $ref: '#/components/schemas/HateoasLink'
                required:
                - deactivate
            required:
            - _links
        _links:
          type: object
          description: Standard set of links related to sorting.
          properties:
            reset:
              $ref: '#/components/schemas/HateoasLink'
      required:
      - options
      - active
      - _links