CampusAPI Billing Services API documentation version N/A
NOTICE - The CampusAPI Documentation has moved.
Please point your browser to CampusAPI.org for the latest versions.
https://demo.dxtera.org/open/campusapi/billing
Overview
The Billing service package manages billing for customers.
This package includes the following entities:
Customers
A Customer is a person known to the billing system. A Customer relates a Resource used to any business speciific data defined in the Customer.
Customers are temporal, with effective dates indicating their association with the business.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this customer, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this customer, provided by system. | string(uri) |
displayName | The name of this customer for display. | string |
description | The description of this customer. | string |
genusType (read‑only) | The immutable type of this customer. Default type set by system unless specified in query parameter. | string(osid‑type) |
startDate | The starting date of this customer. | string(date‑time) |
endDate | The ending date of this customer. | string(date‑time) |
resourceId (read‑only) | The resource associated with this customer. References a resource.Resource object. | string(osid‑id) |
customerNumber | The customer account number. | string |
activityId | The activity. References a financials.Activity object | string(osid‑id) |
Items
An Item is something that can be billed. Items represent a one-time or recurring charge for some product or service.
Items may relate to a Product in the Ordering service package which manages the costs. Items may also relate to a general ledger Account in the Financials service package.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this item, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this item, provided by system. | string(uri) |
displayName | The name of this item for display. | string |
description | The description of this item. | string |
genusType (read‑only) | The immutable type of this item. Default type set by system unless specified in query parameter. | string(osid‑type) |
categoryId | The item category. References a billing.Category object | string(osid‑id) |
accountId | The item account. References a financials.Account object | string(osid‑id) |
productId | The product. References an ordering.Product object | string(osid‑id) |
amount | The amount of this item. | boolean |
debit | -- could someone please find a description for this -- | SYNTAX_TYPE_NOT_FOUND |
recurringInterval | The recurring interval. | string(duration) |
Categories
Items can be categorized using a Category. Categories are used to group items on a billing statement.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this category, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this category, provided by system. | string(uri) |
displayName | The name of this category for display. | string |
description | The description of this category. | string |
genusType (read‑only) | The immutable type of this category. Default type set by system unless specified in query parameter. | string(osid‑type) |
Entries
An Entry is an relationship relating a Customer to an Item in a billing Period. An Entry captures the cost which may have been informed by the related Item.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this entry, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this entry, provided by system. | string(uri) |
displayName | The name of this entry for display. | string |
description | The description of this entry. | string |
genusType (read‑only) | The immutable type of this entry. Default type set by system unless specified in query parameter. | string(osid‑type) |
startDate | The starting date of this entry. | string(date‑time) |
endDate | The ending date of this entry. | string(date‑time) |
endReasonId | The reason this entry ended. References a process.State object. | string(osid‑id) |
customerId (read‑only) | The customer associated with this entry. References a billing.Customer object. | string(osid‑id) |
itemId (read‑only) | The item associated with this entry. References a billing.Customer object. References a billing.Item object. | string(osid‑id) |
periodId (read‑only) | The period associated with this entry. References a billing.Customer object. References a billing.Item object. References a billing.Period object. | string(osid‑id) |
quantity | The quantity of the item. | integer |
amount | The amount of this entry. | string(currency) |
debit | Tests if the amount is a debit or a credit. | boolean |
Periods
A Period is a billing period in which billing entries applies. Periods have a set of milestone dates including start and end of the billing period.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this period, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this period, provided by system. | string(uri) |
displayName | The name of this period for display. | string |
description | The description of this period. | string |
genusType (read‑only) | The immutable type of this period. Default type set by system unless specified in query parameter. | string(osid‑type) |
displayLabel | A display label for this period which may be less formal than the display name. | string |
openDate | The open date. | string(date‑time) |
closeDate | The close date. | string(date‑time) |
billingDate | The billing date. | string(date‑time) |
dueDate | The due date. | string(date‑time) |
Businesses
Customers, Items, Categories, Entries, and Periods can be organized into federateble Businesses.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this business, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this business, provided by system. | string(uri) |
displayName | The name of this business for display. | string |
description | The description of this business. | string |
genusType (read‑only) | The immutable type of this business. Default type set by system unless specified in query parameter. | string(osid‑type) |
providerId | The provider of this business. References a resource.Resource object. | string(osid‑id) |
brandingIds | The branding of this business. References repository.Asset objects. | string(osid‑id)[] |
license | The licensing that applies to this business. | string |
License
CampusAPI REST Documentation Copyright 2020 DXtera Institute. Based on the Open Service Interface Defitions: http://osid.org
/customers
Collection of customers in a system, federation of systems, or in a default business.
Get all customers in the system or default business.
Create a new customer in the default business.
get /customers
Get all customers in the system or default business.
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%3AexampleCustomerType%40dxtera.org
- parentGenusType: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCustomerType%40dxtera.org
- fromDate: (string)
Get all customers from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all customers up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- resourceId: (string)
the id string to match a resource.
Example:
resource.Resource%3A512%40demo.dxtera.org
- activityId: (string)
Id string to match activity.
Example:
financials.Activity%3A8475%40demo.dxtera.org
- businessId: (string)
The id string to match a business
Example:
billing.Business%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Customer:8036@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/customer/billing.Customer%3A8036%40demo.dxtera.org",
"displayName": "Display Name of this Customer",
"description": "The description of this Customer",
"genusType": "type.Type:defaultCustomerType@dxtera.org",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"resourceId": "resource.Resource:8434@demo.dxtera.org",
"customerNumber": "101",
"activityId": "financials.Activity:6412@demo.dxtera.org"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /customers
Create a new customer in the default business.
Query Parameters
- resourceId: required(string)
the resource of this customer.
Example:
resource.Resource%3A512%40demo.dxtera.org
- genusType: (string)
specify a particular customer type to create
Example:
type.Type%3AexampleCustomerType%40dxtera.org
- businessId: (string)
specify in which business to create this customer
Example:
billing.Business%3A8374%40demo.dxtera.org
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Customer",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this customer, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this customer, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this customer for display.",
"type": "string"
},
"description": {
"description": "The description of this customer.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this customer. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"startDate": {
"description": "The starting date of this customer.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this customer.",
"type": "string",
"format": "date-time"
},
"resourceId": {
"description": "The resource associated with this customer.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"customerNumber": {
"description": "The customer account number.",
"type": "string"
},
"activityId": {
"description": "The activity.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"id": "billing.Customer:6791@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/customer/billing.Customer%3A6791%40demo.dxtera.org",
"displayName": "Display Name of this Customer",
"description": "The description of this Customer",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"customerNumber": "101",
"activityId": "financials.Activity:6207@demo.dxtera.org"
}
Entity representing a customer form metadata.
Get form metadata for creating a new customer.
get /customers/metadata
Get form metadata for creating a new customer.
Query Parameters
- resourceId: required(string)
the resource of this metadatum.
Example:
resource.Resource%3A512%40demo.dxtera.org
- genusType: (string)
specify a particular customer type to create
Example:
type.Type%3AexampleCustomerType%40dxtera.org
- businessId: (string)
specify in which business to create this customer
Example:
billing.Business%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": "Customer",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this customer, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this customer, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this customer for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Customer.Customer:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this customer",
"linked": false
},
"description": {
"description": "The description of this customer.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Customer.Customer:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this customer",
"linked": false
},
"genusType": {
"description": "The immutable type of this customer. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"startDate": {
"description": "The starting date of this customer.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Customer.Customer:startDate@demo.dxtera.org",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this customer",
"linked": false
},
"endDate": {
"description": "The ending date of this customer.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Customer.Customer:endDate@demo.dxtera.org",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this customer",
"linked": false
},
"customerNumber": {
"description": "The customer account number.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Customer:customerNumber@dxtera.org",
"existingValue": "The existing customer number",
"elementLabel": "Customer Number",
"instructions": "Enter a customer number for this customer.",
"linked": false
},
"activityId": {
"description": "The activity.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Customer:activity@dxtera.org",
"existingValue": null,
"elementLabel": "Activity",
"instructions": "Enter the Id of the activity for this customer.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a customer
Get a customer given its id.
Update a given customer.
Delete a given customer.
get /customers/{customerId}
Get a customer given its id.
URI Parameters
- customerId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "billing.Customer:8036@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/customer/billing.Customer%3A8036%40demo.dxtera.org",
"displayName": "Display Name of this Customer",
"description": "The description of this Customer",
"genusType": "type.Type:defaultCustomerType@dxtera.org",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"resourceId": "resource.Resource:8434@demo.dxtera.org",
"customerNumber": "101",
"activityId": "financials.Activity:6412@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": "customer not found" }
put /customers/{customerId}
Update a given customer.
URI Parameters
- customerId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Customer",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this customer, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this customer, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this customer for display.",
"type": "string"
},
"description": {
"description": "The description of this customer.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this customer. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"startDate": {
"description": "The starting date of this customer.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this customer.",
"type": "string",
"format": "date-time"
},
"resourceId": {
"description": "The resource associated with this customer.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"customerNumber": {
"description": "The customer account number.",
"type": "string"
},
"activityId": {
"description": "The activity.",
"type": "string",
"format": "osid-id"
}
}
}
Example:
{
"id": "billing.Customer:6791@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/customer/billing.Customer%3A6791%40demo.dxtera.org",
"displayName": "Display Name of this Customer",
"description": "The description of this Customer",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"customerNumber": "101",
"activityId": "financials.Activity:6207@demo.dxtera.org"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The customer 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": "customer not found" }
delete /customers/{customerId}
Delete a given customer.
URI Parameters
- customerId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The customer 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": "customer not found" }
Entity representing a customer form metadata for update
Get form metadata for updating an existing customer.
get /customers/{customerId}/metadata
Get form metadata for updating an existing customer.
URI Parameters
- customerId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Customer",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this customer, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this customer, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this customer for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Customer.Customer:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this customer",
"linked": false
},
"description": {
"description": "The description of this customer.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Customer.Customer:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this customer",
"linked": false
},
"genusType": {
"description": "The immutable type of this customer. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"startDate": {
"description": "The starting date of this customer.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Customer.Customer:startDate@demo.dxtera.org",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this customer",
"linked": false
},
"endDate": {
"description": "The ending date of this customer.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Customer.Customer:endDate@demo.dxtera.org",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this customer",
"linked": false
},
"customerNumber": {
"description": "The customer account number.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Customer:customerNumber@dxtera.org",
"existingValue": "The existing customer number",
"elementLabel": "Customer Number",
"instructions": "Enter a customer number for this customer.",
"linked": false
},
"activityId": {
"description": "The activity.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Customer:activity@dxtera.org",
"existingValue": null,
"elementLabel": "Activity",
"instructions": "Enter the Id of the activity for this customer.",
"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": "customer not found" }
/items
Collection of items in a system, federation of systems, or in a default business.
Get all items in the system or default business.
Create a new item in the default business.
get /items
Get all items in the system or default business.
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%3AexampleItemType%40dxtera.org
- parentGenusType: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleItemType%40dxtera.org
- categoryId: (string)
Id string to match category.
Example:
billing.Category%3A22%40demo.dxtera.org
- accountId: (string)
Id string to match account.
Example:
financials.Account%3A4454%40demo.dxtera.org
- productId: (string)
Id string to match product.
Example:
ordering.Product%3A7216%40demo.dxtera.org
- businessId: (string)
The id string to match a business
Example:
billing.Business%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Item:8984@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/item/billing.Item%3A8984%40demo.dxtera.org",
"displayName": "Display Name of this Item",
"description": "The description of this Item",
"genusType": "type.Type:defaultItemType@dxtera.org",
"categoryId": "billing.Category:6328@demo.dxtera.org",
"accountId": "financials.Account:5492@demo.dxtera.org",
"productId": "ordering.Product:540@demo.dxtera.org",
"amount": true,
"recurringInterval": "P3DT3H"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /items
Create a new item in the default business.
Query Parameters
- genusType: (string)
specify a particular item type to create
Example:
type.Type%3AexampleItemType%40dxtera.org
- businessId: (string)
specify in which business to create this item
Example:
billing.Business%3A8374%40demo.dxtera.org
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Item",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this item, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this item, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this item for display.",
"type": "string"
},
"description": {
"description": "The description of this item.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this item. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"categoryId": {
"description": "The item category.",
"type": "string",
"format": "osid-id"
},
"accountId": {
"description": "The item account.",
"type": "string",
"format": "osid-id"
},
"productId": {
"description": "The product.",
"type": "string",
"format": "osid-id"
},
"amount": {
"description": "The amount of this item.",
"type": "boolean"
},
"debit": {
"description": "-- could someone please find a description for this --",
"type": "SYNTAX_TYPE_NOT_FOUND"
},
"recurringInterval": {
"description": "The recurring interval.",
"type": "string",
"format": "duration"
}
}
}
Example:
{
"id": "billing.Item:5460@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/item/billing.Item%3A5460%40demo.dxtera.org",
"displayName": "Display Name of this Item",
"description": "The description of this Item",
"categoryId": "billing.Category:2505@demo.dxtera.org",
"accountId": "financials.Account:2710@demo.dxtera.org",
"productId": "ordering.Product:5302@demo.dxtera.org",
"amount": true,
"recurringInterval": "P3DT3H"
}
Entity representing a item form metadata.
Get form metadata for creating a new item.
get /items/metadata
Get form metadata for creating a new item.
Query Parameters
- genusType: (string)
specify a particular item type to create
Example:
type.Type%3AexampleItemType%40dxtera.org
- businessId: (string)
specify in which business to create this item
Example:
billing.Business%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": "Item",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this item, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this item, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this item for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Item.Item:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this item",
"linked": false
},
"description": {
"description": "The description of this item.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Item.Item:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this item",
"linked": false
},
"genusType": {
"description": "The immutable type of this item. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"categoryId": {
"description": "The item category.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Item:category@dxtera.org",
"existingValue": null,
"elementLabel": "Category",
"instructions": "Enter the Id of the category for this item.",
"linked": false
},
"accountId": {
"description": "The item account.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Item:account@dxtera.org",
"existingValue": null,
"elementLabel": "Account",
"instructions": "Enter the Id of the account for this item.",
"linked": false
},
"productId": {
"description": "The product.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Item:product@dxtera.org",
"existingValue": null,
"elementLabel": "Product",
"instructions": "Enter the Id of the product for this item.",
"linked": false
},
"amount": {
"description": "The amount of this item.",
"type": "boolean",
"elementId": "billing.Item:amount@dxtera.org",
"existingValue": false,
"elementLabel": "Amount",
"instructions": "Enter true or false.",
"linked": false
},
"debit": {
"description": "-- could someone please find a description for this --",
"type": "SYNTAX_TYPE_NOT_FOUND",
"elementId": "billing.Item:debit@dxtera.org",
"existingValue": null,
"elementLabel": "Debit",
"instructions": "NEED TO GENERATE AN INSTRUCTION FOR NONE.",
"linked": false
},
"recurringInterval": {
"description": "The recurring interval.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Item:recurringInterval@dxtera.org",
"existingValue": "",
"elementLabel": "Recurring Interval",
"instructions": "Enter the recurring interval of this item.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a item
Get a item given its id.
Update a given item.
Delete a given item.
get /items/{itemId}
Get a item given its id.
URI Parameters
- itemId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "billing.Item:8984@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/item/billing.Item%3A8984%40demo.dxtera.org",
"displayName": "Display Name of this Item",
"description": "The description of this Item",
"genusType": "type.Type:defaultItemType@dxtera.org",
"categoryId": "billing.Category:6328@demo.dxtera.org",
"accountId": "financials.Account:5492@demo.dxtera.org",
"productId": "ordering.Product:540@demo.dxtera.org",
"amount": true,
"recurringInterval": "P3DT3H"
}
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": "item not found" }
put /items/{itemId}
Update a given item.
URI Parameters
- itemId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Item",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this item, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this item, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this item for display.",
"type": "string"
},
"description": {
"description": "The description of this item.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this item. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"categoryId": {
"description": "The item category.",
"type": "string",
"format": "osid-id"
},
"accountId": {
"description": "The item account.",
"type": "string",
"format": "osid-id"
},
"productId": {
"description": "The product.",
"type": "string",
"format": "osid-id"
},
"amount": {
"description": "The amount of this item.",
"type": "boolean"
},
"debit": {
"description": "-- could someone please find a description for this --",
"type": "SYNTAX_TYPE_NOT_FOUND"
},
"recurringInterval": {
"description": "The recurring interval.",
"type": "string",
"format": "duration"
}
}
}
Example:
{
"id": "billing.Item:5460@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/item/billing.Item%3A5460%40demo.dxtera.org",
"displayName": "Display Name of this Item",
"description": "The description of this Item",
"categoryId": "billing.Category:2505@demo.dxtera.org",
"accountId": "financials.Account:2710@demo.dxtera.org",
"productId": "ordering.Product:5302@demo.dxtera.org",
"amount": true,
"recurringInterval": "P3DT3H"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The item 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": "item not found" }
delete /items/{itemId}
Delete a given item.
URI Parameters
- itemId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The item 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": "item not found" }
Entity representing a item form metadata for update
Get form metadata for updating an existing item.
get /items/{itemId}/metadata
Get form metadata for updating an existing item.
URI Parameters
- itemId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Item",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this item, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this item, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this item for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Item.Item:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this item",
"linked": false
},
"description": {
"description": "The description of this item.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Item.Item:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this item",
"linked": false
},
"genusType": {
"description": "The immutable type of this item. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"categoryId": {
"description": "The item category.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Item:category@dxtera.org",
"existingValue": null,
"elementLabel": "Category",
"instructions": "Enter the Id of the category for this item.",
"linked": false
},
"accountId": {
"description": "The item account.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Item:account@dxtera.org",
"existingValue": null,
"elementLabel": "Account",
"instructions": "Enter the Id of the account for this item.",
"linked": false
},
"productId": {
"description": "The product.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Item:product@dxtera.org",
"existingValue": null,
"elementLabel": "Product",
"instructions": "Enter the Id of the product for this item.",
"linked": false
},
"amount": {
"description": "The amount of this item.",
"type": "boolean",
"elementId": "billing.Item:amount@dxtera.org",
"existingValue": false,
"elementLabel": "Amount",
"instructions": "Enter true or false.",
"linked": false
},
"debit": {
"description": "-- could someone please find a description for this --",
"type": "SYNTAX_TYPE_NOT_FOUND",
"elementId": "billing.Item:debit@dxtera.org",
"existingValue": null,
"elementLabel": "Debit",
"instructions": "NEED TO GENERATE AN INSTRUCTION FOR NONE.",
"linked": false
},
"recurringInterval": {
"description": "The recurring interval.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Item:recurringInterval@dxtera.org",
"existingValue": "",
"elementLabel": "Recurring Interval",
"instructions": "Enter the recurring interval of this item.",
"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": "item not found" }
/categories
Collection of categories in a system, federation of systems, or in a default business.
Get all categories in the system or default business.
Create a new category in the default business.
get /categories
Get all categories in the system or default business.
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%3AexampleCategoryType%40dxtera.org
- parentGenusType: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCategoryType%40dxtera.org
- businessId: (string)
The id string to match a business
Example:
billing.Business%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Category:6545@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/category/billing.Category%3A6545%40demo.dxtera.org",
"displayName": "Display Name of this Category",
"description": "The description of this Category",
"genusType": "type.Type:defaultCategoryType@dxtera.org"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /categories
Create a new category in the default business.
Query Parameters
- genusType: (string)
specify a particular category type to create
Example:
type.Type%3AexampleCategoryType%40dxtera.org
- businessId: (string)
specify in which business to create this category
Example:
billing.Business%3A8374%40demo.dxtera.org
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Category",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this category, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this category, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this category for display.",
"type": "string"
},
"description": {
"description": "The description of this category.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this category. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
}
}
}
Example:
{
"id": "billing.Category:5448@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/category/billing.Category%3A5448%40demo.dxtera.org",
"displayName": "Display Name of this Category",
"description": "The description of this Category"
}
Entity representing a category form metadata.
Get form metadata for creating a new category.
get /categories/metadata
Get form metadata for creating a new category.
Query Parameters
- genusType: (string)
specify a particular category type to create
Example:
type.Type%3AexampleCategoryType%40dxtera.org
- businessId: (string)
specify in which business to create this category
Example:
billing.Business%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": "Category",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this category, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this category, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this category for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Category.Category:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this category",
"linked": false
},
"description": {
"description": "The description of this category.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Category.Category:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this category",
"linked": false
},
"genusType": {
"description": "The immutable type of this category. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a category
Get a category given its id.
Update a given category.
Delete a given category.
get /categories/{categoryId}
Get a category given its id.
URI Parameters
- categoryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "billing.Category:6545@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/category/billing.Category%3A6545%40demo.dxtera.org",
"displayName": "Display Name of this Category",
"description": "The description of this Category",
"genusType": "type.Type:defaultCategoryType@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": "category not found" }
put /categories/{categoryId}
Update a given category.
URI Parameters
- categoryId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Category",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this category, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this category, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this category for display.",
"type": "string"
},
"description": {
"description": "The description of this category.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this category. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
}
}
}
Example:
{
"id": "billing.Category:5448@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/category/billing.Category%3A5448%40demo.dxtera.org",
"displayName": "Display Name of this Category",
"description": "The description of this Category"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The category 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": "category not found" }
delete /categories/{categoryId}
Delete a given category.
URI Parameters
- categoryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The category 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": "category not found" }
Entity representing a category form metadata for update
Get form metadata for updating an existing category.
get /categories/{categoryId}/metadata
Get form metadata for updating an existing category.
URI Parameters
- categoryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Category",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this category, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this category, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this category for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Category.Category:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this category",
"linked": false
},
"description": {
"description": "The description of this category.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Category.Category:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this category",
"linked": false
},
"genusType": {
"description": "The immutable type of this category. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "category not found" }
/entries
Collection of entries in a system, federation of systems, or in a default business.
Get all entries in the system or default business.
Create a new entry in the default business.
get /entries
Get all entries in the system or default business.
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%3AexampleEntryType%40dxtera.org
- parentGenusType: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleEntryType%40dxtera.org
- fromDate: (string)
Get all entries from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all entries up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- customerId: (string)
the id string to match a customer.
Example:
billing.Customer%3A280%40demo.dxtera.org
- itemId: (string)
the id string to match a item.
Example:
billing.Item%3A140%40demo.dxtera.org
- periodId: (string)
the id string to match a period.
Example:
billing.Period%3A210%40demo.dxtera.org
- businessId: (string)
The id string to match a business
Example:
billing.Business%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Entry:7232@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/entry/billing.Entry%3A7232%40demo.dxtera.org",
"displayName": "Display Name of this Entry",
"description": "The description of this Entry",
"genusType": "type.Type:defaultEntryType@dxtera.org",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7232@demo.dxtera.org",
"customerId": "billing.Customer:6846@demo.dxtera.org",
"itemId": "billing.Item:305@demo.dxtera.org",
"periodId": "billing.Period:3082@demo.dxtera.org",
"quantity": 19,
"amount": "USD+42.00",
"debit": true
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /entries
Create a new entry in the default business.
Query Parameters
- customerId: required(string)
the customer of this entry.
Example:
billing.Customer%3A280%40demo.dxtera.org
- itemId: required(string)
the item of this entry.
Example:
billing.Item%3A140%40demo.dxtera.org
- periodId: required(string)
the period of this entry.
Example:
billing.Period%3A210%40demo.dxtera.org
- genusType: (string)
specify a particular entry type to create
Example:
type.Type%3AexampleEntryType%40dxtera.org
- businessId: (string)
specify in which business to create this entry
Example:
billing.Business%3A8374%40demo.dxtera.org
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Entry",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this entry, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this entry, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this entry for display.",
"type": "string"
},
"description": {
"description": "The description of this entry.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this entry. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"startDate": {
"description": "The starting date of this entry.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this entry.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this entry ended.",
"type": "string",
"format": "osid-id"
},
"customerId": {
"description": "The customer associated with this entry.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"itemId": {
"description": "The item associated with this entry.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"periodId": {
"description": "The period associated with this entry.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"quantity": {
"description": "The quantity of the item.",
"type": "integer",
"minimum": 1
},
"amount": {
"description": "The amount of this entry.",
"type": "string",
"format": "currency"
},
"debit": {
"description": "Tests if the amount is a debit or a credit.",
"type": "boolean"
}
}
}
Example:
{
"id": "billing.Entry:8792@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/entry/billing.Entry%3A8792%40demo.dxtera.org",
"displayName": "Display Name of this Entry",
"description": "The description of this Entry",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:8792@demo.dxtera.org",
"quantity": 19,
"amount": "USD+42.00",
"debit": true
}
Entity representing a entry form metadata.
Get form metadata for creating a new entry.
get /entries/metadata
Get form metadata for creating a new entry.
Query Parameters
- customerId: required(string)
the customer of this metadatum.
Example:
billing.Customer%3A280%40demo.dxtera.org
- itemId: required(string)
the item of this metadatum.
Example:
billing.Item%3A140%40demo.dxtera.org
- periodId: required(string)
the period of this metadatum.
Example:
billing.Period%3A210%40demo.dxtera.org
- genusType: (string)
specify a particular entry type to create
Example:
type.Type%3AexampleEntryType%40dxtera.org
- businessId: (string)
specify in which business to create this entry
Example:
billing.Business%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": "Entry",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this entry, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this entry, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this entry for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Entry.Entry:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this entry",
"linked": false
},
"description": {
"description": "The description of this entry.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Entry.Entry:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this entry",
"linked": false
},
"genusType": {
"description": "The immutable type of this entry. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"startDate": {
"description": "The starting date of this entry.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Entry.Entry:startDate@demo.dxtera.org",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this entry",
"linked": false
},
"endDate": {
"description": "The ending date of this entry.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Entry.Entry:endDate@demo.dxtera.org",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this entry",
"linked": false
},
"endReasonId": {
"description": "The reason this entry ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Entry.Entry:endReason@demo.dxtera.org",
"existingValue": "process.State:1860@demo.dxtera.org",
"elementLabel": "End Reason",
"instructions": "Select the reason this entry ended",
"linked": false
},
"quantity": {
"description": "The quantity of the item.",
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "billing.Entry:quantity@dxtera.org",
"existingValue": 42,
"elementLabel": "Quantity",
"instructions": "Enter the quantity of this entry.",
"linked": false
},
"amount": {
"description": "The amount of this entry.",
"type": "string",
"format": "currency",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Entry:amount@dxtera.org",
"existingValue": "USD+120.56",
"elementLabel": "Amount",
"instructions": "Enter the amount of this entry.",
"linked": false
},
"debit": {
"description": "Tests if the amount is a debit or a credit.",
"type": "boolean",
"elementId": "billing.Entry:debit@dxtera.org",
"existingValue": false,
"elementLabel": "Debit",
"instructions": "Enter true or false.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a entry
Get a entry given its id.
Update a given entry.
Delete a given entry.
get /entries/{entryId}
Get a entry given its id.
URI Parameters
- entryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "billing.Entry:7232@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/entry/billing.Entry%3A7232%40demo.dxtera.org",
"displayName": "Display Name of this Entry",
"description": "The description of this Entry",
"genusType": "type.Type:defaultEntryType@dxtera.org",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7232@demo.dxtera.org",
"customerId": "billing.Customer:6846@demo.dxtera.org",
"itemId": "billing.Item:305@demo.dxtera.org",
"periodId": "billing.Period:3082@demo.dxtera.org",
"quantity": 19,
"amount": "USD+42.00",
"debit": true
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "entry not found" }
put /entries/{entryId}
Update a given entry.
URI Parameters
- entryId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Entry",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this entry, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this entry, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this entry for display.",
"type": "string"
},
"description": {
"description": "The description of this entry.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this entry. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"startDate": {
"description": "The starting date of this entry.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this entry.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this entry ended.",
"type": "string",
"format": "osid-id"
},
"customerId": {
"description": "The customer associated with this entry.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"itemId": {
"description": "The item associated with this entry.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"periodId": {
"description": "The period associated with this entry.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"quantity": {
"description": "The quantity of the item.",
"type": "integer",
"minimum": 1
},
"amount": {
"description": "The amount of this entry.",
"type": "string",
"format": "currency"
},
"debit": {
"description": "Tests if the amount is a debit or a credit.",
"type": "boolean"
}
}
}
Example:
{
"id": "billing.Entry:8792@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/entry/billing.Entry%3A8792%40demo.dxtera.org",
"displayName": "Display Name of this Entry",
"description": "The description of this Entry",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:8792@demo.dxtera.org",
"quantity": 19,
"amount": "USD+42.00",
"debit": true
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The entry 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": "entry not found" }
delete /entries/{entryId}
Delete a given entry.
URI Parameters
- entryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The entry 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": "entry not found" }
Entity representing a entry form metadata for update
Get form metadata for updating an existing entry.
get /entries/{entryId}/metadata
Get form metadata for updating an existing entry.
URI Parameters
- entryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Entry",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this entry, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this entry, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this entry for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Entry.Entry:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this entry",
"linked": false
},
"description": {
"description": "The description of this entry.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Entry.Entry:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this entry",
"linked": false
},
"genusType": {
"description": "The immutable type of this entry. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"startDate": {
"description": "The starting date of this entry.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Entry.Entry:startDate@demo.dxtera.org",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this entry",
"linked": false
},
"endDate": {
"description": "The ending date of this entry.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Entry.Entry:endDate@demo.dxtera.org",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this entry",
"linked": false
},
"endReasonId": {
"description": "The reason this entry ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Entry.Entry:endReason@demo.dxtera.org",
"existingValue": "process.State:1860@demo.dxtera.org",
"elementLabel": "End Reason",
"instructions": "Select the reason this entry ended",
"linked": false
},
"quantity": {
"description": "The quantity of the item.",
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "billing.Entry:quantity@dxtera.org",
"existingValue": 42,
"elementLabel": "Quantity",
"instructions": "Enter the quantity of this entry.",
"linked": false
},
"amount": {
"description": "The amount of this entry.",
"type": "string",
"format": "currency",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Entry:amount@dxtera.org",
"existingValue": "USD+120.56",
"elementLabel": "Amount",
"instructions": "Enter the amount of this entry.",
"linked": false
},
"debit": {
"description": "Tests if the amount is a debit or a credit.",
"type": "boolean",
"elementId": "billing.Entry:debit@dxtera.org",
"existingValue": false,
"elementLabel": "Debit",
"instructions": "Enter true or false.",
"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": "entry not found" }
/periods
Collection of periods in a system, federation of systems, or in a default business.
Get all periods in the system or default business.
Create a new period in the default business.
get /periods
Get all periods in the system or default business.
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%3AexamplePeriodType%40dxtera.org
- parentGenusType: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExamplePeriodType%40dxtera.org
- businessId: (string)
The id string to match a business
Example:
billing.Business%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Period:3818@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/period/billing.Period%3A3818%40demo.dxtera.org",
"displayName": "Display Name of this Period",
"description": "The description of this Period",
"genusType": "type.Type:defaultPeriodType@dxtera.org",
"displayLabel": "This is the DisplayLabel",
"openDate": "2020-10-03T08:00:00.000Z",
"closeDate": "2020-12-18T17:00:00.000Z",
"billingDate": "2021-07-21T23:15:30.000Z",
"dueDate": "2021-07-21T23:15:30.000Z"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /periods
Create a new period in the default business.
Query Parameters
- genusType: (string)
specify a particular period type to create
Example:
type.Type%3AexamplePeriodType%40dxtera.org
- businessId: (string)
specify in which business to create this period
Example:
billing.Business%3A8374%40demo.dxtera.org
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Period",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this period, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this period, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this period for display.",
"type": "string"
},
"description": {
"description": "The description of this period.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this period. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"displayLabel": {
"description": "A display label for this period which may be less formal than the display name.",
"type": "string"
},
"openDate": {
"description": "The open date.",
"type": "string",
"format": "date-time"
},
"closeDate": {
"description": "The close date.",
"type": "string",
"format": "date-time"
},
"billingDate": {
"description": "The billing date.",
"type": "string",
"format": "date-time"
},
"dueDate": {
"description": "The due date.",
"type": "string",
"format": "date-time"
}
}
}
Example:
{
"id": "billing.Period:1179@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/period/billing.Period%3A1179%40demo.dxtera.org",
"displayName": "Display Name of this Period",
"description": "The description of this Period",
"displayLabel": "This is the DisplayLabel",
"openDate": "2020-10-03T08:00:00.000Z",
"closeDate": "2020-12-18T17:00:00.000Z",
"billingDate": "2021-07-21T23:15:30.000Z",
"dueDate": "2021-07-21T23:15:30.000Z"
}
Entity representing a period form metadata.
Get form metadata for creating a new period.
get /periods/metadata
Get form metadata for creating a new period.
Query Parameters
- genusType: (string)
specify a particular period type to create
Example:
type.Type%3AexamplePeriodType%40dxtera.org
- businessId: (string)
specify in which business to create this period
Example:
billing.Business%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": "Period",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this period, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this period, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this period for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Period.Period:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this period",
"linked": false
},
"description": {
"description": "The description of this period.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Period.Period:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this period",
"linked": false
},
"genusType": {
"description": "The immutable type of this period. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"displayLabel": {
"description": "A display label for this period which may be less formal than the display name.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Period:displayLabel@dxtera.org",
"existingValue": "The existing display label",
"elementLabel": "Display Label",
"instructions": "Enter a display label for this period.",
"linked": false
},
"openDate": {
"description": "The open date.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Period:openDate@dxtera.org",
"existingValue": "",
"elementLabel": "Open Date",
"instructions": "Enter the open date of this period.",
"linked": false
},
"closeDate": {
"description": "The close date.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Period:closeDate@dxtera.org",
"existingValue": "",
"elementLabel": "Close Date",
"instructions": "Enter the close date of this period.",
"linked": false
},
"billingDate": {
"description": "The billing date.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Period:billingDate@dxtera.org",
"existingValue": "",
"elementLabel": "Billing Date",
"instructions": "Enter the billing date of this period.",
"linked": false
},
"dueDate": {
"description": "The due date.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Period:dueDate@dxtera.org",
"existingValue": "",
"elementLabel": "Due Date",
"instructions": "Enter the due date of this period.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a period
Get a period given its id.
Update a given period.
Delete a given period.
get /periods/{periodId}
Get a period given its id.
URI Parameters
- periodId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "billing.Period:3818@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/period/billing.Period%3A3818%40demo.dxtera.org",
"displayName": "Display Name of this Period",
"description": "The description of this Period",
"genusType": "type.Type:defaultPeriodType@dxtera.org",
"displayLabel": "This is the DisplayLabel",
"openDate": "2020-10-03T08:00:00.000Z",
"closeDate": "2020-12-18T17:00:00.000Z",
"billingDate": "2021-07-21T23:15:30.000Z",
"dueDate": "2021-07-21T23:15:30.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": "period not found" }
put /periods/{periodId}
Update a given period.
URI Parameters
- periodId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Period",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this period, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this period, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this period for display.",
"type": "string"
},
"description": {
"description": "The description of this period.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this period. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"displayLabel": {
"description": "A display label for this period which may be less formal than the display name.",
"type": "string"
},
"openDate": {
"description": "The open date.",
"type": "string",
"format": "date-time"
},
"closeDate": {
"description": "The close date.",
"type": "string",
"format": "date-time"
},
"billingDate": {
"description": "The billing date.",
"type": "string",
"format": "date-time"
},
"dueDate": {
"description": "The due date.",
"type": "string",
"format": "date-time"
}
}
}
Example:
{
"id": "billing.Period:1179@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/period/billing.Period%3A1179%40demo.dxtera.org",
"displayName": "Display Name of this Period",
"description": "The description of this Period",
"displayLabel": "This is the DisplayLabel",
"openDate": "2020-10-03T08:00:00.000Z",
"closeDate": "2020-12-18T17:00:00.000Z",
"billingDate": "2021-07-21T23:15:30.000Z",
"dueDate": "2021-07-21T23:15:30.000Z"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The period 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": "period not found" }
delete /periods/{periodId}
Delete a given period.
URI Parameters
- periodId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The period 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": "period not found" }
Entity representing a period form metadata for update
Get form metadata for updating an existing period.
get /periods/{periodId}/metadata
Get form metadata for updating an existing period.
URI Parameters
- periodId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Period",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this period, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this period, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this period for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Period.Period:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this period",
"linked": false
},
"description": {
"description": "The description of this period.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Period.Period:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this period",
"linked": false
},
"genusType": {
"description": "The immutable type of this period. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"displayLabel": {
"description": "A display label for this period which may be less formal than the display name.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Period:displayLabel@dxtera.org",
"existingValue": "The existing display label",
"elementLabel": "Display Label",
"instructions": "Enter a display label for this period.",
"linked": false
},
"openDate": {
"description": "The open date.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Period:openDate@dxtera.org",
"existingValue": "",
"elementLabel": "Open Date",
"instructions": "Enter the open date of this period.",
"linked": false
},
"closeDate": {
"description": "The close date.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Period:closeDate@dxtera.org",
"existingValue": "",
"elementLabel": "Close Date",
"instructions": "Enter the close date of this period.",
"linked": false
},
"billingDate": {
"description": "The billing date.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Period:billingDate@dxtera.org",
"existingValue": "",
"elementLabel": "Billing Date",
"instructions": "Enter the billing date of this period.",
"linked": false
},
"dueDate": {
"description": "The due date.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.Period:dueDate@dxtera.org",
"existingValue": "",
"elementLabel": "Due Date",
"instructions": "Enter the due date of this period.",
"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": "period not found" }
/businesses
Collection of businesses in a system or federation of systems.
Get all businesses.
Create a new business.
get /businesses
Get all businesses.
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%3AexampleBusinessType%40dxtera.org
- parentGenusType: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleBusinessType%40dxtera.org
- providerId: (string)
Id string to match provider.
Example:
resource.Resource%3A3007%40demo.dxtera.org
- customerId: (string)
Get businesses mapped to this customer.
Example:
billing.Customer%3A448%40demo.dxtera.org
- itemId: (string)
Get businesses mapped to this item.
Example:
billing.Item%3A224%40demo.dxtera.org
- categoryId: (string)
Get businesses mapped to this category.
Example:
billing.Category%3A448%40demo.dxtera.org
- entryId: (string)
Get businesses mapped to this entry.
Example:
billing.Entry%3A280%40demo.dxtera.org
- periodId: (string)
Get businesses mapped to this period.
Example:
billing.Period%3A336%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Business:2698@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/business/billing.Business%3A2698%40demo.dxtera.org",
"displayName": "Display Name of this Business",
"description": "The description of this Business",
"genusType": "type.Type:defaultBusinessType@dxtera.org",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Business@demo.dxtera.org",
"license": "The license that applies to this Business"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /businesses
Create a new business.
Query Parameters
- genusType: (string)
specify a particular business type to create
Example:
type.Type%3AexampleBusinessType%40dxtera.org
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Business",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this business, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this business, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this business for display.",
"type": "string"
},
"description": {
"description": "The description of this business.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this business. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"providerId": {
"description": "The provider of this business.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this business. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this business.",
"type": "string"
}
}
}
Example:
{
"id": "billing.Business:7994@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/business/billing.Business%3A7994%40demo.dxtera.org",
"displayName": "Display Name of this Business",
"description": "The description of this Business",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Business@demo.dxtera.org",
"license": "The license that applies to this Business"
}
Entity representing a business form metadata.
Get form metadata for creating a new business.
get /businesses/metadata
Get form metadata for creating a new business.
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Business",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this business, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this business, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this business for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Business.Business:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this business",
"linked": false
},
"description": {
"description": "The description of this business.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Business.Business:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this business",
"linked": false
},
"genusType": {
"description": "The immutable type of this business. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"providerId": {
"description": "The provider of this business.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Business.Business:provider@demo.dxtera.org",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this business",
"linked": false
},
"brandingIds": {
"description": "The branding of this business. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Business.Business:branding@demo.dxtera.org",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this business",
"linked": false
},
"license": {
"description": "The licensing that applies to this business.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Business.Business:license@demo.dxtera.org",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this business",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root businesses in the business hierarchy. A node with no parents is an orphan. While all business 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-business
get /businesses/root-business
Get all root root-business
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Business:2698@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/business/billing.Business%3A2698%40demo.dxtera.org",
"displayName": "Display Name of this Business",
"description": "The description of this Business",
"genusType": "type.Type:defaultBusinessType@dxtera.org",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Business@demo.dxtera.org",
"license": "The license that applies to this Business"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a business
Get a business given its id.
Update a given business.
Delete a given business.
get /businesses/{businessId}
Get a business given its id.
URI Parameters
- businessId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "billing.Business:2698@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/business/billing.Business%3A2698%40demo.dxtera.org",
"displayName": "Display Name of this Business",
"description": "The description of this Business",
"genusType": "type.Type:defaultBusinessType@dxtera.org",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Business@demo.dxtera.org",
"license": "The license that applies to this Business"
}
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": "business not found" }
put /businesses/{businessId}
Update a given business.
URI Parameters
- businessId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Business",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this business, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this business, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this business for display.",
"type": "string"
},
"description": {
"description": "The description of this business.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this business. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"providerId": {
"description": "The provider of this business.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this business. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this business.",
"type": "string"
}
}
}
Example:
{
"id": "billing.Business:7994@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/business/billing.Business%3A7994%40demo.dxtera.org",
"displayName": "Display Name of this Business",
"description": "The description of this Business",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Business@demo.dxtera.org",
"license": "The license that applies to this Business"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The business 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": "business not found" }
delete /businesses/{businessId}
Delete a given business.
URI Parameters
- businessId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The business 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": "business not found" }
Entity representing a business form metadata for update
Get form metadata for updating an existing business.
get /businesses/{businessId}/metadata
Get form metadata for updating an existing business.
URI Parameters
- businessId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Business",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this business, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this business, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this business for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Business.Business:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this business",
"linked": false
},
"description": {
"description": "The description of this business.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Business.Business:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this business",
"linked": false
},
"genusType": {
"description": "The immutable type of this business. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"providerId": {
"description": "The provider of this business.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Business.Business:provider@demo.dxtera.org",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this business",
"linked": false
},
"brandingIds": {
"description": "The branding of this business. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Business.Business:branding@demo.dxtera.org",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this business",
"linked": false
},
"license": {
"description": "The licensing that applies to this business.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Business.Business:license@demo.dxtera.org",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this business",
"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": "business not found" }
Get children businesses for the given business in the hierarchy.
get /businesses/{businessId}/children
Get children businesses for the given business in the hierarchy.
URI Parameters
- businessId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Business:2698@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/business/billing.Business%3A2698%40demo.dxtera.org",
"displayName": "Display Name of this Business",
"description": "The description of this Business",
"genusType": "type.Type:defaultBusinessType@dxtera.org",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Business@demo.dxtera.org",
"license": "The license that applies to this Business"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add business as child of the given business in the hierarchy.
Remove the given business as a child of the given business in the hierarchy.
put /businesses/{businessId}/children/{childId}
Add business as child of the given business in the hierarchy.
URI Parameters
- businessId: required(string)
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child business 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": "business not found" }
delete /businesses/{businessId}/children/{childId}
Remove the given business as a child of the given business in the hierarchy.
Get all customers in this business
get /businesses/{businessId}/customers
Get all customers in this business
URI Parameters
- businessId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Customer:8036@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/customer/billing.Customer%3A8036%40demo.dxtera.org",
"displayName": "Display Name of this Customer",
"description": "The description of this Customer",
"genusType": "type.Type:defaultCustomerType@dxtera.org",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"resourceId": "resource.Resource:8434@demo.dxtera.org",
"customerNumber": "101",
"activityId": "financials.Activity:6412@demo.dxtera.org"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given customer to this business
Remove the given customer from the business.
put /businesses/{businessId}/customers/{customerId}
Add the given customer to this business
URI Parameters
- businessId: required(string)
- customerId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "customer has been added to business" }
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": "customer not found" }
delete /businesses/{businessId}/customers/{customerId}
Remove the given customer from the business.
URI Parameters
- businessId: required(string)
- customerId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "customer 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": "customer not found" }
Get all items in this business
get /businesses/{businessId}/items
Get all items in this business
URI Parameters
- businessId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Item:8984@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/item/billing.Item%3A8984%40demo.dxtera.org",
"displayName": "Display Name of this Item",
"description": "The description of this Item",
"genusType": "type.Type:defaultItemType@dxtera.org",
"categoryId": "billing.Category:6328@demo.dxtera.org",
"accountId": "financials.Account:5492@demo.dxtera.org",
"productId": "ordering.Product:540@demo.dxtera.org",
"amount": true,
"recurringInterval": "P3DT3H"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given item to this business
Remove the given item from the business.
put /businesses/{businessId}/items/{itemId}
Add the given item to this business
URI Parameters
- businessId: required(string)
- itemId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "item has been added to business" }
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": "item not found" }
delete /businesses/{businessId}/items/{itemId}
Remove the given item from the business.
URI Parameters
- businessId: required(string)
- itemId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "item 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": "item not found" }
Get all categories in this business
get /businesses/{businessId}/categories
Get all categories in this business
URI Parameters
- businessId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Category:6545@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/category/billing.Category%3A6545%40demo.dxtera.org",
"displayName": "Display Name of this Category",
"description": "The description of this Category",
"genusType": "type.Type:defaultCategoryType@dxtera.org"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given category to this business
Remove the given category from the business.
put /businesses/{businessId}/categories/{categoryId}
Add the given category to this business
URI Parameters
- businessId: required(string)
- categoryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "category has been added to business" }
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": "category not found" }
delete /businesses/{businessId}/categories/{categoryId}
Remove the given category from the business.
URI Parameters
- businessId: required(string)
- categoryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "category 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": "category not found" }
Get all entries in this business
get /businesses/{businessId}/entries
Get all entries in this business
URI Parameters
- businessId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Entry:7232@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/entry/billing.Entry%3A7232%40demo.dxtera.org",
"displayName": "Display Name of this Entry",
"description": "The description of this Entry",
"genusType": "type.Type:defaultEntryType@dxtera.org",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7232@demo.dxtera.org",
"customerId": "billing.Customer:6846@demo.dxtera.org",
"itemId": "billing.Item:305@demo.dxtera.org",
"periodId": "billing.Period:3082@demo.dxtera.org",
"quantity": 19,
"amount": "USD+42.00",
"debit": true
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given entry to this business
Remove the given entry from the business.
put /businesses/{businessId}/entries/{entryId}
Add the given entry to this business
URI Parameters
- businessId: required(string)
- entryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "entry has been added to business" }
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": "entry not found" }
delete /businesses/{businessId}/entries/{entryId}
Remove the given entry from the business.
URI Parameters
- businessId: required(string)
- entryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "entry 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": "entry not found" }
Get all periods in this business
get /businesses/{businessId}/periods
Get all periods in this business
URI Parameters
- businessId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Period:3818@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/billing/period/billing.Period%3A3818%40demo.dxtera.org",
"displayName": "Display Name of this Period",
"description": "The description of this Period",
"genusType": "type.Type:defaultPeriodType@dxtera.org",
"displayLabel": "This is the DisplayLabel",
"openDate": "2020-10-03T08:00:00.000Z",
"closeDate": "2020-12-18T17:00:00.000Z",
"billingDate": "2021-07-21T23:15:30.000Z",
"dueDate": "2021-07-21T23:15:30.000Z"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given period to this business
Remove the given period from the business.
put /businesses/{businessId}/periods/{periodId}
Add the given period to this business
URI Parameters
- businessId: required(string)
- periodId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "period has been added to business" }
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": "period not found" }
delete /businesses/{businessId}/periods/{periodId}
Remove the given period from the business.
URI Parameters
- businessId: required(string)
- periodId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "period 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": "period not found" }