CampusAPI Acknowledgement Services API documentation version 0.1.2
Based on OSID version 3.0.0
https://base.url/acknowledgement
Overview
The Acknowledgement service package defines and relates credits such as authors or creators to other entities.
This package includes the following entities:
Credits
Credits are relationships between what is being credited and to what the credit applies. The entity being credited is represented by a Resource. This service does not define the entity to which the credit applies and instead references an Id external to this service. The Id is a reference to an entity managed outside this service.
Resource is an abstract interface used for a variety of purposes including people. In the Acknowledgement service this has a very abstract feel whose primary focus is to manage the relationships.
The genus Type can be used to describe the nature of the relationship, such as a writer or photographer. The entity may be extended based on Type to capture additional data related to the relatonship itself.
Credits are mapped to Billings for organization. Billings can be managed hierarchically to federate multiple collections of Credits.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this credit, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this credit, provided by system. | string(uri) |
displayName | The name of this credit for display. | string |
description | The description of this credit. | string |
genusTypeId (read‑only) | Id of the immutable type of this credit. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this credit. 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 credit. | string(date‑time) |
endDate | The ending date of this credit. | string(date‑time) |
endReasonId | The reason this credit ended. References a process.State object. | string(osid‑id) |
referenceId (read‑only) | The reference associated with this credit. References an id.Id object. | string(osid‑id) |
resourceId (read‑only) | The resource associated with this credit. References a resource.Resource object. | string(osid‑id) |
Billings
Credits are mapped to Billings for organization. Billings can be managed hierarchically to federate multiple collections of Credits.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this billing, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this billing, provided by system. | string(uri) |
displayName | The name of this billing for display. | string |
description | The description of this billing. | string |
genusTypeId (read‑only) | Id of the immutable type of this billing. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this billing. 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 billing. References a resource.Resource object. | string(osid‑id) |
brandingIds | The branding of this billing. References repository.Asset objects. | string(osid‑id)[] |
license | The licensing that applies to this billing. | string |
License
CampusAPI REST Documentation Copyright 2020 DXtera Institute. Based on the Open Service Interface Defitions: http://osid.org
/credits
Collection of credits in a system, federation of systems, or in a default billing.
Get all credits in the system or default billing.
Create a new credit in the default billing.
get /credits
Get all credits in the system or default billing.
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%3AexampleCreditType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCreditType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCreditType%40campusapi.org
- fromDate: (string)
Get all credits from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all credits up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- referenceId: (string)
the id string to match a reference.
Example:
resource.Resource%3A432%40base.url
- resourceId: (string)
the id string to match a resource.
Example:
resource.Resource%3A384%40base.url
- billingId: (string)
The id string to match a billing
Example:
acknowledgement.Billing%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "acknowledgement.Credit:7837@base.url",
"uri": "http://base.url/open/campusapi/acknowledgement/credit/acknowledgement.Credit%3A7837%40base.url",
"displayName": "Display Name of this Credit",
"description": "The description of this Credit",
"genusTypeId": "type.Type:defaultCreditType@base.url",
"recordTypeIds": [ "type.Type:exampleCreditRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7837@base.url",
"referenceId": "id.Id:8205@base.url",
"resourceId": "resource.Resource:8862@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /credits
Create a new credit in the default billing.
Query Parameters
- referenceId: required(string)
the reference of this credit.
Example:
resource.Resource%3A432%40base.url
- resourceId: required(string)
the resource of this credit.
Example:
resource.Resource%3A384%40base.url
- genusType: (string)
specify a particular credit type to create
Example:
type.Type%3AexampleCreditType%40dxtera.org
- recordType: (array of )
specify support for one or more credit record types
Example:
[ "type.Type%3AexampleCreditRecordType%40campusapi.org", "..." ]
- billingId: (string)
specify in which billing to create this credit
Example:
acknowledgement.Billing%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Credit",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this credit, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this credit, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this credit for display.",
"type": "string"
},
"description": {
"description": "The description of this credit.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this credit. 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 credit. 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 credit.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this credit.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this credit ended.",
"type": "string",
"format": "osid-id"
},
"referenceId": {
"description": "The reference associated with this credit.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"resourceId": {
"description": "The resource associated with this credit.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this Credit",
"description": "The description of this Credit",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:5614@base.url"
}
Entity representing a credit form metadata.
Get form metadata for creating a new credit.
get /credits/metadata
Get form metadata for creating a new credit.
Query Parameters
- referenceId: required(string)
the reference of this metadatum.
Example:
resource.Resource%3A432%40base.url
- resourceId: required(string)
the resource of this metadatum.
Example:
resource.Resource%3A384%40base.url
- genusType: (string)
specify a particular credit type to create
Example:
type.Type%3AexampleCreditType%40dxtera.org
- recordType: (array of )
specify support for one or more credit record types
Example:
[ "type.Type%3AexampleCreditRecordType%40campusapi.org", "..." ]
- billingId: (string)
specify in which billing to create this credit
Example:
acknowledgement.Billing%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": "Credit",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this credit, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this credit, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this credit for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Credit.Credit:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this credit",
"linked": false
},
"description": {
"description": "The description of this credit.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Credit.Credit:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this credit",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this credit. 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 credit. 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 credit.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Credit.Credit:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this credit",
"linked": false
},
"endDate": {
"description": "The ending date of this credit.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Credit.Credit:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this credit",
"linked": false
},
"endReasonId": {
"description": "The reason this credit ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Credit.Credit:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this credit ended",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a credit
Get a credit given its id.
Update a given credit.
Delete a given credit.
get /credits/{creditId}
Get a credit given its id.
URI Parameters
- creditId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "acknowledgement.Credit:7837@base.url",
"uri": "http://base.url/open/campusapi/acknowledgement/credit/acknowledgement.Credit%3A7837%40base.url",
"displayName": "Display Name of this Credit",
"description": "The description of this Credit",
"genusTypeId": "type.Type:defaultCreditType@base.url",
"recordTypeIds": [ "type.Type:exampleCreditRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7837@base.url",
"referenceId": "id.Id:8205@base.url",
"resourceId": "resource.Resource:8862@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": "credit not found" }
put /credits/{creditId}
Update a given credit.
URI Parameters
- creditId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Credit",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this credit, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this credit, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this credit for display.",
"type": "string"
},
"description": {
"description": "The description of this credit.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this credit. 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 credit. 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 credit.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this credit.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this credit ended.",
"type": "string",
"format": "osid-id"
},
"referenceId": {
"description": "The reference associated with this credit.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"resourceId": {
"description": "The resource associated with this credit.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this Credit",
"description": "The description of this Credit",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:5614@base.url"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The credit 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": "credit not found" }
delete /credits/{creditId}
Delete a given credit.
URI Parameters
- creditId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The credit 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": "credit not found" }
Entity representing a credit form metadata for update
Get form metadata for updating an existing credit.
get /credits/{creditId}/metadata
Get form metadata for updating an existing credit.
URI Parameters
- creditId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Credit",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this credit, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this credit, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this credit for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Credit.Credit:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this credit",
"linked": false
},
"description": {
"description": "The description of this credit.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Credit.Credit:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this credit",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this credit. 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 credit. 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 credit.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Credit.Credit:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this credit",
"linked": false
},
"endDate": {
"description": "The ending date of this credit.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Credit.Credit:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this credit",
"linked": false
},
"endReasonId": {
"description": "The reason this credit ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Credit.Credit:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this credit 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": "credit not found" }
/billings
Collection of billings in a system or federation of systems.
Get all billings.
Create a new billing.
get /billings
Get all billings.
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%3AexampleBillingType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleBillingType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleBillingType%40campusapi.org
- providerId: (string)
Id string to match provider.
Example:
resource.Resource%3A3007%40demo.dxtera.org
- creditId: (string)
Get billings mapped to this credit.
Example:
acknowledgement.Credit%3A630%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "acknowledgement.Billing:5048@base.url",
"uri": "http://base.url/open/campusapi/acknowledgement/billing/acknowledgement.Billing%3A5048%40base.url",
"displayName": "Display Name of this Billing",
"description": "The description of this Billing",
"genusTypeId": "type.Type:defaultBillingType@base.url",
"recordTypeIds": [ "type.Type:exampleBillingRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Billing@base.url",
"license": "The license that applies to this Billing"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /billings
Create a new billing.
Query Parameters
- genusType: (string)
specify a particular billing type to create
Example:
type.Type%3AexampleBillingType%40dxtera.org
- recordType: (array of )
specify support for one or more billing record types
Example:
[ "type.Type%3AexampleBillingRecordType%40campusapi.org", "..." ]
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Billing",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this billing, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this billing, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this billing for display.",
"type": "string"
},
"description": {
"description": "The description of this billing.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this billing. 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 billing. 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 billing.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this billing. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this billing.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this Billing",
"description": "The description of this Billing",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Billing@base.url",
"license": "The license that applies to this Billing"
}
Entity representing a billing form metadata.
Get form metadata for creating a new billing.
get /billings/metadata
Get form metadata for creating a new billing.
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Billing",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this billing, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this billing, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this billing for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Billing.Billing:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this billing",
"linked": false
},
"description": {
"description": "The description of this billing.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Billing.Billing:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this billing",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this billing. 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 billing. 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 billing.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Billing.Billing:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this billing",
"linked": false
},
"brandingIds": {
"description": "The branding of this billing. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Billing.Billing:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this billing",
"linked": false
},
"license": {
"description": "The licensing that applies to this billing.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Billing.Billing:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this billing",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root billings in the billing hierarchy. A node with no parents is an orphan. While all billing 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-billing
get /billings/root-billing
Get all root root-billing
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "acknowledgement.Billing:5048@base.url",
"uri": "http://base.url/open/campusapi/acknowledgement/billing/acknowledgement.Billing%3A5048%40base.url",
"displayName": "Display Name of this Billing",
"description": "The description of this Billing",
"genusTypeId": "type.Type:defaultBillingType@base.url",
"recordTypeIds": [ "type.Type:exampleBillingRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Billing@base.url",
"license": "The license that applies to this Billing"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a billing
Get a billing given its id.
Update a given billing.
Delete a given billing.
get /billings/{billingId}
Get a billing given its id.
URI Parameters
- billingId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "acknowledgement.Billing:5048@base.url",
"uri": "http://base.url/open/campusapi/acknowledgement/billing/acknowledgement.Billing%3A5048%40base.url",
"displayName": "Display Name of this Billing",
"description": "The description of this Billing",
"genusTypeId": "type.Type:defaultBillingType@base.url",
"recordTypeIds": [ "type.Type:exampleBillingRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Billing@base.url",
"license": "The license that applies to this Billing"
}
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": "billing not found" }
put /billings/{billingId}
Update a given billing.
URI Parameters
- billingId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Billing",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this billing, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this billing, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this billing for display.",
"type": "string"
},
"description": {
"description": "The description of this billing.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this billing. 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 billing. 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 billing.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this billing. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this billing.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this Billing",
"description": "The description of this Billing",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Billing@base.url",
"license": "The license that applies to this Billing"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The billing 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": "billing not found" }
delete /billings/{billingId}
Delete a given billing.
URI Parameters
- billingId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The billing 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": "billing not found" }
Entity representing a billing form metadata for update
Get form metadata for updating an existing billing.
get /billings/{billingId}/metadata
Get form metadata for updating an existing billing.
URI Parameters
- billingId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Billing",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this billing, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this billing, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this billing for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Billing.Billing:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this billing",
"linked": false
},
"description": {
"description": "The description of this billing.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Billing.Billing:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this billing",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this billing. 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 billing. 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 billing.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Billing.Billing:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this billing",
"linked": false
},
"brandingIds": {
"description": "The branding of this billing. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Billing.Billing:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this billing",
"linked": false
},
"license": {
"description": "The licensing that applies to this billing.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Billing.Billing:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this billing",
"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": "billing not found" }
Get child billings for the given billing in the hierarchy.
get /billings/{billingId}/children
Get child billings for the given billing in the hierarchy.
URI Parameters
- billingId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "acknowledgement.Billing:5048@base.url",
"uri": "http://base.url/open/campusapi/acknowledgement/billing/acknowledgement.Billing%3A5048%40base.url",
"displayName": "Display Name of this Billing",
"description": "The description of this Billing",
"genusTypeId": "type.Type:defaultBillingType@base.url",
"recordTypeIds": [ "type.Type:exampleBillingRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Billing@base.url",
"license": "The license that applies to this Billing"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add billing as child of the given billing in the hierarchy.
Remove the given billing as a child of the given billing in the hierarchy.
put /billings/{billingId}/children/{childId}
Add billing as child of the given billing in the hierarchy.
URI Parameters
- billingId: required(string)
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child billing 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": "billing not found" }
delete /billings/{billingId}/children/{childId}
Remove the given billing as a child of the given billing in the hierarchy.
URI Parameters
- billingId: required(string)
- childId: required(string)
Get parent billings for the given billing in the hierarchy.
get /billings/{billingId}/parents
Get parent billings for the given billing in the hierarchy.
URI Parameters
- billingId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "acknowledgement.Billing:5048@base.url",
"uri": "http://base.url/open/campusapi/acknowledgement/billing/acknowledgement.Billing%3A5048%40base.url",
"displayName": "Display Name of this Billing",
"description": "The description of this Billing",
"genusTypeId": "type.Type:defaultBillingType@base.url",
"recordTypeIds": [ "type.Type:exampleBillingRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Billing@base.url",
"license": "The license that applies to this Billing"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Get all credits in this billing
get /billings/{billingId}/credits
Get all credits in this billing
URI Parameters
- billingId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "acknowledgement.Credit:7837@base.url",
"uri": "http://base.url/open/campusapi/acknowledgement/credit/acknowledgement.Credit%3A7837%40base.url",
"displayName": "Display Name of this Credit",
"description": "The description of this Credit",
"genusTypeId": "type.Type:defaultCreditType@base.url",
"recordTypeIds": [ "type.Type:exampleCreditRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7837@base.url",
"referenceId": "id.Id:8205@base.url",
"resourceId": "resource.Resource:8862@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given credit to this billing
Remove the given credit from the billing.
put /billings/{billingId}/credits/{creditId}
Add the given credit to this billing
URI Parameters
- billingId: required(string)
- creditId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "credit has been added to billing" }
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": "credit not found" }
delete /billings/{billingId}/credits/{creditId}
Remove the given credit from the billing.
URI Parameters
- billingId: required(string)
- creditId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "credit 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": "credit not found" }