CampusAPI Authorization Services API documentation version 0.1.2
Based on OSID version 3.0.0
https://base.url/authorization
Overview
The Authorization service package manages and queries authorizations.
This package includes the following entities:
Authorizations
An Authorization is relationship that defines who can do what to what. The grammar of an authorization includes the subject or the actor (who), the action or verb (do what), and the object or context (to what). All three of these components must exist in an authorization for it to have any explicit meaning. An Authorization is a mapping among these three components.
- Agent: the actor (eg: tom@coppeto.org)
- Function: the action (eg: create purchase order)
- Qualifier: the object or context within a Function (eg: on account 1967)
This tuple in essence defines a role. "Instructor" is not a role and is not suitable for making an authorization decision. "Instructs Physics 101", both the function and qualifier, defines the complete role (within the context of a particular college) that can be used for an authorization decision.
The basic service of Authorization is to provide a means for asking whether a given Agent is authorized to perform a Function with a Qualifier, in other words, does such a mapping exist. However, RESTful consumers are not expected to enforce authorizations. Authorizations are always enforced server-side, but the methods in this service allow for authoring and lookup of authorization entities.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this authorization, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this authorization, provided by system. | string(uri) |
displayName | The name of this authorization for display. | string |
description | The description of this authorization. | string |
genusTypeId (read‑only) | Id of the immutable type of this authorization. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this authorization. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
startDate | The starting date of this authorization. | string(date‑time) |
endDate | The ending date of this authorization. | string(date‑time) |
endReasonId | The reason this authorization ended. References a process.State object. | string(osid‑id) |
agentId (read‑only) | The agent associated with this authorization. References an authentication.Agent object. | string(osid‑id) |
functionId (read‑only) | The function associated with this authorization. References an authorization.Function object. | string(osid‑id) |
qualifierId (read‑only) | The qualifier associated with this authorization. References an authorization.Qualifier object. | string(osid‑id) |
Functions
A Function represents an authenticatable identity. A rule associated with the Function specifies conditions that can be supplied to authorization checks.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this function, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this function, provided by system. | string(uri) |
displayName | The name of this function for display. | string |
description | The description of this function. | string |
genusTypeId (read‑only) | Id of the immutable type of this function. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this function. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
active (read‑only) | Whether this function is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
enabled | Whether this function is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
disabled | Whether this function is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
operational (read‑only) | Whether this function is operational. This function is operational if any of the applied enablers are true. | boolean |
ruleId | An explicit rule for this function. References a rules.Rule object. | string(osid‑id) |
qualifierHierarchyId | The qualifier hierarchy for this function. References a hierarchy.Hierarchy object | string(osid‑id) |
Qualifiers
A Qualifier represents an authenticatable identity.
Authorizations can be explcit or implicit. Explicit authorizations are managed while implcit authorizations are derived from Resources, Function and Qualifier hierarchies. Examples of implcit authorizations:
- The Authorization service can accept a Resource in lieu of an Agent as the actor so a Person, Group or Organization may be used to specify an authorization. In this case, the explicit authorization is the one containing the Resource and an implicit authorization exists for each Agent.
- Qualifiers only exist as Hierarchy Nodes since the Authorization service does not manage the objects used as qualifiers but may manage directly, or have access to, a Hierarchy service to obtain the identity and relationship among these objects. An explicit authorization for a given Qualifier creates an implcit authorization for every child of that Qualifier.
The Authorization service manages Functions directly through its owned defined sessions and exposes actors via the Resource service. Qualifiers are only exposed through the Hierarchy service as the Authorization service doesn't have anything to say about the objects represented by the Qualifiers.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this qualifier, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this qualifier, provided by system. | string(uri) |
displayName | The name of this qualifier for display. | string |
description | The description of this qualifier. | string |
genusTypeId (read‑only) | Id of the immutable type of this qualifier. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this qualifier. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
Vaults
Authorizations, Functions and Qualifiers may be organized into one or many Vaults. This serves to categorize authorizatiion data for the purpose of browsing or auditing. Vaults are hierarchical where each node includes all the authorization data of its children. A single root node will make available all known authorizations and is a reasonable choice for a default Vault for a non-federated aware consumer. A federated authorization scheme is one in which Vaults are available for selection.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this vault, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this vault, provided by system. | string(uri) |
displayName | The name of this vault for display. | string |
description | The description of this vault. | string |
genusTypeId (read‑only) | Id of the immutable type of this vault. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this vault. 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 vault. References a resource.Resource object. | string(osid‑id) |
brandingIds | The branding of this vault. References repository.Asset objects. | string(osid‑id)[] |
license | The licensing that applies to this vault. | string |
License
CampusAPI REST Documentation Copyright 2020 DXtera Institute. Based on the Open Service Interface Defitions: http://osid.org
/authorizations
Collection of authorizations in a system, federation of systems, or in a default vault.
Get all authorizations in the system or default vault.
Create a new authorization in the default vault.
get /authorizations
Get all authorizations in the system or default vault.
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
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleAuthorizationType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleAuthorizationType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleAuthorizationType%40campusapi.org
- fromDate: (string)
Get all authorizations from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all authorizations up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- agentId: (string)
the id string to match a agent.
Example:
authentication.Agent%3A910%40base.url
- functionId: (string)
the id string to match a function.
Example:
authorization.Function%3A1352%40base.url
- qualifierId: (string)
the id string to match a qualifier.
Example:
authorization.Qualifier%3A1521%40base.url
- resourceId: (string)
Id string to match resource.
Example:
resource.Resource%3A3690%40demo.dxtera.org
- vaultId: (string)
The id string to match a vault
Example:
authorization.Vault%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "authorization.Authorization:7837@base.url",
"uri": "http://base.url/open/campusapi/authorization/authorization/authorization.Authorization%3A7837%40base.url",
"displayName": "Display Name of this Authorization",
"description": "The description of this Authorization",
"genusTypeId": "type.Type:defaultAuthorizationType@base.url",
"recordTypeIds": [ "type.Type:exampleAuthorizationRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7837@base.url",
"agentId": "authentication.Agent:9563@base.url",
"functionId": "authorization.Function:5842@base.url",
"qualifierId": "authorization.Qualifier:1047@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /authorizations
Create a new authorization in the default vault.
Query Parameters
- agentId: required(string)
the agent of this authorization.
Example:
authentication.Agent%3A910%40base.url
- functionId: required(string)
the function of this authorization.
Example:
authorization.Function%3A1352%40base.url
- qualifierId: required(string)
the qualifier of this authorization.
Example:
authorization.Qualifier%3A1521%40base.url
- genusType: (string)
specify a particular authorization type to create
Example:
type.Type%3AexampleAuthorizationType%40dxtera.org
- recordType: (array of )
specify support for one or more authorization record types
Example:
[ "type.Type%3AexampleAuthorizationRecordType%40campusapi.org", "..." ]
- vaultId: (string)
specify in which vault to create this authorization
Example:
authorization.Vault%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Authorization",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this authorization, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this authorization, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this authorization for display.",
"type": "string"
},
"description": {
"description": "The description of this authorization.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this authorization. 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 authorization. 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
},
"startDate": {
"description": "The starting date of this authorization.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this authorization.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this authorization ended.",
"type": "string",
"format": "osid-id"
},
"agentId": {
"description": "The agent associated with this authorization.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"functionId": {
"description": "The function associated with this authorization.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"qualifierId": {
"description": "The qualifier associated with this authorization.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this Authorization",
"description": "The description of this Authorization",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:8348@base.url"
}
Entity representing a authorization form metadata.
Get form metadata for creating a new authorization.
get /authorizations/metadata
Get form metadata for creating a new authorization.
Query Parameters
- agentId: required(string)
the agent of this metadatum.
Example:
authentication.Agent%3A910%40base.url
- functionId: required(string)
the function of this metadatum.
Example:
authorization.Function%3A1352%40base.url
- qualifierId: required(string)
the qualifier of this metadatum.
Example:
authorization.Qualifier%3A1521%40base.url
- genusType: (string)
specify a particular authorization type to create
Example:
type.Type%3AexampleAuthorizationType%40dxtera.org
- recordType: (array of )
specify support for one or more authorization record types
Example:
[ "type.Type%3AexampleAuthorizationRecordType%40campusapi.org", "..." ]
- vaultId: (string)
specify in which vault to create this authorization
Example:
authorization.Vault%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": "Authorization",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this authorization, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this authorization, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this authorization for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Authorization.Authorization:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this authorization",
"linked": false
},
"description": {
"description": "The description of this authorization.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Authorization.Authorization:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this authorization",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this authorization. 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 authorization. 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
},
"startDate": {
"description": "The starting date of this authorization.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Authorization.Authorization:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this authorization",
"linked": false
},
"endDate": {
"description": "The ending date of this authorization.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Authorization.Authorization:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this authorization",
"linked": false
},
"endReasonId": {
"description": "The reason this authorization ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Authorization.Authorization:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this authorization ended",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a authorization
Get a authorization given its id.
Update a given authorization.
Delete a given authorization.
get /authorizations/{authorizationId}
Get a authorization given its id.
URI Parameters
- authorizationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "authorization.Authorization:7837@base.url",
"uri": "http://base.url/open/campusapi/authorization/authorization/authorization.Authorization%3A7837%40base.url",
"displayName": "Display Name of this Authorization",
"description": "The description of this Authorization",
"genusTypeId": "type.Type:defaultAuthorizationType@base.url",
"recordTypeIds": [ "type.Type:exampleAuthorizationRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7837@base.url",
"agentId": "authentication.Agent:9563@base.url",
"functionId": "authorization.Function:5842@base.url",
"qualifierId": "authorization.Qualifier:1047@base.url"
}
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": "authorization not found" }
put /authorizations/{authorizationId}
Update a given authorization.
URI Parameters
- authorizationId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Authorization",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this authorization, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this authorization, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this authorization for display.",
"type": "string"
},
"description": {
"description": "The description of this authorization.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this authorization. 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 authorization. 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
},
"startDate": {
"description": "The starting date of this authorization.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this authorization.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this authorization ended.",
"type": "string",
"format": "osid-id"
},
"agentId": {
"description": "The agent associated with this authorization.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"functionId": {
"description": "The function associated with this authorization.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"qualifierId": {
"description": "The qualifier associated with this authorization.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this Authorization",
"description": "The description of this Authorization",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:8348@base.url"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The authorization 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": "authorization not found" }
delete /authorizations/{authorizationId}
Delete a given authorization.
URI Parameters
- authorizationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The authorization 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": "authorization not found" }
Entity representing a authorization form metadata for update
Get form metadata for updating an existing authorization.
get /authorizations/{authorizationId}/metadata
Get form metadata for updating an existing authorization.
URI Parameters
- authorizationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Authorization",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this authorization, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this authorization, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this authorization for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Authorization.Authorization:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this authorization",
"linked": false
},
"description": {
"description": "The description of this authorization.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Authorization.Authorization:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this authorization",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this authorization. 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 authorization. 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
},
"startDate": {
"description": "The starting date of this authorization.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Authorization.Authorization:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this authorization",
"linked": false
},
"endDate": {
"description": "The ending date of this authorization.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Authorization.Authorization:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this authorization",
"linked": false
},
"endReasonId": {
"description": "The reason this authorization ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Authorization.Authorization:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this authorization ended",
"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": "authorization not found" }
/functions
Collection of functions in a system, federation of systems, or in a default vault.
Get all functions in the system or default vault.
Create a new function in the default vault.
get /functions
Get all functions in the system or default vault.
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
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleFunctionType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleFunctionType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleFunctionType%40campusapi.org
- vaultId: (string)
The id string to match a vault
Example:
authorization.Vault%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "authorization.Function:5211@base.url",
"uri": "http://base.url/open/campusapi/authorization/function/authorization.Function%3A5211%40base.url",
"displayName": "Display Name of this Function",
"description": "The description of this Function",
"genusTypeId": "type.Type:defaultFunctionType@base.url",
"recordTypeIds": [ "type.Type:exampleFunctionRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"qualifierHierarchyId": "hierarchy.Hierarchy:974@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /functions
Create a new function in the default vault.
Query Parameters
- genusType: (string)
specify a particular function type to create
Example:
type.Type%3AexampleFunctionType%40dxtera.org
- recordType: (array of )
specify support for one or more function record types
Example:
[ "type.Type%3AexampleFunctionRecordType%40campusapi.org", "..." ]
- vaultId: (string)
specify in which vault to create this function
Example:
authorization.Vault%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Function",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this function, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this function, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this function for display.",
"type": "string"
},
"description": {
"description": "The description of this function.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this function. 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 function. 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
},
"active": {
"description": "Whether this function is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this function is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this function is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this function is operational. This function is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this function.",
"type": "string",
"format": "osid-id"
},
"qualifierHierarchyId": {
"description": "The qualifier hierarchy for this function.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"displayName": "Display Name of this Function",
"description": "The description of this Function",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"qualifierHierarchyId": "hierarchy.Hierarchy:8150@base.url"
}
Entity representing a function form metadata.
Get form metadata for creating a new function.
get /functions/metadata
Get form metadata for creating a new function.
Query Parameters
- genusType: (string)
specify a particular function type to create
Example:
type.Type%3AexampleFunctionType%40dxtera.org
- recordType: (array of )
specify support for one or more function record types
Example:
[ "type.Type%3AexampleFunctionRecordType%40campusapi.org", "..." ]
- vaultId: (string)
specify in which vault to create this function
Example:
authorization.Vault%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": "Function",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this function, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this function, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this function for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Function.Function:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this function",
"linked": false
},
"description": {
"description": "The description of this function.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Function.Function:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this function",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this function. 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 function. 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
},
"enabled": {
"description": "Whether this function is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Function.Function:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this function is enabled",
"linked": false
},
"disabled": {
"description": "Whether this function is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Function.Function:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this function is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this function.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Function.Function:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this function",
"linked": false
},
"qualifierHierarchyId": {
"description": "The qualifier hierarchy for this function.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "authorization.Function:qualifierHierarchy@dxtera.org",
"existingValue": null,
"elementLabel": "Qualifier Hierarchy",
"instructions": "Enter the Id of the qualifier hierarchy for this function.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a function
Get a function given its id.
Update a given function.
Delete a given function.
get /functions/{functionId}
Get a function given its id.
URI Parameters
- functionId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "authorization.Function:5211@base.url",
"uri": "http://base.url/open/campusapi/authorization/function/authorization.Function%3A5211%40base.url",
"displayName": "Display Name of this Function",
"description": "The description of this Function",
"genusTypeId": "type.Type:defaultFunctionType@base.url",
"recordTypeIds": [ "type.Type:exampleFunctionRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"qualifierHierarchyId": "hierarchy.Hierarchy:974@base.url"
}
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": "function not found" }
put /functions/{functionId}
Update a given function.
URI Parameters
- functionId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Function",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this function, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this function, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this function for display.",
"type": "string"
},
"description": {
"description": "The description of this function.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this function. 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 function. 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
},
"active": {
"description": "Whether this function is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this function is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this function is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this function is operational. This function is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"ruleId": {
"description": "An explicit Rule for this function.",
"type": "string",
"format": "osid-id"
},
"qualifierHierarchyId": {
"description": "The qualifier hierarchy for this function.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"displayName": "Display Name of this Function",
"description": "The description of this Function",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"qualifierHierarchyId": "hierarchy.Hierarchy:8150@base.url"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The function 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": "function not found" }
delete /functions/{functionId}
Delete a given function.
URI Parameters
- functionId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The function 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": "function not found" }
Entity representing a function form metadata for update
Get form metadata for updating an existing function.
get /functions/{functionId}/metadata
Get form metadata for updating an existing function.
URI Parameters
- functionId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Function",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this function, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this function, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this function for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Function.Function:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this function",
"linked": false
},
"description": {
"description": "The description of this function.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Function.Function:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this function",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this function. 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 function. 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
},
"enabled": {
"description": "Whether this function is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Function.Function:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this function is enabled",
"linked": false
},
"disabled": {
"description": "Whether this function is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Function.Function:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this function is enabled",
"linked": false
},
"ruleId": {
"description": "An explicit Rule for this function.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Function.Function:rule@base.url",
"existingValue": "",
"elementLabel": "Rule",
"instructions": "Select a Rule to apply to this function",
"linked": false
},
"qualifierHierarchyId": {
"description": "The qualifier hierarchy for this function.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "authorization.Function:qualifierHierarchy@dxtera.org",
"existingValue": null,
"elementLabel": "Qualifier Hierarchy",
"instructions": "Enter the Id of the qualifier hierarchy for this function.",
"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": "function not found" }
/qualifiers
Collection of qualifiers in a system, federation of systems, or in a default vault.
Get all qualifiers in the system or default vault.
Create a new qualifier in the default vault.
get /qualifiers
Get all qualifiers in the system or default vault.
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
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleQualifierType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleQualifierType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleQualifierType%40campusapi.org
- vaultId: (string)
The id string to match a vault
Example:
authorization.Vault%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "authorization.Qualifier:2984@base.url",
"uri": "http://base.url/open/campusapi/authorization/qualifier/authorization.Qualifier%3A2984%40base.url",
"displayName": "Display Name of this Qualifier",
"description": "The description of this Qualifier",
"genusTypeId": "type.Type:defaultQualifierType@base.url",
"recordTypeIds": [ "type.Type:exampleQualifierRecordType@campusapi.org", "..."]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /qualifiers
Create a new qualifier in the default vault.
Query Parameters
- genusType: (string)
specify a particular qualifier type to create
Example:
type.Type%3AexampleQualifierType%40dxtera.org
- recordType: (array of )
specify support for one or more qualifier record types
Example:
[ "type.Type%3AexampleQualifierRecordType%40campusapi.org", "..." ]
- vaultId: (string)
specify in which vault to create this qualifier
Example:
authorization.Vault%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Qualifier",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this qualifier, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this qualifier, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this qualifier for display.",
"type": "string"
},
"description": {
"description": "The description of this qualifier.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this qualifier. 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 qualifier. 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
}
}
}
Example:
{
"displayName": "Display Name of this Qualifier",
"description": "The description of this Qualifier"
}
Entity representing a qualifier form metadata.
Get form metadata for creating a new qualifier.
get /qualifiers/metadata
Get form metadata for creating a new qualifier.
Query Parameters
- genusType: (string)
specify a particular qualifier type to create
Example:
type.Type%3AexampleQualifierType%40dxtera.org
- recordType: (array of )
specify support for one or more qualifier record types
Example:
[ "type.Type%3AexampleQualifierRecordType%40campusapi.org", "..." ]
- vaultId: (string)
specify in which vault to create this qualifier
Example:
authorization.Vault%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": "Qualifier",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this qualifier, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this qualifier, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this qualifier for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Qualifier.Qualifier:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this qualifier",
"linked": false
},
"description": {
"description": "The description of this qualifier.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Qualifier.Qualifier:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this qualifier",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this qualifier. 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 qualifier. 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
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root qualifiers in the qualifier hierarchy. A node with no parents is an orphan. While all qualifier 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-qualifiers
get /qualifiers/root-qualifiers
Get all root root-qualifiers
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "authorization.Qualifier:2984@base.url",
"uri": "http://base.url/open/campusapi/authorization/qualifier/authorization.Qualifier%3A2984%40base.url",
"displayName": "Display Name of this Qualifier",
"description": "The description of this Qualifier",
"genusTypeId": "type.Type:defaultQualifierType@base.url",
"recordTypeIds": [ "type.Type:exampleQualifierRecordType@campusapi.org", "..."]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given qualifier as a root in the qualifier hierarchy
Remove the given qualifier as a root in the qualifier hierarchy.
put /qualifiers/root-qualifiers/{qualifierId}
Add the given qualifier as a root in the qualifier hierarchy
URI Parameters
- qualifierId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The qualifier 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": "qualifier not found" }
delete /qualifiers/root-qualifiers/{qualifierId}
Remove the given qualifier as a root in the qualifier hierarchy.
URI Parameters
- qualifierId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The qualifier 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": "qualifier not found" }
Entity representing a qualifier
Get a qualifier given its id.
Update a given qualifier.
Delete a given qualifier.
get /qualifiers/{qualifierId}
Get a qualifier given its id.
URI Parameters
- qualifierId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "authorization.Qualifier:2984@base.url",
"uri": "http://base.url/open/campusapi/authorization/qualifier/authorization.Qualifier%3A2984%40base.url",
"displayName": "Display Name of this Qualifier",
"description": "The description of this Qualifier",
"genusTypeId": "type.Type:defaultQualifierType@base.url",
"recordTypeIds": [ "type.Type:exampleQualifierRecordType@campusapi.org", "..."]
}
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": "qualifier not found" }
put /qualifiers/{qualifierId}
Update a given qualifier.
URI Parameters
- qualifierId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Qualifier",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this qualifier, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this qualifier, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this qualifier for display.",
"type": "string"
},
"description": {
"description": "The description of this qualifier.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this qualifier. 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 qualifier. 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
}
}
}
Example:
{
"displayName": "Display Name of this Qualifier",
"description": "The description of this Qualifier"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The qualifier 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": "qualifier not found" }
delete /qualifiers/{qualifierId}
Delete a given qualifier.
URI Parameters
- qualifierId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The qualifier 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": "qualifier not found" }
Entity representing a qualifier form metadata for update
Get form metadata for updating an existing qualifier.
get /qualifiers/{qualifierId}/metadata
Get form metadata for updating an existing qualifier.
URI Parameters
- qualifierId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Qualifier",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this qualifier, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this qualifier, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this qualifier for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Qualifier.Qualifier:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this qualifier",
"linked": false
},
"description": {
"description": "The description of this qualifier.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Qualifier.Qualifier:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this qualifier",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this qualifier. 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 qualifier. 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
}
}
}
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": "qualifier not found" }
Get child qualifiers for the given qualifier in the hierarchy.
get /qualifiers/{qualifierId}/children
Get child qualifiers for the given qualifier in the hierarchy.
URI Parameters
- qualifierId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "authorization.Qualifier:2984@base.url",
"uri": "http://base.url/open/campusapi/authorization/qualifier/authorization.Qualifier%3A2984%40base.url",
"displayName": "Display Name of this Qualifier",
"description": "The description of this Qualifier",
"genusTypeId": "type.Type:defaultQualifierType@base.url",
"recordTypeIds": [ "type.Type:exampleQualifierRecordType@campusapi.org", "..."]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add qualifier as child of the given qualifier in the hierarchy.
Remove the given qualifier as a child of the given qualifier in the hierarchy.
put /qualifiers/{qualifierId}/children/{childId}
Add qualifier as child of the given qualifier in the hierarchy.
URI Parameters
- qualifierId: required(string)
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child qualifier 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": "qualifier not found" }
delete /qualifiers/{qualifierId}/children/{childId}
Remove the given qualifier as a child of the given qualifier in the hierarchy.
URI Parameters
- qualifierId: required(string)
- childId: required(string)
Get parent qualifiers for the given qualifier in the hierarchy.
get /qualifiers/{qualifierId}/parents
Get parent qualifiers for the given qualifier in the hierarchy.
URI Parameters
- qualifierId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "authorization.Qualifier:2984@base.url",
"uri": "http://base.url/open/campusapi/authorization/qualifier/authorization.Qualifier%3A2984%40base.url",
"displayName": "Display Name of this Qualifier",
"description": "The description of this Qualifier",
"genusTypeId": "type.Type:defaultQualifierType@base.url",
"recordTypeIds": [ "type.Type:exampleQualifierRecordType@campusapi.org", "..."]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
/vaults
Collection of vaults in a system or federation of systems.
Get all vaults.
Create a new vault.
get /vaults
Get all vaults.
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
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleVaultType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleVaultType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleVaultType%40campusapi.org
- providerId: (string)
Id string to match provider.
Example:
resource.Resource%3A3007%40demo.dxtera.org
- authorizationId: (string)
Get vaults mapped to this authorization.
Example:
authorization.Authorization%3A845%40demo.dxtera.org
- functionId: (string)
Get vaults mapped to this function.
Example:
authorization.Function%3A520%40demo.dxtera.org
- qualifierId: (string)
Get vaults mapped to this qualifier.
Example:
authorization.Qualifier%3A585%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "authorization.Vault:5011@base.url",
"uri": "http://base.url/open/campusapi/authorization/vault/authorization.Vault%3A5011%40base.url",
"displayName": "Display Name of this Vault",
"description": "The description of this Vault",
"genusTypeId": "type.Type:defaultVaultType@base.url",
"recordTypeIds": [ "type.Type:exampleVaultRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Vault@base.url",
"license": "The license that applies to this Vault"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /vaults
Create a new vault.
Query Parameters
- genusType: (string)
specify a particular vault type to create
Example:
type.Type%3AexampleVaultType%40dxtera.org
- recordType: (array of )
specify support for one or more vault record types
Example:
[ "type.Type%3AexampleVaultRecordType%40campusapi.org", "..." ]
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Vault",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this vault, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this vault, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this vault for display.",
"type": "string"
},
"description": {
"description": "The description of this vault.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this vault. 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 vault. 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 vault.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this vault. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this vault.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this Vault",
"description": "The description of this Vault",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Vault@base.url",
"license": "The license that applies to this Vault"
}
Entity representing a vault form metadata.
Get form metadata for creating a new vault.
get /vaults/metadata
Get form metadata for creating a new vault.
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Vault",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this vault, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this vault, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this vault for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Vault.Vault:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this vault",
"linked": false
},
"description": {
"description": "The description of this vault.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Vault.Vault:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this vault",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this vault. 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 vault. 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 vault.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Vault.Vault:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this vault",
"linked": false
},
"brandingIds": {
"description": "The branding of this vault. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Vault.Vault:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this vault",
"linked": false
},
"license": {
"description": "The licensing that applies to this vault.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Vault.Vault:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this vault",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root vaults in the vault hierarchy. A node with no parents is an orphan. While all vault 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-vault
get /vaults/root-vault
Get all root root-vault
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "authorization.Vault:5011@base.url",
"uri": "http://base.url/open/campusapi/authorization/vault/authorization.Vault%3A5011%40base.url",
"displayName": "Display Name of this Vault",
"description": "The description of this Vault",
"genusTypeId": "type.Type:defaultVaultType@base.url",
"recordTypeIds": [ "type.Type:exampleVaultRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Vault@base.url",
"license": "The license that applies to this Vault"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a vault
Get a vault given its id.
Update a given vault.
Delete a given vault.
get /vaults/{vaultId}
Get a vault given its id.
URI Parameters
- vaultId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "authorization.Vault:5011@base.url",
"uri": "http://base.url/open/campusapi/authorization/vault/authorization.Vault%3A5011%40base.url",
"displayName": "Display Name of this Vault",
"description": "The description of this Vault",
"genusTypeId": "type.Type:defaultVaultType@base.url",
"recordTypeIds": [ "type.Type:exampleVaultRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Vault@base.url",
"license": "The license that applies to this Vault"
}
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": "vault not found" }
put /vaults/{vaultId}
Update a given vault.
URI Parameters
- vaultId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Vault",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this vault, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this vault, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this vault for display.",
"type": "string"
},
"description": {
"description": "The description of this vault.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this vault. 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 vault. 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 vault.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this vault. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this vault.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this Vault",
"description": "The description of this Vault",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Vault@base.url",
"license": "The license that applies to this Vault"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The vault 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": "vault not found" }
delete /vaults/{vaultId}
Delete a given vault.
URI Parameters
- vaultId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The vault 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": "vault not found" }
Entity representing a vault form metadata for update
Get form metadata for updating an existing vault.
get /vaults/{vaultId}/metadata
Get form metadata for updating an existing vault.
URI Parameters
- vaultId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Vault",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this vault, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this vault, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this vault for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Vault.Vault:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this vault",
"linked": false
},
"description": {
"description": "The description of this vault.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Vault.Vault:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this vault",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this vault. 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 vault. 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 vault.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Vault.Vault:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this vault",
"linked": false
},
"brandingIds": {
"description": "The branding of this vault. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Vault.Vault:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this vault",
"linked": false
},
"license": {
"description": "The licensing that applies to this vault.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Vault.Vault:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this vault",
"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": "vault not found" }
Get child vaults for the given vault in the hierarchy.
get /vaults/{vaultId}/children
Get child vaults for the given vault in the hierarchy.
URI Parameters
- vaultId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "authorization.Vault:5011@base.url",
"uri": "http://base.url/open/campusapi/authorization/vault/authorization.Vault%3A5011%40base.url",
"displayName": "Display Name of this Vault",
"description": "The description of this Vault",
"genusTypeId": "type.Type:defaultVaultType@base.url",
"recordTypeIds": [ "type.Type:exampleVaultRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Vault@base.url",
"license": "The license that applies to this Vault"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add vault as child of the given vault in the hierarchy.
Remove the given vault as a child of the given vault in the hierarchy.
put /vaults/{vaultId}/children/{childId}
Add vault as child of the given vault in the hierarchy.
URI Parameters
- vaultId: required(string)
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child vault 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": "vault not found" }
delete /vaults/{vaultId}/children/{childId}
Remove the given vault as a child of the given vault in the hierarchy.
URI Parameters
- vaultId: required(string)
- childId: required(string)
Get parent vaults for the given vault in the hierarchy.
get /vaults/{vaultId}/parents
Get parent vaults for the given vault in the hierarchy.
URI Parameters
- vaultId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "authorization.Vault:5011@base.url",
"uri": "http://base.url/open/campusapi/authorization/vault/authorization.Vault%3A5011%40base.url",
"displayName": "Display Name of this Vault",
"description": "The description of this Vault",
"genusTypeId": "type.Type:defaultVaultType@base.url",
"recordTypeIds": [ "type.Type:exampleVaultRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Vault@base.url",
"license": "The license that applies to this Vault"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Get all authorizations in this vault
get /vaults/{vaultId}/authorizations
Get all authorizations in this vault
URI Parameters
- vaultId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "authorization.Authorization:7837@base.url",
"uri": "http://base.url/open/campusapi/authorization/authorization/authorization.Authorization%3A7837%40base.url",
"displayName": "Display Name of this Authorization",
"description": "The description of this Authorization",
"genusTypeId": "type.Type:defaultAuthorizationType@base.url",
"recordTypeIds": [ "type.Type:exampleAuthorizationRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7837@base.url",
"agentId": "authentication.Agent:9563@base.url",
"functionId": "authorization.Function:5842@base.url",
"qualifierId": "authorization.Qualifier:1047@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given authorization to this vault
Remove the given authorization from the vault.
put /vaults/{vaultId}/authorizations/{authorizationId}
Add the given authorization to this vault
URI Parameters
- vaultId: required(string)
- authorizationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "authorization has been added to vault" }
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": "authorization not found" }
delete /vaults/{vaultId}/authorizations/{authorizationId}
Remove the given authorization from the vault.
URI Parameters
- vaultId: required(string)
- authorizationId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "authorization 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": "authorization not found" }
Get all functions in this vault
get /vaults/{vaultId}/functions
Get all functions in this vault
URI Parameters
- vaultId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "authorization.Function:5211@base.url",
"uri": "http://base.url/open/campusapi/authorization/function/authorization.Function%3A5211%40base.url",
"displayName": "Display Name of this Function",
"description": "The description of this Function",
"genusTypeId": "type.Type:defaultFunctionType@base.url",
"recordTypeIds": [ "type.Type:exampleFunctionRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"ruleId": "rules.Rule:123@base.url",
"qualifierHierarchyId": "hierarchy.Hierarchy:974@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given function to this vault
Remove the given function from the vault.
put /vaults/{vaultId}/functions/{functionId}
Add the given function to this vault
URI Parameters
- vaultId: required(string)
- functionId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "function has been added to vault" }
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": "function not found" }
delete /vaults/{vaultId}/functions/{functionId}
Remove the given function from the vault.
URI Parameters
- vaultId: required(string)
- functionId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "function 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": "function not found" }
Get all qualifiers in this vault
get /vaults/{vaultId}/qualifiers
Get all qualifiers in this vault
URI Parameters
- vaultId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "authorization.Qualifier:2984@base.url",
"uri": "http://base.url/open/campusapi/authorization/qualifier/authorization.Qualifier%3A2984%40base.url",
"displayName": "Display Name of this Qualifier",
"description": "The description of this Qualifier",
"genusTypeId": "type.Type:defaultQualifierType@base.url",
"recordTypeIds": [ "type.Type:exampleQualifierRecordType@campusapi.org", "..."]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given qualifier to this vault
Remove the given qualifier from the vault.
put /vaults/{vaultId}/qualifiers/{qualifierId}
Add the given qualifier to this vault
URI Parameters
- vaultId: required(string)
- qualifierId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "qualifier has been added to vault" }
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": "qualifier not found" }
delete /vaults/{vaultId}/qualifiers/{qualifierId}
Remove the given qualifier from the vault.
URI Parameters
- vaultId: required(string)
- qualifierId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "qualifier 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": "qualifier not found" }