CampusAPI Mapping Services API documentation version 0.1.0
Based on OSID version 3.0.0
https://base.url
Overview
The Mapping service provides a means for managing inventories of places and performing a variety of mapping operations.
This package includes the following entities:
Locations
One aspect of the Mapping service provides references to location places used in other services. A Location may include a spatial coordinate or defined boundary described in a SpatialUnit. Additional queries provide a means to easily look up locations by Coordinate or arbitrary SpatialUnit as well as to traverse locations through lookups of adjacent Locations.
Locations may be structured in hierarchies to convey hierarchical relationships. A room may be located inside a building, within a city within a state.
| Field | Description | Type |
|---|---|---|
| id(read‑only) | The unique id of this location, provided by system. | string(osid‑id) |
| uri(read‑only) | The uri of this location, provided by system. | string(uri) |
| displayName | The name of this location for display. | string |
| description | The description of this location. | string |
| genusTypeId (read‑only) | Id of the immutable type of this location. Default type set by system unless specified in query parameter. | string(osid‑id) |
| recordTypeIds (read‑only) | Type Ids of record types available on this location. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
| spatialUnit | The spatial unit corresponding to this location. | object(spatial-unit) |
Maps
Locations may be organuzed in hierarchical Maps that offer a means of federation or layering of map data.
| Field | Description | Type |
|---|---|---|
| id(read‑only) | The unique id of this map, provided by system. | string(osid‑id) |
| uri(read‑only) | The uri of this map, provided by system. | string(uri) |
| displayName | The name of this map for display. | string |
| description | The description of this map. | string |
| genusTypeId (read‑only) | Id of the immutable type of this map. Default type set by system unless specified in query parameter. | string(osid‑id) |
| recordTypeIds (read‑only) | Type Ids of record types available on this map. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
| providerId | The provider of this map. References a resource.Resource object. | string(osid‑id) |
| brandingIds | The branding of this map. References repository.Asset objects. | string(osid‑id)[] |
| license | The licensing that applies to this map. | string |
License
CampusAPI REST Definitions © 2025 by DXtera Institute - licensed under CC BY-ND 4.0 Based on the Open Service Interface Definitions: http://osid.org
/mapping/locations
Collection of Locations in a system, federation of systems, or in a default Map.
Get all Locations in the system or default Map.
Create a new Location in the default Map.
get /mapping/locations
Get all Locations in the system or default Map.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20 - limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80 - expand: (string)
Expand object or type for named attribute: "genusType", "recordType", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all - keyword: (string)
The match string for keyword query
Example:
Hello%20World - displayName: (string)
The match string for displayName query
Example:
Hello%20World - description: (string)
The match string for description query
Example:
Hello%20World - genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleLocationType%40dxtera.org - parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleLocationType%40dxtera.org - recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleLocationType%40campusapi.org - mapId: (string)
The id string to match a map
Example:
mapping.Map%3A8374%40base.url
HTTP status code 200
Headers
- x-total-count: required(number)
The total count of records currently available
Example:
152803
Body
Media type: application/json
Type: any
Example:
[
{
"id": "mapping.Location:6957@base.url",
"uri": "http://base.url/open/campusapi/mapping/location/mapping.Location%3A6957%40base.url",
"displayName": "Display Name of this Location",
"description": "The description of this Location",
"genusTypeId": "type.Type:defaultLocationType@base.url",
"recordTypeIds": [ "type.Type:exampleLocationRecordType@campusapi.org", "..."],
"spatialUnit": "..SpatialUnit.."
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /mapping/locations
Create a new Location in the default Map.
Query Parameters
- mapId: (string)
specify in which map to create this location
Example:
mapping.Map%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Location",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this location. This id is provided solely by the underlying implementation and is not set on POST and cannot be changed. An id included on POST will result in an error.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this location. This URI is provided solely by the underlying implementation and is not set on POST and cannot be changed. A uri included on POST will result in an error.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this location for display.",
"type": "string"
},
"description": {
"description": "The description of this location.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this location. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this location. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"spatialUnit": {
"description": "The spatial unit corresponding to this location.",
"type": "string"
}
}
}Example:
{
"displayName": "Display Name of this Location",
"description": "The description of this Location",
"spatialUnit": "..SpatialUnit.."
}
Query the collection of Locations in a system, federation of systems, or in a default map by posting a Query object.
Submit a query using a LocationQuery object.
post /mapping/locations/location-query
Submit a query using a LocationQuery object.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20 - limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80 - expand: (string)
Expand object or type for named attribute: "genusType", "recordType", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "LocationQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchSubjectIds": {
"description": "List of Ids to match an object with a relationships to the given subjects.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchJournalEntryIds": {
"description": "List of Ids match objects that have the given journal entries.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"journalEntryQueries": {
"description": "journaling.JournalEntryQueries to match journaling information. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "journal-entry-query"
}
},
"matchSpatialUnit": {
"description": "Matches spatialUnit containing the specified SpatialUnit.",
"type": "object",
"properties": {
"spatial_unit": {
"description": "the spatial unit",
"type": "string",
"format": "spatial-unit"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
},
"matchMapIds": {
"description": "List of Map Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"mapId": {
"description": "Map id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"mapQueries": {
"description": "MapQueries to match Map. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "map-query"
}
}
}
}Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "mapping.Location:6957@base.url",
"uri": "http://base.url/open/campusapi/mapping/location/mapping.Location%3A6957%40base.url",
"displayName": "Display Name of this Location",
"description": "The description of this Location",
"genusTypeId": "type.Type:defaultLocationType@base.url",
"recordTypeIds": [ "type.Type:exampleLocationRecordType@campusapi.org", "..."],
"spatialUnit": "..SpatialUnit.."
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Create multiple new LocationBatch in the default Map.
post /mapping/locations/location-batch
Create multiple new LocationBatch in the default Map.
Query Parameters
- mapId: (string)
specify in which map to create this location
Example:
mapping.Map%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "LocationBatch",
"type": "array",
"Items": {
"type": "location"
}
}Example:
[
{
"displayName": "Display Name of this Location",
"description": "The description of this Location",
"spatialUnit": "..SpatialUnit.."
},
{
"...": "..."
}
]
Entity representing a Location form metadata.
Get form metadata for creating a new Location.
get /mapping/locations/metadata
Get form metadata for creating a new Location.
Query Parameters
- genusType: (string)
specify a particular location type to create
Example:
type.Type%3AexampleLocationType%40dxtera.org - recordType: (array of )
specify support for one or more location record types
Example:
[ "type.Type%3AexampleLocationRecordType%40campusapi.org", "..." ] - mapId: (string)
specify in which map to create this location
Example:
mapping.Map%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Location",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this location, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this location, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this location for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Location.Location:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this location",
"linked": false
},
"description": {
"description": "The description of this location.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Location.Location:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this location",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this location. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this location. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"spatialUnit": {
"description": "The spatial unit corresponding to this location.",
"type": "string",
"elementId": "mapping.Location:spatialUnit@dxtera.org",
"existingValue": null,
"elementLabel": "Spatial Unit",
"instructions": "NEED TO GENERATE AN INSTRUCTION FOR SPATIALUNIT.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root Locations in the Location hierarchy. A node with no parents is an orphan. While all Location Ids are known to the hierarchy, an orphan does not appear in the hierarchy unless explicitly added as a root node or child of another node.
Get all root root-locations
get /mapping/locations/root-locations
Get all root root-locations
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20 - limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80 - expand: (string)
Expand object or type for named attribute: "genusType", "recordType", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "mapping.Location:6957@base.url",
"uri": "http://base.url/open/campusapi/mapping/location/mapping.Location%3A6957%40base.url",
"displayName": "Display Name of this Location",
"description": "The description of this Location",
"genusTypeId": "type.Type:defaultLocationType@base.url",
"recordTypeIds": [ "type.Type:exampleLocationRecordType@campusapi.org", "..."],
"spatialUnit": "..SpatialUnit.."
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Location as a root in the Location hierarchy
Remove the given Location as a root in the Location hierarchy.
put /mapping/locations/root-locations/{locationId}
Add the given Location as a root in the Location hierarchy
URI Parameters
- locationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Location has been added as a root" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "Location not found" }
delete /mapping/locations/root-locations/{locationId}
Remove the given Location as a root in the Location hierarchy.
URI Parameters
- locationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Location has been removed as a root from the hierarchy" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "Location not found" }
Entity representing a Location
Get a particular Location given its id.
Update a particular Location given its id.
Delete a particular Location given its id.
get /mapping/locations/{locationId}
Get a particular Location given its id.
URI Parameters
- locationId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "mapping.Location:6957@base.url",
"uri": "http://base.url/open/campusapi/mapping/location/mapping.Location%3A6957%40base.url",
"displayName": "Display Name of this Location",
"description": "The description of this Location",
"genusTypeId": "type.Type:defaultLocationType@base.url",
"recordTypeIds": [ "type.Type:exampleLocationRecordType@campusapi.org", "..."],
"spatialUnit": "..SpatialUnit.."
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "Location not found" }
put /mapping/locations/{locationId}
Update a particular Location given its id.
URI Parameters
- locationId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "LocationItem",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this location. This id is provided solely by the underlying implementation and is not set on POST and cannot be changed. An id included on POST will result in an error.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this location. This URI is provided solely by the underlying implementation and is not set on POST and cannot be changed. A uri included on POST will result in an error.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this location for display.",
"type": "string"
},
"description": {
"description": "The description of this location.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this location. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this location. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"spatialUnit": {
"description": "The spatial unit corresponding to this location.",
"type": "string"
}
}
}Example:
{
"displayName": "Display Name of this Location",
"description": "The description of this Location",
"spatialUnit": "..SpatialUnit.."
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Location has been updated" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "Location not found" }
delete /mapping/locations/{locationId}
Delete a particular Location given its id.
URI Parameters
- locationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Location has been deleted" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "Location not found" }
Entity representing a Location form metadata for update
Get form metadata for updating an existing Location.
get /mapping/locations/{locationId}/metadata
Get form metadata for updating an existing Location.
URI Parameters
- locationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Location",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this location, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this location, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this location for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Location.Location:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this location",
"linked": false
},
"description": {
"description": "The description of this location.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Location.Location:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this location",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this location. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this location. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"spatialUnit": {
"description": "The spatial unit corresponding to this location.",
"type": "string",
"elementId": "mapping.Location:spatialUnit@dxtera.org",
"existingValue": null,
"elementLabel": "Spatial Unit",
"instructions": "NEED TO GENERATE AN INSTRUCTION FOR SPATIALUNIT.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "location not found" }
Get parent Locations for the given Location in the hierarchy.
get /mapping/locations/{locationId}/parents
Get parent Locations for the given Location in the hierarchy.
URI Parameters
- locationId: required(string)
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20 - limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80 - expand: (string)
Expand object or type for named attribute: "genusType", "recordType", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "mapping.Location:6957@base.url",
"uri": "http://base.url/open/campusapi/mapping/location/mapping.Location%3A6957%40base.url",
"displayName": "Display Name of this Location",
"description": "The description of this Location",
"genusTypeId": "type.Type:defaultLocationType@base.url",
"recordTypeIds": [ "type.Type:exampleLocationRecordType@campusapi.org", "..."],
"spatialUnit": "..SpatialUnit.."
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Get child Locations for the given Location in the hierarchy.
get /mapping/locations/{locationId}/children
Get child Locations for the given Location in the hierarchy.
URI Parameters
- locationId: required(string)
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20 - limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80 - expand: (string)
Expand object or type for named attribute: "genusType", "recordType", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "mapping.Location:6957@base.url",
"uri": "http://base.url/open/campusapi/mapping/location/mapping.Location%3A6957%40base.url",
"displayName": "Display Name of this Location",
"description": "The description of this Location",
"genusTypeId": "type.Type:defaultLocationType@base.url",
"recordTypeIds": [ "type.Type:exampleLocationRecordType@campusapi.org", "..."],
"spatialUnit": "..SpatialUnit.."
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add Location as child of the given Location in the hierarchy.
Remove the given Location as a child of the given Location in the hierarchy.
put /mapping/locations/{locationId}/children/{childId}
Add Location as child of the given Location in the hierarchy.
URI Parameters
- locationId: required(string)
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child Location has been added to the hierarchy" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "location not found" }
delete /mapping/locations/{locationId}/children/{childId}
Remove the given Location as a child of the given Location in the hierarchy.
URI Parameters
- locationId: required(string)
- childId: required(string)
/mapping/maps
Collection of Maps in a system or federation of systems.
Get all Maps.
Create a new Map.
get /mapping/maps
Get all Maps.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20 - limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80 - expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "provider", "branding", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all - keyword: (string)
The match string for keyword query
Example:
Hello%20World - displayName: (string)
The match string for displayName query
Example:
Hello%20World - description: (string)
The match string for description query
Example:
Hello%20World - genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleMapType%40dxtera.org - parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleMapType%40dxtera.org - recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleMapType%40campusapi.org - providerId: (string)
Id string to match provider.
Example:
resource.Resource%3A3007%40demo.dxtera.org - locationId: (string)
Get maps mapped to this location.
Example:
mapping.Location%3A168%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "mapping.Map:8295@base.url",
"uri": "http://base.url/open/campusapi/mapping/map/mapping.Map%3A8295%40base.url",
"displayName": "Display Name of this Map",
"description": "The description of this Map",
"genusTypeId": "type.Type:defaultMapType@base.url",
"recordTypeIds": [ "type.Type:exampleMapRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Map@base.url",
"license": "The license that applies to this Map"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /mapping/maps
Create a new Map.
Query Parameters
- genusType: (string)
specify a particular map type to create
Example:
type.Type%3AexampleMapType%40dxtera.org - recordType: (array of )
specify support for one or more map record types
Example:
[ "type.Type%3AexampleMapRecordType%40campusapi.org", "..." ]
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Map",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this map. This id is provided solely by the underlying implementation and is not set on POST and cannot be changed. An id included on POST will result in an error.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this map. This URI is provided solely by the underlying implementation and is not set on POST and cannot be changed. A uri included on POST will result in an error.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this map for display.",
"type": "string"
},
"description": {
"description": "The description of this map.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this map. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this map. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"providerId": {
"description": "The provider of this map.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this map. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this map.",
"type": "string"
}
}
}Example:
{
"displayName": "Display Name of this Map",
"description": "The description of this Map",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Map@base.url",
"license": "The license that applies to this Map"
}
Query the collection of Maps in a system, federation of systems, or in a default map by posting a Query object.
Submit a query using a MapQuery object.
post /mapping/maps/map-query
Submit a query using a MapQuery object.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20 - limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80 - expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "provider", "branding", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "MapQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchSubjectIds": {
"description": "List of Ids to match an object with a relationships to the given subjects.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchJournalEntryIds": {
"description": "List of Ids match objects that have the given journal entries.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"journalEntryQueries": {
"description": "journaling.JournalEntryQueries to match journaling information. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "journal-entry-query"
}
},
"matchProviderIds": {
"description": "List of provider Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"stateId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"providerQueries": {
"description": "providerQueries to match the provider. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "resource-query"
}
},
"matchAnyProvider": {
"description": "Match providers with any value. true to match Map with any provider, false to match Map with no provider",
"type": "boolean"
},
"matchBrandingIds": {
"description": "List of branding asset Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"stateId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"brandingQueries": {
"description": "repository.AssetQueries to match the branding. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "asset-query"
}
},
"matchAnyBranding": {
"description": "Match brandingss with any value. true to match Map with any branding, false to match Map with no branding",
"type": "boolean"
},
"matchlicenses": {
"description": "List of license strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"license": {
"description": "license to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchMapIds": {
"description": "List of Map Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"mapId": {
"description": "Map id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"mapQueries": {
"description": "MapQueries to match Map. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "map-query"
}
}
}
}Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "mapping.Map:8295@base.url",
"uri": "http://base.url/open/campusapi/mapping/map/mapping.Map%3A8295%40base.url",
"displayName": "Display Name of this Map",
"description": "The description of this Map",
"genusTypeId": "type.Type:defaultMapType@base.url",
"recordTypeIds": [ "type.Type:exampleMapRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Map@base.url",
"license": "The license that applies to this Map"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Map form metadata.
Get form metadata for creating a new Map.
get /mapping/maps/metadata
Get form metadata for creating a new Map.
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Map",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this map, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this map, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this map for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Map.Map:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this map",
"linked": false
},
"description": {
"description": "The description of this map.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Map.Map:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this map",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this map. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this map. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"providerId": {
"description": "The provider of this map.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Map.Map:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this map",
"linked": false
},
"brandingIds": {
"description": "The branding of this map. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Map.Map:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this map",
"linked": false
},
"license": {
"description": "The licensing that applies to this map.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Map.Map:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this map",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root Maps in the Map hierarchy. A node with no parents is an orphan. While all Map Ids are known to the hierarchy, an orphan does not appear in the hierarchy unless explicitly added as a root node or child of another node.
Get all root root-maps
get /mapping/maps/root-maps
Get all root root-maps
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20 - limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80 - expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "provider", "branding", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "mapping.Map:8295@base.url",
"uri": "http://base.url/open/campusapi/mapping/map/mapping.Map%3A8295%40base.url",
"displayName": "Display Name of this Map",
"description": "The description of this Map",
"genusTypeId": "type.Type:defaultMapType@base.url",
"recordTypeIds": [ "type.Type:exampleMapRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Map@base.url",
"license": "The license that applies to this Map"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Map as a root in the Map hierarchy
Remove the given Map as a root in the Map hierarchy.
put /mapping/maps/root-maps/{mapId}
Add the given Map as a root in the Map hierarchy
URI Parameters
- mapId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Map has been added as a root" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "Map not found" }
delete /mapping/maps/root-maps/{mapId}
Remove the given Map as a root in the Map hierarchy.
URI Parameters
- mapId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Map has been removed as a root from the hierarchy" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "Map not found" }
Get parent Maps for the given Map in the hierarchy.
get /mapping/maps/root-maps/parents
Get parent Maps for the given Map in the hierarchy.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20 - limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80 - expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "provider", "branding", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "mapping.Map:8295@base.url",
"uri": "http://base.url/open/campusapi/mapping/map/mapping.Map%3A8295%40base.url",
"displayName": "Display Name of this Map",
"description": "The description of this Map",
"genusTypeId": "type.Type:defaultMapType@base.url",
"recordTypeIds": [ "type.Type:exampleMapRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Map@base.url",
"license": "The license that applies to this Map"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Get child Maps for the given Map in the hierarchy.
get /mapping/maps/root-maps/children
Get child Maps for the given Map in the hierarchy.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20 - limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80 - expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "provider", "branding", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "mapping.Map:8295@base.url",
"uri": "http://base.url/open/campusapi/mapping/map/mapping.Map%3A8295%40base.url",
"displayName": "Display Name of this Map",
"description": "The description of this Map",
"genusTypeId": "type.Type:defaultMapType@base.url",
"recordTypeIds": [ "type.Type:exampleMapRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Map@base.url",
"license": "The license that applies to this Map"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add Map as child of the given Map in the hierarchy.
Remove the given Map as a child of the given Map in the hierarchy.
put /mapping/maps/root-maps/children/{childId}
Add Map as child of the given Map in the hierarchy.
URI Parameters
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child Map has been added to the hierarchy" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "map not found" }
delete /mapping/maps/root-maps/children/{childId}
Remove the given Map as a child of the given Map in the hierarchy.
Entity representing a Map
Get a particular Map given its id.
Update a particular Map given its id.
Delete a particular Map given its id.
get /mapping/maps/{mapId}
Get a particular Map given its id.
URI Parameters
- mapId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "provider", "branding", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "mapping.Map:8295@base.url",
"uri": "http://base.url/open/campusapi/mapping/map/mapping.Map%3A8295%40base.url",
"displayName": "Display Name of this Map",
"description": "The description of this Map",
"genusTypeId": "type.Type:defaultMapType@base.url",
"recordTypeIds": [ "type.Type:exampleMapRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Map@base.url",
"license": "The license that applies to this Map"
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "Map not found" }
put /mapping/maps/{mapId}
Update a particular Map given its id.
URI Parameters
- mapId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "MapItem",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this map. This id is provided solely by the underlying implementation and is not set on POST and cannot be changed. An id included on POST will result in an error.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this map. This URI is provided solely by the underlying implementation and is not set on POST and cannot be changed. A uri included on POST will result in an error.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this map for display.",
"type": "string"
},
"description": {
"description": "The description of this map.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this map. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this map. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"providerId": {
"description": "The provider of this map.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this map. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this map.",
"type": "string"
}
}
}Example:
{
"displayName": "Display Name of this Map",
"description": "The description of this Map",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Map@base.url",
"license": "The license that applies to this Map"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Map has been updated" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "Map not found" }
delete /mapping/maps/{mapId}
Delete a particular Map given its id.
URI Parameters
- mapId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Map has been deleted" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "Map not found" }
Entity representing a Map form metadata for update
Get form metadata for updating an existing Map.
get /mapping/maps/{mapId}/metadata
Get form metadata for updating an existing Map.
URI Parameters
- mapId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Map",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this map, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this map, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this map for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Map.Map:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this map",
"linked": false
},
"description": {
"description": "The description of this map.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Map.Map:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this map",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this map. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this map. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"providerId": {
"description": "The provider of this map.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Map.Map:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this map",
"linked": false
},
"brandingIds": {
"description": "The branding of this map. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Map.Map:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this map",
"linked": false
},
"license": {
"description": "The licensing that applies to this map.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Map.Map:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this map",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "map not found" }
Get all Locations in this Map
get /mapping/maps/{mapId}/locations
Get all Locations in this Map
URI Parameters
- mapId: required(string)
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20 - limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80 - expand: (string)
Expand object or type for named attribute: "genusType", "recordType", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all - keyword: (string)
The match string for keyword query
Example:
Hello%20World - displayName: (string)
The match string for displayName query
Example:
Hello%20World - description: (string)
The match string for description query
Example:
Hello%20World - genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleLocationType%40dxtera.org - parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleLocationType%40dxtera.org - recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleLocationType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "mapping.Location:6957@base.url",
"uri": "http://base.url/open/campusapi/mapping/location/mapping.Location%3A6957%40base.url",
"displayName": "Display Name of this Location",
"description": "The description of this Location",
"genusTypeId": "type.Type:defaultLocationType@base.url",
"recordTypeIds": [ "type.Type:exampleLocationRecordType@campusapi.org", "..."],
"spatialUnit": "..SpatialUnit.."
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Location to this Map
Remove the given Location from the Map.
put /mapping/maps/{mapId}/locations/{locationId}
Add the given Location to this Map
URI Parameters
- mapId: required(string)
- locationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Location has been added to Map" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "Location not found" }
delete /mapping/maps/{mapId}/locations/{locationId}
Remove the given Location from the Map.
URI Parameters
- mapId: required(string)
- locationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Location has been removed" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "Location not found" }
Define and inspect the LocationQuery related to a "smart" Map. A smart Map is a dynamic Map whose cataloged objects are defined through queries.
Apply the provided LocationQuery to this Map to create a dynamic smart Map
Get the LocationQuery associated with this smart Map.
post /mapping/maps/{mapId}/location-query
Apply the provided LocationQuery to this Map to create a dynamic smart Map
URI Parameters
- mapId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "LocationQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchSubjectIds": {
"description": "List of Ids to match an object with a relationships to the given subjects.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchJournalEntryIds": {
"description": "List of Ids match objects that have the given journal entries.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"journalEntryQueries": {
"description": "journaling.JournalEntryQueries to match journaling information. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "journal-entry-query"
}
},
"matchSpatialUnit": {
"description": "Matches spatialUnit containing the specified SpatialUnit.",
"type": "object",
"properties": {
"spatial_unit": {
"description": "the spatial unit",
"type": "string",
"format": "spatial-unit"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
},
"matchMapIds": {
"description": "List of Map Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"mapId": {
"description": "Map id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"mapQueries": {
"description": "MapQueries to match Map. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "map-query"
}
}
}
}Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}get /mapping/maps/{mapId}/location-query
Get the LocationQuery associated with this smart Map.
URI Parameters
- mapId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "Map not found" }