CampusAPI Hold Services API documentation version 0.0.4
Based on OSID version 3.0.0
https://demo.dxtera.org/open/campusapi/hold
Overview
The Hold services provide a means for manging "blacklists". Hold adds the concept of "except for" across the CampusAPI environment. The Hold services can be used as part of the implementation of an Authorization service to override authorization Functions or as part of a Rules implementation to define managed Checks in a business process.
This package includes the following entities:
Blocks
Issues are be mapped to Blocks. The Block is the entity that is checked by an external evaluator. A person is "blocked" if they have any Holds related to Issues mapped to the Block. The separation of a Block and an Issue allows for one party to maintain their set of Issues that impacts the business process of another party that authors the Blocks. An example is a registrar of a university that blocks registration for students who have not returned their library books.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this block, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this block, provided by system. | string(uri) |
displayName | The name of this block for display. | string |
description | The description of this block. | string |
genusType (read‑only) | The immutable type of this block. Default type set by system unless specified in query parameter. | string(osid‑type) |
issueIds | The issues. References an array of hold.Issue objects. | string(osid‑id)[] |
Issues
An Issue represents a problem. A problem might be the lack of a payment or the hosing of a system.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this issue, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this issue, provided by system. | string(uri) |
displayName | The name of this issue for display. | string |
description | The description of this issue. | string |
genusType (read‑only) | The immutable type of this issue. Default type set by system unless specified in query parameter. | string(osid‑type) |
bureauId | The resource that has authority for this issue. References a resource.Resource object | string(osid‑id) |
Holds
A Hold is relationship between a Resource and an Issue. A Hold says that a person has not made their payment or has some other problem identified by the related Issue.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this hold, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this hold, provided by system. | string(uri) |
displayName | The name of this hold for display. | string |
description | The description of this hold. | string |
genusType (read‑only) | The immutable type of this hold. Default type set by system unless specified in query parameter. | string(osid‑type) |
startDate | The starting date of this hold. | string(date‑time) |
endDate | The ending date of this hold. | string(date‑time) |
endReasonId | The reason this hold ended. References a process.State object. | string(osid‑id) |
Oubliettes
Holds, Issues, and Blocks are organized into federatable catalogs called Oubliettes.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this oubliette, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this oubliette, provided by system. | string(uri) |
displayName | The name of this oubliette for display. | string |
description | The description of this oubliette. | string |
genusType (read‑only) | The immutable type of this oubliette. Default type set by system unless specified in query parameter. | string(osid‑type) |
providerId | The provider of this oubliette. References a resource.Resource object. | string(osid‑id) |
brandingIds | The branding of this oubliette. References repository.Asset objects. | string(osid‑id)[] |
license | The licensing that applies to this oubliette. | string |
License
CampusAPI REST Documentation Copyright 2020 DXtera Institute. Based on the Open Service Interface Defitions: http://osid.org
/blocks
Collection of blocks in a system, federation of systems, or in a default oubliette.
Get all blocks in the system or default oubliette.
Create a new block in the default oubliette.
get /blocks
Get all blocks in the system or default oubliette.
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
- genusType: (string)
The id string to match a genusType
Example:
type.Type%3AexampleBlockType%40dxtera.org
- parentGenusType: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleBlockType%40dxtera.org
- oublietteId: (string)
The id string to match a oubliette
Example:
hold.Oubliette%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "hold.Block:1344@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/block/hold.Block%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Block",
"description": "The description of this Block",
"genusType": "type.Type:defaultBlockType@dxtera.org",
"issueIds": [ "hold.Issue:8475@demo.dxtera.org", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /blocks
Create a new block in the default oubliette.
Query Parameters
- genusType: (string)
specify a particular block type to create
Example:
type.Type%3AexampleBlockType%40dxtera.org
- oublietteId: (string)
specify in which oubliette to create this block
Example:
hold.Oubliette%3A8374%40demo.dxtera.org
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Block",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this block, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this block, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this block for display.",
"type": "string"
},
"description": {
"description": "The description of this block.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this block. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"issueIds": {
"description": "The issues.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"id": "hold.Block:4955@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/block/hold.Block%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Block",
"description": "The description of this Block",
"issueIds": [ "hold.Issue:4495@demo.dxtera.org", "..." ]
}
Entity representing a block form metadata.
Get form metadata for creating a new block.
get /blocks/metadata
Get form metadata for creating a new block.
Query Parameters
- genusType: (string)
specify a particular block type to create
Example:
type.Type%3AexampleBlockType%40dxtera.org
- oublietteId: (string)
specify in which oubliette to create this block
Example:
hold.Oubliette%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Block",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this block, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this block, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this block for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Block.Block:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this block",
"linked": false
},
"description": {
"description": "The description of this block.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Block.Block:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this block",
"linked": false
},
"genusType": {
"description": "The immutable type of this block. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"issueIds": {
"description": "The issues.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "hold.Block:issues@dxtera.org",
"existingValue": [],
"elementLabel": "Issues",
"instructions": "Enter Ids for issues of this block.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a block
Get a block given its id.
Update a given block.
Delete a given block.
get /blocks/{blockId}
Get a block given its id.
URI Parameters
- blockId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "hold.Block:1344@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/block/hold.Block%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Block",
"description": "The description of this Block",
"genusType": "type.Type:defaultBlockType@dxtera.org",
"issueIds": [ "hold.Issue:8475@demo.dxtera.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": "block not found" }
put /blocks/{blockId}
Update a given block.
URI Parameters
- blockId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Block",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this block, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this block, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this block for display.",
"type": "string"
},
"description": {
"description": "The description of this block.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this block. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"issueIds": {
"description": "The issues.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"id": "hold.Block:4955@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/block/hold.Block%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Block",
"description": "The description of this Block",
"issueIds": [ "hold.Issue:4495@demo.dxtera.org", "..." ]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The block 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": "block not found" }
delete /blocks/{blockId}
Delete a given block.
URI Parameters
- blockId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The block 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": "block not found" }
Entity representing a block form metadata for update
Get form metadata for updating an existing block.
get /blocks/{blockId}/metadata
Get form metadata for updating an existing block.
URI Parameters
- blockId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Block",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this block, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this block, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this block for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Block.Block:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this block",
"linked": false
},
"description": {
"description": "The description of this block.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Block.Block:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this block",
"linked": false
},
"genusType": {
"description": "The immutable type of this block. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"issueIds": {
"description": "The issues.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"elementId": "hold.Block:issues@dxtera.org",
"existingValue": [],
"elementLabel": "Issues",
"instructions": "Enter Ids for issues of this block.",
"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": "block not found" }
/issues
Collection of issues in a system, federation of systems, or in a default oubliette.
Get all issues in the system or default oubliette.
Create a new issue in the default oubliette.
get /issues
Get all issues in the system or default oubliette.
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
- genusType: (string)
The id string to match a genusType
Example:
type.Type%3AexampleIssueType%40dxtera.org
- parentGenusType: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleIssueType%40dxtera.org
- oublietteId: (string)
The id string to match a oubliette
Example:
hold.Oubliette%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "hold.Issue:939@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/issue/hold.Issue%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Issue",
"description": "The description of this Issue",
"genusType": "type.Type:defaultIssueType@dxtera.org",
"bureauId": "resource.Resource:284@demo.dxtera.org",
"assignedResourceId": ":8358@demo.dxtera.org",
"blockerIssueIds": [ ":4328@demo.dxtera.org", "..." ],
"duplicateIssueIds": [ ":7623@demo.dxtera.org", "..." ],
"branchedIssueId": ":22@demo.dxtera.org",
"reopenerId": ":4454@demo.dxtera.org",
"reopeningAgentId": ":7216@demo.dxtera.org",
"reopenedDate": "2020-10-03T08:00:00.000Z",
"resolverId": ":2288@demo.dxtera.org",
"resolvingAgentId": ":9453@demo.dxtera.org",
"resolvedDate": "2020-07-21T00:00:00.000Z",
"resolutionType": "type.Type:9015@demo.dxtera.org",
"closerId": ":306@demo.dxtera.org",
"closingAgentId": ":255@demo.dxtera.org",
"closedDate": "2020-12-18T17:00:00.000Z"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /issues
Create a new issue in the default oubliette.
Query Parameters
- genusType: (string)
specify a particular issue type to create
Example:
type.Type%3AexampleIssueType%40dxtera.org
- oublietteId: (string)
specify in which oubliette to create this issue
Example:
hold.Oubliette%3A8374%40demo.dxtera.org
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Issue",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this issue, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this issue, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this issue for display.",
"type": "string"
},
"description": {
"description": "The description of this issue.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this issue. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"bureauId": {
"description": "The resource that has authority for this issue.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"id": "hold.Issue:2898@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/issue/hold.Issue%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Issue",
"description": "The description of this Issue",
"bureauId": "resource.Resource:215@demo.dxtera.org",
"assignedResourceId": ":8376@demo.dxtera.org",
"blockerIssueIds": [ ":5565@demo.dxtera.org", "..." ],
"duplicateIssueIds": [ ":6423@demo.dxtera.org", "..." ],
"branchedIssueId": ":1860@demo.dxtera.org",
"reopenerId": ":9926@demo.dxtera.org",
"reopeningAgentId": ":8600@demo.dxtera.org",
"reopenedDate": "2020-10-03T08:00:00.000Z",
"resolverId": ":1209@demo.dxtera.org",
"resolvingAgentId": ":3327@demo.dxtera.org",
"resolvedDate": "2020-07-21T00:00:00.000Z",
"resolutionType": "type.Type:7215@demo.dxtera.org",
"closerId": ":7112@demo.dxtera.org",
"closingAgentId": ":9365@demo.dxtera.org",
"closedDate": "2020-12-18T17:00:00.000Z"
}
Entity representing a issue form metadata.
Get form metadata for creating a new issue.
get /issues/metadata
Get form metadata for creating a new issue.
Query Parameters
- genusType: (string)
specify a particular issue type to create
Example:
type.Type%3AexampleIssueType%40dxtera.org
- oublietteId: (string)
specify in which oubliette to create this issue
Example:
hold.Oubliette%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Issue",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this issue, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this issue, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this issue for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Issue.Issue:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this issue",
"linked": false
},
"description": {
"description": "The description of this issue.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Issue.Issue:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this issue",
"linked": false
},
"genusType": {
"description": "The immutable type of this issue. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"bureauId": {
"description": "The resource that has authority for this issue.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "hold.Issue:bureau@dxtera.org",
"existingValue": null,
"elementLabel": "Bureau",
"instructions": "Enter the Id of the bureau for this issue.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a issue
Get a issue given its id.
Update a given issue.
Delete a given issue.
get /issues/{issueId}
Get a issue given its id.
URI Parameters
- issueId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "hold.Issue:939@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/issue/hold.Issue%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Issue",
"description": "The description of this Issue",
"genusType": "type.Type:defaultIssueType@dxtera.org",
"bureauId": "resource.Resource:284@demo.dxtera.org",
"assignedResourceId": ":8358@demo.dxtera.org",
"blockerIssueIds": [ ":4328@demo.dxtera.org", "..." ],
"duplicateIssueIds": [ ":7623@demo.dxtera.org", "..." ],
"branchedIssueId": ":22@demo.dxtera.org",
"reopenerId": ":4454@demo.dxtera.org",
"reopeningAgentId": ":7216@demo.dxtera.org",
"reopenedDate": "2020-10-03T08:00:00.000Z",
"resolverId": ":2288@demo.dxtera.org",
"resolvingAgentId": ":9453@demo.dxtera.org",
"resolvedDate": "2020-07-21T00:00:00.000Z",
"resolutionType": "type.Type:9015@demo.dxtera.org",
"closerId": ":306@demo.dxtera.org",
"closingAgentId": ":255@demo.dxtera.org",
"closedDate": "2020-12-18T17:00:00.000Z"
}
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": "issue not found" }
put /issues/{issueId}
Update a given issue.
URI Parameters
- issueId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Issue",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this issue, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this issue, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this issue for display.",
"type": "string"
},
"description": {
"description": "The description of this issue.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this issue. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"bureauId": {
"description": "The resource that has authority for this issue.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"id": "hold.Issue:2898@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/issue/hold.Issue%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Issue",
"description": "The description of this Issue",
"bureauId": "resource.Resource:215@demo.dxtera.org",
"assignedResourceId": ":8376@demo.dxtera.org",
"blockerIssueIds": [ ":5565@demo.dxtera.org", "..." ],
"duplicateIssueIds": [ ":6423@demo.dxtera.org", "..." ],
"branchedIssueId": ":1860@demo.dxtera.org",
"reopenerId": ":9926@demo.dxtera.org",
"reopeningAgentId": ":8600@demo.dxtera.org",
"reopenedDate": "2020-10-03T08:00:00.000Z",
"resolverId": ":1209@demo.dxtera.org",
"resolvingAgentId": ":3327@demo.dxtera.org",
"resolvedDate": "2020-07-21T00:00:00.000Z",
"resolutionType": "type.Type:7215@demo.dxtera.org",
"closerId": ":7112@demo.dxtera.org",
"closingAgentId": ":9365@demo.dxtera.org",
"closedDate": "2020-12-18T17:00:00.000Z"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The issue 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": "issue not found" }
delete /issues/{issueId}
Delete a given issue.
URI Parameters
- issueId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The issue 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": "issue not found" }
Entity representing a issue form metadata for update
Get form metadata for updating an existing issue.
get /issues/{issueId}/metadata
Get form metadata for updating an existing issue.
URI Parameters
- issueId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Issue",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this issue, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this issue, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this issue for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Issue.Issue:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this issue",
"linked": false
},
"description": {
"description": "The description of this issue.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Issue.Issue:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this issue",
"linked": false
},
"genusType": {
"description": "The immutable type of this issue. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"bureauId": {
"description": "The resource that has authority for this issue.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "hold.Issue:bureau@dxtera.org",
"existingValue": null,
"elementLabel": "Bureau",
"instructions": "Enter the Id of the bureau for this issue.",
"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": "issue not found" }
/holds
Collection of holds in a system, federation of systems, or in a default oubliette.
Get all holds in the system or default oubliette.
Create a new hold in the default oubliette.
get /holds
Get all holds in the system or default oubliette.
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
- genusType: (string)
The id string to match a genusType
Example:
type.Type%3AexampleHoldType%40dxtera.org
- parentGenusType: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleHoldType%40dxtera.org
- fromDate: (string)
Get all holds from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all holds up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- oublietteId: (string)
The id string to match a oubliette
Example:
hold.Oubliette%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "hold.Hold:1731@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/hold/hold.Hold%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Hold",
"description": "The description of this Hold",
"genusType": "type.Type:defaultHoldType@dxtera.org",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:1731@demo.dxtera.org",
"issueId": "hold.Issue:5488@demo.dxtera.org"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /holds
Create a new hold in the default oubliette.
Query Parameters
- genusType: (string)
specify a particular hold type to create
Example:
type.Type%3AexampleHoldType%40dxtera.org
- oublietteId: (string)
specify in which oubliette to create this hold
Example:
hold.Oubliette%3A8374%40demo.dxtera.org
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Hold",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this hold, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this hold, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this hold for display.",
"type": "string"
},
"description": {
"description": "The description of this hold.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this hold. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"startDate": {
"description": "The starting date of this hold.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this hold.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this hold ended.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"id": "hold.Hold:3748@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/hold/hold.Hold%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Hold",
"description": "The description of this Hold",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:3748@demo.dxtera.org",
"issueId": "hold.Issue:4390@demo.dxtera.org"
}
Entity representing a hold form metadata.
Get form metadata for creating a new hold.
get /holds/metadata
Get form metadata for creating a new hold.
Query Parameters
- genusType: (string)
specify a particular hold type to create
Example:
type.Type%3AexampleHoldType%40dxtera.org
- oublietteId: (string)
specify in which oubliette to create this hold
Example:
hold.Oubliette%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Hold",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this hold, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this hold, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this hold for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Hold.Hold:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this hold",
"linked": false
},
"description": {
"description": "The description of this hold.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Hold.Hold:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this hold",
"linked": false
},
"genusType": {
"description": "The immutable type of this hold. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"startDate": {
"description": "The starting date of this hold.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Hold.Hold:startDate@demo.dxtera.org",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this hold",
"linked": false
},
"endDate": {
"description": "The ending date of this hold.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Hold.Hold:endDate@demo.dxtera.org",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this hold",
"linked": false
},
"endReasonId": {
"description": "The reason this hold ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Hold.Hold:endReason@demo.dxtera.org",
"existingValue": "process.State:1860@demo.dxtera.org",
"elementLabel": "End Reason",
"instructions": "Select the reason this hold ended",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a hold
Get a hold given its id.
Update a given hold.
Delete a given hold.
get /holds/{holdId}
Get a hold given its id.
URI Parameters
- holdId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "hold.Hold:1731@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/hold/hold.Hold%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Hold",
"description": "The description of this Hold",
"genusType": "type.Type:defaultHoldType@dxtera.org",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:1731@demo.dxtera.org",
"issueId": "hold.Issue:5488@demo.dxtera.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": "hold not found" }
put /holds/{holdId}
Update a given hold.
URI Parameters
- holdId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Hold",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this hold, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this hold, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this hold for display.",
"type": "string"
},
"description": {
"description": "The description of this hold.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this hold. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"startDate": {
"description": "The starting date of this hold.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this hold.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this hold ended.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"id": "hold.Hold:3748@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/hold/hold.Hold%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Hold",
"description": "The description of this Hold",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:3748@demo.dxtera.org",
"issueId": "hold.Issue:4390@demo.dxtera.org"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The hold 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": "hold not found" }
delete /holds/{holdId}
Delete a given hold.
URI Parameters
- holdId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The hold 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": "hold not found" }
Entity representing a hold form metadata for update
Get form metadata for updating an existing hold.
get /holds/{holdId}/metadata
Get form metadata for updating an existing hold.
URI Parameters
- holdId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Hold",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this hold, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this hold, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this hold for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Hold.Hold:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this hold",
"linked": false
},
"description": {
"description": "The description of this hold.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Hold.Hold:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this hold",
"linked": false
},
"genusType": {
"description": "The immutable type of this hold. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"startDate": {
"description": "The starting date of this hold.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Hold.Hold:startDate@demo.dxtera.org",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this hold",
"linked": false
},
"endDate": {
"description": "The ending date of this hold.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Hold.Hold:endDate@demo.dxtera.org",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this hold",
"linked": false
},
"endReasonId": {
"description": "The reason this hold ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Hold.Hold:endReason@demo.dxtera.org",
"existingValue": "process.State:1860@demo.dxtera.org",
"elementLabel": "End Reason",
"instructions": "Select the reason this hold 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": "hold not found" }
/oubliette
Collection of oubliette in a system or federation of systems.
Get all oubliette.
Create a new oubliette.
get /oubliette
Get all oubliette.
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
- genusType: (string)
The id string to match a genusType
Example:
type.Type%3AexampleOublietteType%40dxtera.org
- parentGenusType: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleOublietteType%40dxtera.org
- providerId: (string)
Id string to match provider.
Example:
resource.Resource%3A3007%40demo.dxtera.org
- blockId: (string)
Get oubliette mapped to this block.
Example:
hold.Block%3A180%40demo.dxtera.org
- issueId: (string)
Get oubliette mapped to this issue.
Example:
hold.Issue%3A180%40demo.dxtera.org
- holdId: (string)
Get oubliette mapped to this hold.
Example:
hold.Hold%3A144%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "hold.Oubliette:5210@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/oubliette/hold.Oubliette%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Oubliette",
"description": "The description of this Oubliette",
"genusType": "type.Type:defaultOublietteType@dxtera.org",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Oubliette@demo.dxtera.org",
"license": "The license that applies to this Oubliette"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /oubliette
Create a new oubliette.
Query Parameters
- genusType: (string)
specify a particular oubliette type to create
Example:
type.Type%3AexampleOublietteType%40dxtera.org
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Oubliette",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this oubliette, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this oubliette, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this oubliette for display.",
"type": "string"
},
"description": {
"description": "The description of this oubliette.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this oubliette. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"providerId": {
"description": "The provider of this oubliette.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this oubliette. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this oubliette.",
"type": "string"
}
}
}
Example:
{
"id": "hold.Oubliette:4897@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/oubliette/hold.Oubliette%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Oubliette",
"description": "The description of this Oubliette",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Oubliette@demo.dxtera.org",
"license": "The license that applies to this Oubliette"
}
Entity representing a oubliette form metadata.
Get form metadata for creating a new oubliette.
get /oubliette/metadata
Get form metadata for creating a new oubliette.
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Oubliette",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this oubliette, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this oubliette, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this oubliette for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Oubliette.Oubliette:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this oubliette",
"linked": false
},
"description": {
"description": "The description of this oubliette.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Oubliette.Oubliette:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this oubliette",
"linked": false
},
"genusType": {
"description": "The immutable type of this oubliette. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"providerId": {
"description": "The provider of this oubliette.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Oubliette.Oubliette:provider@demo.dxtera.org",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this oubliette",
"linked": false
},
"brandingIds": {
"description": "The branding of this oubliette. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Oubliette.Oubliette:branding@demo.dxtera.org",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this oubliette",
"linked": false
},
"license": {
"description": "The licensing that applies to this oubliette.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Oubliette.Oubliette:license@demo.dxtera.org",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this oubliette",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root oubliettes in the oubliette hierarchy. A node with no parents is an orphan. While all oubliette 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 rootOubliette
get /oubliette/rootOubliette
Get all root rootOubliette
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "hold.Oubliette:5210@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/oubliette/hold.Oubliette%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Oubliette",
"description": "The description of this Oubliette",
"genusType": "type.Type:defaultOublietteType@dxtera.org",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Oubliette@demo.dxtera.org",
"license": "The license that applies to this Oubliette"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a oubliette
Get a oubliette given its id.
Update a given oubliette.
Delete a given oubliette.
get /oubliette/{oublietteId}
Get a oubliette given its id.
URI Parameters
- oublietteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "hold.Oubliette:5210@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/oubliette/hold.Oubliette%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Oubliette",
"description": "The description of this Oubliette",
"genusType": "type.Type:defaultOublietteType@dxtera.org",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Oubliette@demo.dxtera.org",
"license": "The license that applies to this Oubliette"
}
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": "oubliette not found" }
put /oubliette/{oublietteId}
Update a given oubliette.
URI Parameters
- oublietteId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Oubliette",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this oubliette, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this oubliette, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this oubliette for display.",
"type": "string"
},
"description": {
"description": "The description of this oubliette.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this oubliette. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"providerId": {
"description": "The provider of this oubliette.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this oubliette. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this oubliette.",
"type": "string"
}
}
}
Example:
{
"id": "hold.Oubliette:4897@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/oubliette/hold.Oubliette%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Oubliette",
"description": "The description of this Oubliette",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Oubliette@demo.dxtera.org",
"license": "The license that applies to this Oubliette"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The oubliette 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": "oubliette not found" }
delete /oubliette/{oublietteId}
Delete a given oubliette.
URI Parameters
- oublietteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The oubliette 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": "oubliette not found" }
Entity representing a oubliette form metadata for update
Get form metadata for updating an existing oubliette.
get /oubliette/{oublietteId}/metadata
Get form metadata for updating an existing oubliette.
URI Parameters
- oublietteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Oubliette",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this oubliette, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this oubliette, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this oubliette for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Oubliette.Oubliette:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this oubliette",
"linked": false
},
"description": {
"description": "The description of this oubliette.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Oubliette.Oubliette:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this oubliette",
"linked": false
},
"genusType": {
"description": "The immutable type of this oubliette. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"providerId": {
"description": "The provider of this oubliette.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Oubliette.Oubliette:provider@demo.dxtera.org",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this oubliette",
"linked": false
},
"brandingIds": {
"description": "The branding of this oubliette. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Oubliette.Oubliette:branding@demo.dxtera.org",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this oubliette",
"linked": false
},
"license": {
"description": "The licensing that applies to this oubliette.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Oubliette.Oubliette:license@demo.dxtera.org",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this oubliette",
"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": "oubliette not found" }
Get children oubliettes for the given oubliette in the hierarchy.
get /oubliette/{oublietteId}/children
Get children oubliettes for the given oubliette in the hierarchy.
URI Parameters
- oublietteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "hold.Oubliette:5210@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/oubliette/hold.Oubliette%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Oubliette",
"description": "The description of this Oubliette",
"genusType": "type.Type:defaultOublietteType@dxtera.org",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Oubliette@demo.dxtera.org",
"license": "The license that applies to this Oubliette"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add oubliette as child of the given oubliette in the hierarchy.
Remove the given oubliette as a child of the given oubliette in the hierarchy.
put /oubliette/{oublietteId}/children/{childId}
Add oubliette as child of the given oubliette in the hierarchy.
URI Parameters
- oublietteId: required(string)
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child oubliette has been added" }
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": "oubliette not found" }
delete /oubliette/{oublietteId}/children/{childId}
Remove the given oubliette as a child of the given oubliette in the hierarchy.
Get all blocks in this oubliette
get /oubliette/{oublietteId}/blocks
Get all blocks in this oubliette
URI Parameters
- oublietteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "hold.Block:1344@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/block/hold.Block%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Block",
"description": "The description of this Block",
"genusType": "type.Type:defaultBlockType@dxtera.org",
"issueIds": [ "hold.Issue:8475@demo.dxtera.org", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given block to this oubliette
Remove the given block from the oubliette.
put /oubliette/{oublietteId}/blocks/{blockId}
Add the given block to this oubliette
URI Parameters
- oublietteId: required(string)
- blockId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "block has been added to oubliette" }
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": "block not found" }
delete /oubliette/{oublietteId}/blocks/{blockId}
Remove the given block from the oubliette.
URI Parameters
- oublietteId: required(string)
- blockId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "block 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": "block not found" }
Get all issues in this oubliette
get /oubliette/{oublietteId}/issues
Get all issues in this oubliette
URI Parameters
- oublietteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "hold.Issue:939@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/issue/hold.Issue%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Issue",
"description": "The description of this Issue",
"genusType": "type.Type:defaultIssueType@dxtera.org",
"bureauId": "resource.Resource:284@demo.dxtera.org",
"assignedResourceId": ":8358@demo.dxtera.org",
"blockerIssueIds": [ ":4328@demo.dxtera.org", "..." ],
"duplicateIssueIds": [ ":7623@demo.dxtera.org", "..." ],
"branchedIssueId": ":22@demo.dxtera.org",
"reopenerId": ":4454@demo.dxtera.org",
"reopeningAgentId": ":7216@demo.dxtera.org",
"reopenedDate": "2020-10-03T08:00:00.000Z",
"resolverId": ":2288@demo.dxtera.org",
"resolvingAgentId": ":9453@demo.dxtera.org",
"resolvedDate": "2020-07-21T00:00:00.000Z",
"resolutionType": "type.Type:9015@demo.dxtera.org",
"closerId": ":306@demo.dxtera.org",
"closingAgentId": ":255@demo.dxtera.org",
"closedDate": "2020-12-18T17:00:00.000Z"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given issue to this oubliette
Remove the given issue from the oubliette.
put /oubliette/{oublietteId}/issues/{issueId}
Add the given issue to this oubliette
URI Parameters
- oublietteId: required(string)
- issueId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "issue has been added to oubliette" }
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": "issue not found" }
delete /oubliette/{oublietteId}/issues/{issueId}
Remove the given issue from the oubliette.
URI Parameters
- oublietteId: required(string)
- issueId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "issue 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": "issue not found" }
Get all holds in this oubliette
get /oubliette/{oublietteId}/holds
Get all holds in this oubliette
URI Parameters
- oublietteId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "hold.Hold:1731@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/hold/hold/hold.Hold%3A31415%40demo.dxtera.org",
"displayName": "Display Name of this Hold",
"description": "The description of this Hold",
"genusType": "type.Type:defaultHoldType@dxtera.org",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:1731@demo.dxtera.org",
"issueId": "hold.Issue:5488@demo.dxtera.org"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given hold to this oubliette
Remove the given hold from the oubliette.
put /oubliette/{oublietteId}/holds/{holdId}
Add the given hold to this oubliette
URI Parameters
- oublietteId: required(string)
- holdId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "hold has been added to oubliette" }
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": "hold not found" }
delete /oubliette/{oublietteId}/holds/{holdId}
Remove the given hold from the oubliette.
URI Parameters
- oublietteId: required(string)
- holdId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "hold 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": "hold not found" }