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 web help.' 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 Common Query Language Specification of the OGC Features API. 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 Common Query Language Specification of the OGC Features API. 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 Common Query Language Specification of the OGC Features API. 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