openapi: 3.0.0 paths: /api/search/v1/catalog: get: description: Provides information about the site and its catalog of organized resources and collections. operationId: CatalogController_getSiteCatalog_api/search/v1 parameters: - name: token required: false in: query description: ArcGIS token to use when accessing the underlying ArcGIS Item that represents the site. schema: type: string responses: '200': description: A data object describing the site and its catalog. content: application/json: schema: $ref: '#/components/schemas/Catalog' summary: '' tags: - Catalog /api/search/v1/collections: get: description: Lists the collections described in the site's catalog. operationId: CollectionController_getSiteCollections_api/search/v1 parameters: - name: token required: false in: query description: ArcGIS token to use when accessing the underlying ArcGIS Item that represents the site. schema: type: string responses: '200': description: A data object containing a list of site catalog collections. content: application/json: schema: $ref: '#/components/schemas/CollectionsResponseDto' summary: '' tags: - Collection /api/search/v1/collections/{collectionId}: get: description: Retrieves the collection from a site's catalog with a provided id/key operationId: CollectionController_getSiteCollectionFromId_api/search/v1 parameters: - name: collectionId required: true in: path description: Key/id for the desired collection. schema: example: dataset type: string - name: token required: false in: query description: ArcGIS token to use when accessing the underlying ArcGIS Item that represents the site. schema: type: string responses: '200': description: A data object describing a site collection. content: application/json: schema: $ref: '#/components/schemas/CollectionWithLinksDto' summary: '' tags: - Collection /api/search/v1/collections/{collectionId}/queryables: get: description: Lists the minimal item properties expected to be returned when searching items in the specified collection. operationId: QueryableController_getSiteCollectionQueryables_api/search/v1 parameters: - name: collectionId required: true in: path description: Key/id of the collection for which queryables should be obtained. schema: example: dataset type: string - name: token required: false in: query description: ArcGIS token to use when accessing the underlying ArcGIS Item that represents the site. schema: type: string responses: '200': description: A data object describing the core queryable fields of a site catalog collection. content: application/json: schema: $ref: '#/components/schemas/OgcQueryablesResponseDto' summary: '' tags: - Queryable /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 /api/search/v1/collections/{collectionId}/aggregations: get: description: Returns requested aggregations from the specified site catalog collection operationId: OgcItemAggregationController_getAggregations_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: exampleAggregationName required: false in: query description: This is an EXAMPLE aggregation expression. More aggregation expressions can be specified by adding additional query parameters, where the name of the parameter is an arbitrary alphabetic aggregation name examples: terms: summary: Terms value: terms(fields=(access,tags,source)) description: An aggregation that analyzes matching items by the unique values of the specified fields. Returns buckets by field and unique value. The mandatory "fields" parameter is a comma-separated list of field names to aggregate on. max: summary: Max value: max(fields=(totalReplies, totalReactions)) description: An aggregation that calculates the maximum value of one or more fields across all matching items. The mandatory "fields" parameter is a comma-separated list of field names to aggregate on. min: summary: Min value: min(fields=(totalReplies, totalReactions)) description: An aggregation that calculates the minimum value of one or more fields across all matching items. The mandatory "fields" parameter is a comma-separated list of field names to aggregate on. avg: summary: Avg value: avg(fields=(totalReactions, totalReplies)) description: An aggregation that calculates the averages value of one or more fields across all matching items. The mandatory "fields" parameter is a comma-separated list of field names to aggregate on. histogram: summary: Histogram value: histogram(fields=(totalReplies,totalReactions), interval=5) description: An aggregation that groups items into buckets based on a numeric field. The mandatory "fields" parameter are the numeric fields to aggregate on. The mandatory "interval" parameter is the interval to use for bucketing, and has a minimum value of 0.1. date_histogram: summary: Date Histogram value: date_histogram(fields=(createdAt, updatedAt),interval=month,bycreator=terms(fields=(creator,editor))) description: 'An aggregation that groups items into buckets based on a date field. The mandatory "fields" parameter are the date fields to aggregate on. The mandatory "interval" parameter is the time interval to use for bucketing. Valid intervals are: "year", "month", "week", and "day". You can also specify a number of days from 1-99 inclusive, e.g. "14d" for fourteen days. Finally, sub-aggregations can provided that summate discussion post data on a per-bucket basis. This example aggregates posts based on the createdAt and updatedAt fields and, for each, further sub-aggregating by creator, and editor.' geohash: summary: Geohash value: geohash(fields=(geometry), precision=6, byCreator=terms(fields=(creator)), byCreatedDate=date_histogram(fields=(createdAt), interval=month), avgSentiment=avg(fields=(sentiment))) description: An aggregation that groups items into buckets based on a geohash on a geospatial field. The mandatory "fields" parameter are the geospatial fields for which to aggregate on. "Precision" can be optionally provided (defaults to 5) to allow for hashing with various geospatial precisions (https://en.wikipedia.org/wiki/Geohash#Digits_and_precision_in_km). Finally, sub-aggregations can provided that summate discussion post data on a per-geohash basis. This example geohashes posts based on the geometry field, further sub-aggregating by creator, post creation date, and average sentiment. schema: type: string - name: filter required: false in: query description: CQL filter expression that can be used to refine the aggregation search schema: title: filter type: string readOnly: true 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: Limit the number of results returned for "bucket"-based aggregations schema: title: limit type: integer readOnly: true - 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 responses: '200': description: A response describing requested collection aggregations content: application/json: schema: $ref: '#/components/schemas/OgcItemAggregationResponseDto' summary: '' tags: - OgcItemAggregation /api/search/v1: get: description: Provides links to the API definition, the Conformance statements and the metadata about the coverage data in this dataset. operationId: OgcRootController_getSiteRoot_api/search/v1 parameters: - name: token required: false in: query description: ArcGIS token to use when accessing the underlying ArcGIS Item that represents the site. schema: type: string responses: '200': description: A data object describing the site and its API. content: application/json: schema: $ref: '#/components/schemas/OgcApiLandingPageDto' summary: '' tags: - OgcRoot /api/search/v1/conformance: get: description: Returns the conformance specifications the API meets operationId: OgcRootConformanceController_getApiConformance_api/search/v1 parameters: - name: token required: false in: query description: ArcGIS token to use when accessing the underlying ArcGIS Item that represents the site. schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/OgcApiConformancePageDto' summary: '' tags: - OgcRootConformance info: title: Hub Search 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: {} tags: [] servers: - url: https://hub.arcgis.com description: ArcGIS Hub Search API (used by Dartmouth Open Data portal data-dartmouth.opendata.arcgis.com) components: schemas: Catalog: type: object properties: {} RangeParamsEpoch: type: object properties: from: type: number description: epoch time in milliseconds example: 160000000 to: type: number description: epoch time in milliseconds example: 170000000 required: - from - to EnvelopeDto: type: object properties: bbox: type: array minItems: 4 items: type: number type: type: string description: Type of geometry filter, must be "Envelope" enum: - Envelope coordinates: description: Coordinates in either 2d bbox [xmin,ymin,xmax,ymax] or envelope [[xmin,ymax],[xmax,ymin]] formats anyOf: - type: array minItems: 4 maxItems: 4 items: type: number - type: array minItems: 2 maxItems: 2 items: type: array minItems: 2 maxItems: 2 items: type: number required: - type - coordinates GeometryDto: type: object properties: bbox: type: array minItems: 4 items: type: number GeometryFilterDto: type: object properties: relation: type: string description: Type of relation, defaults to "intersects" enum: - intersects - disjoint - within - contains geometry: anyOf: - $ref: '#/components/schemas/EnvelopeDto' allOf: - $ref: '#/components/schemas/GeometryDto' required: - geometry ItemSearchFiltersDto: type: object properties: id: oneOf: - type: string nullable: false description: an id pattern: ^[a-f0-9]{32}$ - type: array nullable: false description: an array of ids, any of which should match items: type: string nullable: false description: an id pattern: ^[a-f0-9]{32}$ - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false description: an id pattern: ^[a-f0-9]{32}$ any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false description: an id pattern: ^[a-f0-9]{32}$ not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false description: an id pattern: ^[a-f0-9]{32}$ exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false description: an id pattern: ^[a-f0-9]{32}$ owner: example: dev_bas_hub_admin oneOf: - type: string nullable: false description: an owner - type: array nullable: false description: an array of owners, any of which should match items: type: string nullable: false description: an owner - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false description: an owner any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false description: an owner not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false description: an owner exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false description: an owner created: description: a date range example: from: 160000000 to: 170000000 allOf: - $ref: '#/components/schemas/RangeParamsEpoch' modified: description: a date range example: from: 160000000 to: 170000000 allOf: - $ref: '#/components/schemas/RangeParamsEpoch' title: example: all: - all - here - must match any: - any - here - must match not: - none - here - must match exact: - all - here - must match exactly oneOf: - type: string nullable: false description: a title string - type: array nullable: false description: an array of title strings, any of which should match items: type: string nullable: false description: a title string - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false description: a title string any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false description: a title string not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false description: a title string exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false description: a title string type: example: - Feature Service - Microsoft Excel oneOf: - type: string nullable: false description: a type - type: array nullable: false description: an array of types, any of which should match items: type: string nullable: false description: a type - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false description: a type any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false description: a type not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false description: a type exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false description: a type typekeywords: example: HubProject oneOf: - type: string nullable: false description: a typekeyword - type: array nullable: false description: an array of typekeywords, any of which should match items: type: string nullable: false description: a typekeyword - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false description: a typekeyword any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false description: a typekeyword not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false description: a typekeyword exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false description: a typekeyword description: example: all: - all - here - must match any: - any - here - must match not: - none - here - must match exact: - all - here - must match exactly oneOf: - type: string nullable: false description: a decription string - type: array nullable: false description: an array of description strings, any of which should match items: type: string nullable: false description: a description string - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false description: a description string any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false description: a description string not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false description: a description string exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false description: a description string tags: example: - tag 1 - tag 2 oneOf: - type: string nullable: false description: a tag - type: array nullable: false description: an array of tags, any of which should match items: type: string nullable: false description: a tag - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false description: a tag any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false description: a tag not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false description: a tag exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false description: a tag snippet: example: a test snippet oneOf: - type: string nullable: false description: a snippet string - type: array nullable: false description: an array of snippet strings, any of which should match items: type: string nullable: false description: a snippet string - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false description: a snippet string any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false description: a snippet string not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false description: a snippet string exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false description: a snippet string accessinformation: example: all: - all - here - must match any: - any - here - must match not: - none - here - must match exact: - all - here - must match exactly oneOf: - type: string nullable: false description: an accessinformation string - type: array nullable: false description: an array of accessinformation strings, any of which should match items: type: string nullable: false description: an accessinformation string - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false description: an accessinformation string any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false description: an accessinformation string not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false description: an accessinformation string exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false description: an accessinformation string access: example: - public - private anyOf: - type: string nullable: false enum: - public - private - org - shared description: an access string - type: array nullable: false description: an array of access strings, any of which should match items: type: string nullable: false enum: - public - private - org - shared description: an accessinformation string - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false enum: - public - private - org - shared description: an access string any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false enum: - public - private - org - shared description: an access string not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false enum: - public - private - org - shared description: an access string exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false enum: - public - private - org - shared description: an access string group: oneOf: - type: string nullable: false description: a group id pattern: ^[a-f0-9]{32}$ - type: array nullable: false description: an array of group ids, any of which should match items: type: string nullable: false description: a group id pattern: ^[a-f0-9]{32}$ - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false description: a group id pattern: ^[a-f0-9]{32}$ any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false description: a group id pattern: ^[a-f0-9]{32}$ not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false description: a group id pattern: ^[a-f0-9]{32}$ exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false description: a group id pattern: ^[a-f0-9]{32}$ culture: example: all: - all - here - must match any: - any - here - must match not: - none - here - must match exact: - all - here - must match exactly oneOf: - type: string nullable: false description: a culture string - type: array nullable: false description: an array of culture strings, any of which should match items: type: string nullable: false description: a culture string - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false description: a culture string any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false description: a culture string not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false description: a culture string exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false description: a culture string orgid: oneOf: - type: string nullable: false description: an org id pattern: ^[a-zA-Z0-9]{16}$ - type: array nullable: false description: an array of org ids, any of which should match items: type: string nullable: false description: an org id pattern: ^[a-zA-Z0-9]{16}$ - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false description: an org id pattern: ^[a-zA-Z0-9]{16}$ any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false description: an org id pattern: ^[a-zA-Z0-9]{16}$ not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false description: an org id pattern: ^[a-zA-Z0-9]{16}$ exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false description: an org id pattern: ^[a-zA-Z0-9]{16}$ categories: example: category test oneOf: - type: string nullable: false description: a category - type: array nullable: false description: an array of categories, any of which should match items: type: string nullable: false description: a category - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false description: a category any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false description: a category not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false description: a category exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false description: a category term: example: all: - all - here - must match any: - any - here - must match not: - none - here - must match exact: - all - here - must match exactly oneOf: - type: string nullable: false description: a string of terms for searching - type: object properties: all: type: array nullable: true description: optional array of terms that all must match items: type: string nullable: false any: type: array nullable: true description: optional array of terms, only at least one must match items: type: string nullable: false not: type: array nullable: true description: optional array of terms, none of which can must match items: type: string nullable: false exact: type: array nullable: true description: optional array of terms, all of which must match exactly items: type: string nullable: false boundary: $ref: '#/components/schemas/GeometryFilterDto' ItemSearchFiltersBlockDto: type: object properties: operation: type: string enum: - AND - OR default: AND predicates: type: array items: $ref: '#/components/schemas/ItemSearchFiltersDto' required: - predicates CollectionDto: type: object properties: id: type: string example: '12345' type: type: string enum: - Collection title: type: string example: Collection Title description: type: string example: Collection description itemType: type: string crs: type: array items: type: string filters: type: array items: $ref: '#/components/schemas/ItemSearchFiltersBlockDto' required: - id - type - title - description - itemType - crs CollectionsResponseLinksDto: type: object properties: rel: type: string type: type: string title: type: string href: type: string required: - rel - type - title - href CollectionsResponseDto: type: object properties: collections: type: array items: $ref: '#/components/schemas/CollectionDto' links: type: array items: $ref: '#/components/schemas/CollectionsResponseLinksDto' required: - collections - links CollectionDtoLink: type: object properties: rel: type: string type: type: string title: type: string href: type: string hreflang: type: string required: - rel - type - title - href - hreflang CollectionWithLinksDto: type: object properties: id: type: string example: '12345' type: type: string enum: - Collection title: type: string example: Collection Title description: type: string example: Collection description itemType: type: string crs: type: array items: type: string filters: type: array items: $ref: '#/components/schemas/ItemSearchFiltersBlockDto' links: type: array items: $ref: '#/components/schemas/CollectionDtoLink' required: - id - type - title - description - itemType - crs - links OgcQueryablesResponseDto: type: object properties: type: type: string enum: - object title: type: string $schema: type: string $id: type: string properties: type: object properties: recordId: title: recordId type: string description: id of the record geometry: title: geometry type: object description: geometry of the underlying resource 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 nullable: true - 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 type: title: type type: string description: the type of the underlying resource title: title: title type: string description: the title of the underlying resource required: - type - title - $schema - properties 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 OgcItemAggregationLinkDto: type: object properties: type: type: string title: type rel: type: string title: rel title: type: string title: title href: type: string title: href required: - type - rel - title - href OgcItemAggregationResponseDto: type: object properties: timestamp: type: string title: timestamp format: date-time aggregations: type: object title: aggregations links: title: links type: array items: $ref: '#/components/schemas/OgcItemAggregationLinkDto' required: - timestamp - aggregations - links DiscussionSummary: type: object properties: text: type: string title: text description: The text of the discussion post summary numberMatched: type: number title: numberMatched description: The total number of discussion posts that matched the search criteria (up to 10000) numberConsidered: type: number title: numberConsidered description: The total number of matching discussion posts that were considered for summarization numberSummarized: type: number title: numberSummarized description: The total number of matching discussion posts that were successfully used for summarization numberErrored: type: number title: numberErrored description: The total number of matching discussion posts considered for summarization, but not included due to errors required: - text - numberMatched - numberConsidered - numberSummarized - numberErrored DiscussionSummaryLink: type: object properties: type: type: string title: type rel: type: string title: rel title: type: string title: title href: type: string title: href required: - type - rel - title - href DiscussionSummaryResponseDto: type: object properties: summary: title: summary allOf: - $ref: '#/components/schemas/DiscussionSummary' timestamp: type: string title: timestamp links: title: links type: array items: $ref: '#/components/schemas/DiscussionSummaryLink' required: - summary - timestamp - links OgcApiLandingPageLinkDto: type: object properties: rel: type: string description: relationship type: type: string description: link MIME type title: type: string description: link title href: type: string description: link uri required: - rel - type - title - href OgcApiLandingPageDto: type: object properties: title: type: string description: API title description: type: string description: API description item: description: OGC Record of underlying API Resource allOf: - $ref: '#/components/schemas/OgcItemDto' links: description: API links type: array items: $ref: '#/components/schemas/OgcApiLandingPageLinkDto' required: - title - description - links OgcApiConformancePageLinkDto: type: object properties: rel: type: string description: relationship type: type: string description: link MIME type title: type: string description: link title href: type: string description: link uri hreflang: type: string description: link uri required: - rel - type - title - href OgcApiConformancePageDto: type: object properties: conformsTo: description: Array of links to conformance specifications that API conforms to type: array items: type: string links: description: API links type: array items: $ref: '#/components/schemas/OgcApiConformancePageLinkDto' required: - conformsTo - links