Dartmouth College OgcItem API

The OgcItem API from Dartmouth College — 4 operation(s) for ogcitem.

OpenAPI Specification

dartmouth-ogcitem-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Hub Search Catalog OgcItem API
  description: 'Welcome to the Search API. This guide describes how to use the Search API to programmatically query, filter, and search a catalog. Use this explorer to test API endpoints and search the site''s catalog without needing to use the site''s client search interface. Common uses cases include rendering features on a map in other tools including ArcGIS Map Viewer, GIS desktop applications, OWSLib, and more.




    The Search API conforms to the new OGC API - Records specification. For further details including definitions and example use cases, see the <a href="https://doc.arcgis.com/en/hub/content/federate-data-with-external-catalogs.htm#GUID-EAF833F8-FADA-4EC7-A1CA-F704DC987362">web help</a>.'
  version: 1.0.0
  contact: {}
servers:
- url: https://hub.arcgis.com
  description: ArcGIS Hub Search API (used by Dartmouth Open Data portal data-dartmouth.opendata.arcgis.com)
tags:
- name: OgcItem
paths:
  /api/search/v1/collections/{collectionId}/items:
    get:
      description: Returns items from the specified site catalog collection that match specified filters
      operationId: OgcItemController_getSiteCollectionItems_api/search/v1
      parameters:
      - name: collectionId
        required: true
        in: path
        description: Key/id of the collection for which item should be filtered and returned.
        schema:
          example: dataset
          type: string
      - name: q
        required: false
        in: query
        description: A general text search filter.
        schema:
          title: q
          type: string
      - name: bbox
        required: false
        in: query
        description: A bbox filter, must be 4 comma-separated coordinates
        schema:
          title: bbox
          type: string
      - name: filter
        required: false
        in: query
        description: query parameter that represents a parse-able string of filter expressions, structured according to the <a href="https://portal.ogc.org/files/96288">Common Query Language Specification of the OGC Features API</a>. If filter values must include whitespace, try wrapping the value in single quotes.
        schema:
          title: filter
          type: string
        examples:
          equals:
            summary: Equals
            value: type='Feature Service'
          greaterThan:
            summary: Greater Than
            value: created > 1670531235
          greaterThanOrEquals:
            summary: Greater Than Or Equals
            value: created >= 1670531235
          LessThan:
            summary: Less Than
            value: created < 1670531235
          lessThanOrEquals:
            summary: Less Than Or Equals
            value: created <= 1670531235
          in:
            summary: IN
            value: tags IN (tag1, 'tag2', tag3)
          notIn:
            summary: NOT IN
            value: tags NOT IN (tag1, 'tag2', tag3)
          betweenAnd:
            summary: BETWEEN AND
            value: created BETWEEN 1670531235 AND 1770531235
          notBetweenAnd:
            summary: NOT BETWEEN AND
            value: created NOT BETWEEN 1670531235 AND 1770531235
          like:
            summary: LIKE
            value: description LIKE 'moby*'
          'null':
            summary: IS NULL
            value: source IS NULL
          notNull:
            summary: IS NOT NULL
            value: owner IS NOT NULL
          and:
            summary: AND
            value: tags NOT IN (tag1, 'tag2', tag3) AND owner IS NOT NULL
          or:
            summary: OR
            value: tags NOT IN (tag1, 'tag2', tag3) OR owner IS NOT NULL
          not:
            summary: NOT
            value: tags NOT IN (tag1, 'tag2', tag3) NOT owner IS NULL
          subExpressions:
            summary: Subexpressions
            value: ((type='Feature Service' AND access=public) OR (type='Web Mapping Application' AND access=shared))
      - name: limit
        required: false
        in: query
        description: The number of results to return.
        schema:
          title: limit
          type: integer
          minimum: 0
          maximum: 100
      - name: startindex
        required: false
        in: query
        description: The initial index of the results to return, starting at 1.
        schema:
          title: startindex
          type: integer
          minimum: 1
      - name: type
        required: false
        in: query
        description: The type of resource.
        schema:
          title: type
          type: string
          description: the type of the underlying resource
      - name: title
        required: false
        in: query
        description: The title of resource to return.
        schema:
          title: title
          type: string
          description: the title of the underlying resource
      - name: recordId
        required: false
        in: query
        description: The recordId of resource to return. recordId could be itemId or itemId_layerId
        schema:
          title: recordId
          type: string
          description: id of the record
      - name: sortBy
        required: false
        in: query
        description: Sort results by specific fields. Prefixed by either "+" for ascending or "-" for descending. If no prefix is provided, "+" is assumed.
        schema:
          title: sortBy
          type: string
      - name: tags
        required: false
        in: query
        description: Tags for items search
        schema:
          example: 'true'
          type: string
      - name: token
        required: false
        in: query
        description: Token to use when accessing the underlying ArcGIS Item that represents the site.
        schema:
          title: token
          type: string
      - name: openData
        required: false
        in: query
        description: Boolean flag to get items that are shared to Opendata group
        schema:
          example: 'true'
          type: string
      responses:
        '200':
          description: A FeatureCollection object describing items (in GeoJSON) returned when searching the provided collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OgcItemResponseDto'
      summary: ''
      tags:
      - OgcItem
  /api/search/v1/collections/{collectionId}/items/{itemId}:
    get:
      operationId: OgcItemController_getSiteCollectionItemById_api/search/v1
      parameters:
      - name: collectionId
        required: true
        in: path
        schema:
          example: dataset
          type: string
      - name: itemId
        required: true
        in: path
        schema:
          type: string
      - name: token
        required: false
        in: query
        description: token for use in authentication/authorization
        schema:
          title: token
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OgcItemDto'
      tags:
      - OgcItem
  /api/search/v1/collections/{collectionId}/items/{recordId}/related:
    get:
      description: Returns related items to recordId from the specified site catalog collection that match specified filters
      operationId: OgcItemController_getRelatedOgcItemsById_api/search/v1
      parameters:
      - name: collectionId
        required: true
        in: path
        description: Key/id of the collection for which item should be filtered and returned.
        schema:
          example: dataset
          type: string
      - name: q
        required: false
        in: query
        description: A general text search filter.
        schema:
          title: q
          type: string
      - name: bbox
        required: false
        in: query
        description: A bbox filter, must be 4 comma-separated coordinates
        schema:
          title: bbox
          type: string
      - name: filter
        required: false
        in: query
        description: query parameter that represents a parse-able string of filter expressions, structured according to the <a href="https://portal.ogc.org/files/96288">Common Query Language Specification of the OGC Features API</a>. If filter values must include whitespace, try wrapping the value in single quotes.
        schema:
          title: filter
          type: string
        examples:
          equals:
            summary: Equals
            value: type='Feature Service'
          greaterThan:
            summary: Greater Than
            value: created > 1670531235
          greaterThanOrEquals:
            summary: Greater Than Or Equals
            value: created >= 1670531235
          LessThan:
            summary: Less Than
            value: created < 1670531235
          lessThanOrEquals:
            summary: Less Than Or Equals
            value: created <= 1670531235
          in:
            summary: IN
            value: tags IN (tag1, 'tag2', tag3)
          notIn:
            summary: NOT IN
            value: tags NOT IN (tag1, 'tag2', tag3)
          betweenAnd:
            summary: BETWEEN AND
            value: created BETWEEN 1670531235 AND 1770531235
          notBetweenAnd:
            summary: NOT BETWEEN AND
            value: created NOT BETWEEN 1670531235 AND 1770531235
          like:
            summary: LIKE
            value: description LIKE 'moby*'
          'null':
            summary: IS NULL
            value: source IS NULL
          notNull:
            summary: IS NOT NULL
            value: owner IS NOT NULL
          and:
            summary: AND
            value: tags NOT IN (tag1, 'tag2', tag3) AND owner IS NOT NULL
          or:
            summary: OR
            value: tags NOT IN (tag1, 'tag2', tag3) OR owner IS NOT NULL
          not:
            summary: NOT
            value: tags NOT IN (tag1, 'tag2', tag3) NOT owner IS NULL
          subExpressions:
            summary: Subexpressions
            value: ((type='Feature Service' AND access=public) OR (type='Web Mapping Application' AND access=shared))
      - name: limit
        required: false
        in: query
        description: The number of results to return.
        schema:
          title: limit
          type: integer
          minimum: 0
          maximum: 100
      - name: startindex
        required: false
        in: query
        description: The initial index of the results to return, starting at 1.
        schema:
          title: startindex
          type: integer
          minimum: 1
      - name: type
        required: false
        in: query
        description: The type of resource.
        schema:
          title: type
          type: string
          description: the type of the underlying resource
      - name: title
        required: false
        in: query
        description: The title of resource to return.
        schema:
          title: title
          type: string
          description: the title of the underlying resource
      - name: recordId
        required: false
        in: query
        description: The recordId of resource to return. recordId could be itemId or itemId_layerId
        schema:
          title: recordId
          type: string
          description: id of the record
      - name: sortBy
        required: false
        in: query
        description: Sort results by specific fields. Prefixed by either "+" for ascending or "-" for descending. If no prefix is provided, "+" is assumed.
        schema:
          title: sortBy
          type: string
      - name: tags
        required: false
        in: query
        description: Tags for items search
        schema:
          example: 'true'
          type: string
      - name: token
        required: false
        in: query
        description: Token to use when accessing the underlying ArcGIS Item that represents the site.
        schema:
          title: token
          type: string
      - name: openData
        required: false
        in: query
        description: Boolean flag to get items that are shared to Opendata group
        schema:
          example: 'true'
          type: string
      responses:
        '200':
          description: A FeatureCollection object describing related items to recordId (in GeoJSON) returned when searching the provided collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OgcItemResponseDto'
      summary: ''
      tags:
      - OgcItem
  /api/search/v1/collections/{collectionId}/items/{recordId}/connected:
    get:
      description: Returns connected items to recordId from the specified site catalog collection that match specified filters
      operationId: OgcItemController_getConnectedOgcItemsById_api/search/v1
      parameters:
      - name: collectionId
        required: true
        in: path
        description: Key/id of the collection for which item should be filtered and returned.
        schema:
          example: dataset
          type: string
      - name: q
        required: false
        in: query
        description: A general text search filter.
        schema:
          title: q
          type: string
      - name: bbox
        required: false
        in: query
        description: A bbox filter, must be 4 comma-separated coordinates
        schema:
          title: bbox
          type: string
      - name: filter
        required: false
        in: query
        description: query parameter that represents a parse-able string of filter expressions, structured according to the <a href="https://portal.ogc.org/files/96288">Common Query Language Specification of the OGC Features API</a>. If filter values must include whitespace, try wrapping the value in single quotes.
        schema:
          title: filter
          type: string
        examples:
          equals:
            summary: Equals
            value: type='Feature Service'
          greaterThan:
            summary: Greater Than
            value: created > 1670531235
          greaterThanOrEquals:
            summary: Greater Than Or Equals
            value: created >= 1670531235
          LessThan:
            summary: Less Than
            value: created < 1670531235
          lessThanOrEquals:
            summary: Less Than Or Equals
            value: created <= 1670531235
          in:
            summary: IN
            value: tags IN (tag1, 'tag2', tag3)
          notIn:
            summary: NOT IN
            value: tags NOT IN (tag1, 'tag2', tag3)
          betweenAnd:
            summary: BETWEEN AND
            value: created BETWEEN 1670531235 AND 1770531235
          notBetweenAnd:
            summary: NOT BETWEEN AND
            value: created NOT BETWEEN 1670531235 AND 1770531235
          like:
            summary: LIKE
            value: description LIKE 'moby*'
          'null':
            summary: IS NULL
            value: source IS NULL
          notNull:
            summary: IS NOT NULL
            value: owner IS NOT NULL
          and:
            summary: AND
            value: tags NOT IN (tag1, 'tag2', tag3) AND owner IS NOT NULL
          or:
            summary: OR
            value: tags NOT IN (tag1, 'tag2', tag3) OR owner IS NOT NULL
          not:
            summary: NOT
            value: tags NOT IN (tag1, 'tag2', tag3) NOT owner IS NULL
          subExpressions:
            summary: Subexpressions
            value: ((type='Feature Service' AND access=public) OR (type='Web Mapping Application' AND access=shared))
      - name: limit
        required: false
        in: query
        description: The number of results to return.
        schema:
          title: limit
          type: integer
          minimum: 0
          maximum: 100
      - name: startindex
        required: false
        in: query
        description: The initial index of the results to return, starting at 1.
        schema:
          title: startindex
          type: integer
          minimum: 1
      - name: type
        required: false
        in: query
        description: The type of resource.
        schema:
          title: type
          type: string
          description: the type of the underlying resource
      - name: title
        required: false
        in: query
        description: The title of resource to return.
        schema:
          title: title
          type: string
          description: the title of the underlying resource
      - name: recordId
        required: false
        in: query
        description: The recordId of resource to return. recordId could be itemId or itemId_layerId
        schema:
          title: recordId
          type: string
          description: id of the record
      - name: sortBy
        required: false
        in: query
        description: Sort results by specific fields. Prefixed by either "+" for ascending or "-" for descending. If no prefix is provided, "+" is assumed.
        schema:
          title: sortBy
          type: string
      - name: tags
        required: false
        in: query
        description: Tags for items search
        schema:
          example: 'true'
          type: string
      - name: token
        required: false
        in: query
        description: Token to use when accessing the underlying ArcGIS Item that represents the site.
        schema:
          title: token
          type: string
      - name: openData
        required: false
        in: query
        description: Boolean flag to get items that are shared to Opendata group
        schema:
          example: 'true'
          type: string
      responses:
        '200':
          description: A FeatureCollection object describing connected items to recordId (in GeoJSON) returned when searching the provided collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OgcItemResponseDto'
      summary: ''
      tags:
      - OgcItem
components:
  schemas:
    OgcItemDto:
      type: object
      properties:
        id:
          type: string
          title: id
        type:
          type: string
          title: type
          enum:
          - Feature
        geometry:
          title: geometry
          oneOf:
          - title: GeoJSON Point
            type: object
            required:
            - type
            - coordinates
            properties:
              type:
                type: string
                enum:
                - Point
              coordinates:
                type: array
                minItems: 2
                items:
                  type: number
              bbox:
                type: array
                minItems: 4
                items:
                  type: number
          - title: GeoJSON LineString
            type: object
            required:
            - type
            - coordinates
            properties:
              type:
                type: string
                enum:
                - LineString
              coordinates:
                type: array
                minItems: 2
                items:
                  type: array
                  minItems: 2
                  items:
                    type: number
              bbox:
                type: array
                minItems: 4
                items:
                  type: number
          - title: GeoJSON Polygon
            type: object
            required:
            - type
            - coordinates
            properties:
              type:
                type: string
                enum:
                - Polygon
              coordinates:
                type: array
                items:
                  type: array
                  minItems: 4
                  items:
                    type: array
                    minItems: 2
                    items:
                      type: number
              bbox:
                type: array
                minItems: 4
                items:
                  type: number
          - title: GeoJSON MultiPoint
            type: object
            required:
            - type
            - coordinates
            properties:
              type:
                type: string
                enum:
                - MultiPoint
              coordinates:
                type: array
                items:
                  type: array
                  minItems: 2
                  items:
                    type: number
              bbox:
                type: array
                minItems: 4
                items:
                  type: number
          - title: GeoJSON MultiLineString
            type: object
            required:
            - type
            - coordinates
            properties:
              type:
                type: string
                enum:
                - MultiLineString
              coordinates:
                type: array
                items:
                  type: array
                  minItems: 2
                  items:
                    type: array
                    minItems: 2
                    items:
                      type: number
              bbox:
                type: array
                minItems: 4
                items:
                  type: number
          - title: GeoJSON MultiPolygon
            type: object
            required:
            - type
            - coordinates
            properties:
              type:
                type: string
                enum:
                - MultiPolygon
              coordinates:
                type: array
                items:
                  type: array
                  items:
                    type: array
                    minItems: 4
                    items:
                      type: array
                      minItems: 2
                      items:
                        type: number
              bbox:
                type: array
                minItems: 4
                items:
                  type: number
        properties:
          type: object
          title: properties
        time:
          type: object
          title: time
      required:
      - id
      - type
      - geometry
      - properties
      - time
    OgcItemResponseDto:
      type: object
      properties:
        type:
          type: string
          title: type
          enum:
          - FeatureCollection
        timestamp:
          type: string
          title: timestamp
          format: date-time
        numberReturned:
          type: number
          title: numberReturned
        numberMatched:
          type: number
          title: numberMatched
        features:
          title: features
          type: array
          items:
            $ref: '#/components/schemas/OgcItemDto'
      required:
      - type
      - timestamp
      - numberReturned
      - numberMatched
      - features