CampusAPI Billing Services API documentation version 0.1.2
Based on OSID version 3.0.0
https://base.url/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 |
genusTypeId (read‑only) | Id of the immutable type of this customer. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this customer. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
startDate | The starting date of this 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 |
genusTypeId (read‑only) | Id of the immutable type of this item. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this item. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
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 write a description for this -- | SYNTAX_TYPE_NOT_FOUND: NONE |
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 |
genusTypeId (read‑only) | Id of the immutable type of this category. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this category. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
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 |
genusTypeId (read‑only) | Id of the immutable type of this entry. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this entry. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
startDate | The starting date of this 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.Item object. | string(osid‑id) |
periodId (read‑only) | The period associated with this entry. 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 |
genusTypeId (read‑only) | Id of the immutable type of this period. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this period. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
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 |
genusTypeId (read‑only) | Id of the immutable type of this business. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this business. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
providerId | The provider of this 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
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleCustomerType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCustomerType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCustomerType%40campusapi.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%40base.url
- 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%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Customer:746@base.url",
"uri": "http://base.url/open/campusapi/billing/customer/billing.Customer%3A746%40base.url",
"displayName": "Display Name of this Customer",
"description": "The description of this Customer",
"genusTypeId": "type.Type:defaultCustomerType@base.url",
"recordTypeIds": [ "type.Type:exampleCustomerRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"resourceId": "resource.Resource:7661@base.url",
"customerNumber": "101",
"activityId": "financials.Activity:1830@base.url"
},
{
"...": "..."
}
]
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%40base.url
- genusType: (string)
specify a particular customer type to create
Example:
type.Type%3AexampleCustomerType%40dxtera.org
- recordType: (array of )
specify support for one or more customer record types
Example:
[ "type.Type%3AexampleCustomerRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this customer
Example:
billing.Business%3A8374%40base.url
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"
},
"genusTypeId": {
"description": "Id of the immutable type of this customer. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this customer. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this 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:
{
"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:9722@base.url"
}
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%40base.url
- genusType: (string)
specify a particular customer type to create
Example:
type.Type%3AexampleCustomerType%40dxtera.org
- recordType: (array of )
specify support for one or more customer record types
Example:
[ "type.Type%3AexampleCustomerRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this customer
Example:
billing.Business%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "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@base.url",
"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.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this customer",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this customer. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this customer. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this customer.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Customer.Customer:startDate@base.url",
"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@base.url",
"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:746@base.url",
"uri": "http://base.url/open/campusapi/billing/customer/billing.Customer%3A746%40base.url",
"displayName": "Display Name of this Customer",
"description": "The description of this Customer",
"genusTypeId": "type.Type:defaultCustomerType@base.url",
"recordTypeIds": [ "type.Type:exampleCustomerRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"resourceId": "resource.Resource:7661@base.url",
"customerNumber": "101",
"activityId": "financials.Activity:1830@base.url"
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "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"
},
"genusTypeId": {
"description": "Id of the immutable type of this customer. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this customer. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this 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:
{
"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:9722@base.url"
}
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@base.url",
"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.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this customer",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this customer. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this customer. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this customer.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Customer.Customer:startDate@base.url",
"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@base.url",
"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
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleItemType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleItemType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleItemType%40campusapi.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%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Item:6338@base.url",
"uri": "http://base.url/open/campusapi/billing/item/billing.Item%3A6338%40base.url",
"displayName": "Display Name of this Item",
"description": "The description of this Item",
"genusTypeId": "type.Type:defaultItemType@base.url",
"recordTypeIds": [ "type.Type:exampleItemRecordType@campusapi.org", "..."],
"categoryId": "billing.Category:7361@base.url",
"accountId": "financials.Account:9127@base.url",
"productId": "ordering.Product:5378@base.url",
"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
- recordType: (array of )
specify support for one or more item record types
Example:
[ "type.Type%3AexampleItemRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this item
Example:
billing.Business%3A8374%40base.url
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"
},
"genusTypeId": {
"description": "Id of the immutable type of this item. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this item. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"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 write a description for this --",
"type": "SYNTAX_TYPE_NOT_FOUND"
},
"recurringInterval": {
"description": "The recurring interval.",
"type": "string",
"format": "duration"
}
}
}
Example:
{
"displayName": "Display Name of this Item",
"description": "The description of this Item",
"categoryId": "billing.Category:6623@base.url",
"accountId": "financials.Account:3425@base.url",
"productId": "ordering.Product:2392@base.url",
"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
- recordType: (array of )
specify support for one or more item record types
Example:
[ "type.Type%3AexampleItemRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this item
Example:
billing.Business%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "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@base.url",
"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.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this item",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this item. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this item. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"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 write 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:6338@base.url",
"uri": "http://base.url/open/campusapi/billing/item/billing.Item%3A6338%40base.url",
"displayName": "Display Name of this Item",
"description": "The description of this Item",
"genusTypeId": "type.Type:defaultItemType@base.url",
"recordTypeIds": [ "type.Type:exampleItemRecordType@campusapi.org", "..."],
"categoryId": "billing.Category:7361@base.url",
"accountId": "financials.Account:9127@base.url",
"productId": "ordering.Product:5378@base.url",
"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"
},
"genusTypeId": {
"description": "Id of the immutable type of this item. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this item. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"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 write a description for this --",
"type": "SYNTAX_TYPE_NOT_FOUND"
},
"recurringInterval": {
"description": "The recurring interval.",
"type": "string",
"format": "duration"
}
}
}
Example:
{
"displayName": "Display Name of this Item",
"description": "The description of this Item",
"categoryId": "billing.Category:6623@base.url",
"accountId": "financials.Account:3425@base.url",
"productId": "ordering.Product:2392@base.url",
"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@base.url",
"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.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this item",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this item. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this item. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"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 write 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
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleCategoryType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCategoryType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCategoryType%40campusapi.org
- businessId: (string)
The id string to match a business
Example:
billing.Business%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Category:5854@base.url",
"uri": "http://base.url/open/campusapi/billing/category/billing.Category%3A5854%40base.url",
"displayName": "Display Name of this Category",
"description": "The description of this Category",
"genusTypeId": "type.Type:defaultCategoryType@base.url",
"recordTypeIds": [ "type.Type:exampleCategoryRecordType@campusapi.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
- recordType: (array of )
specify support for one or more category record types
Example:
[ "type.Type%3AexampleCategoryRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this category
Example:
billing.Business%3A8374%40base.url
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"
},
"genusTypeId": {
"description": "Id of the immutable type of this category. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this category. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this 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
- recordType: (array of )
specify support for one or more category record types
Example:
[ "type.Type%3AexampleCategoryRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this category
Example:
billing.Business%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "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@base.url",
"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.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this category",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this category. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this category. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
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:5854@base.url",
"uri": "http://base.url/open/campusapi/billing/category/billing.Category%3A5854%40base.url",
"displayName": "Display Name of this Category",
"description": "The description of this Category",
"genusTypeId": "type.Type:defaultCategoryType@base.url",
"recordTypeIds": [ "type.Type:exampleCategoryRecordType@campusapi.org", "..."]
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "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"
},
"genusTypeId": {
"description": "Id of the immutable type of this category. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this category. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this 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@base.url",
"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.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this category",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this category. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this category. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "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
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleEntryType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleEntryType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleEntryType%40campusapi.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%40base.url
- itemId: (string)
the id string to match a item.
Example:
billing.Item%3A140%40base.url
- periodId: (string)
the id string to match a period.
Example:
billing.Period%3A210%40base.url
- businessId: (string)
The id string to match a business
Example:
billing.Business%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Entry:9358@base.url",
"uri": "http://base.url/open/campusapi/billing/entry/billing.Entry%3A9358%40base.url",
"displayName": "Display Name of this Entry",
"description": "The description of this Entry",
"genusTypeId": "type.Type:defaultEntryType@base.url",
"recordTypeIds": [ "type.Type:exampleEntryRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:9358@base.url",
"customerId": "billing.Customer:7247@base.url",
"itemId": "billing.Item:7004@base.url",
"periodId": "billing.Period:6907@base.url",
"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%40base.url
- itemId: required(string)
the item of this entry.
Example:
billing.Item%3A140%40base.url
- periodId: required(string)
the period of this entry.
Example:
billing.Period%3A210%40base.url
- genusType: (string)
specify a particular entry type to create
Example:
type.Type%3AexampleEntryType%40dxtera.org
- recordType: (array of )
specify support for one or more entry record types
Example:
[ "type.Type%3AexampleEntryRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this entry
Example:
billing.Business%3A8374%40base.url
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"
},
"genusTypeId": {
"description": "Id of the immutable type of this entry. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this entry. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this 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:
{
"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:1191@base.url",
"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%40base.url
- itemId: required(string)
the item of this metadatum.
Example:
billing.Item%3A140%40base.url
- periodId: required(string)
the period of this metadatum.
Example:
billing.Period%3A210%40base.url
- genusType: (string)
specify a particular entry type to create
Example:
type.Type%3AexampleEntryType%40dxtera.org
- recordType: (array of )
specify support for one or more entry record types
Example:
[ "type.Type%3AexampleEntryRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this entry
Example:
billing.Business%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "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@base.url",
"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.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this entry",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this entry. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this entry. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this entry.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Entry.Entry:startDate@base.url",
"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@base.url",
"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@base.url",
"existingValue": "process.State:1860@base.url",
"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:9358@base.url",
"uri": "http://base.url/open/campusapi/billing/entry/billing.Entry%3A9358%40base.url",
"displayName": "Display Name of this Entry",
"description": "The description of this Entry",
"genusTypeId": "type.Type:defaultEntryType@base.url",
"recordTypeIds": [ "type.Type:exampleEntryRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:9358@base.url",
"customerId": "billing.Customer:7247@base.url",
"itemId": "billing.Item:7004@base.url",
"periodId": "billing.Period:6907@base.url",
"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"
},
"genusTypeId": {
"description": "Id of the immutable type of this entry. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this entry. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this 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:
{
"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:1191@base.url",
"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@base.url",
"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.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this entry",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this entry. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this entry. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this entry.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Entry.Entry:startDate@base.url",
"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@base.url",
"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@base.url",
"existingValue": "process.State:1860@base.url",
"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
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexamplePeriodType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExamplePeriodType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexamplePeriodType%40campusapi.org
- businessId: (string)
The id string to match a business
Example:
billing.Business%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Period:122@base.url",
"uri": "http://base.url/open/campusapi/billing/period/billing.Period%3A122%40base.url",
"displayName": "Display Name of this Period",
"description": "The description of this Period",
"genusTypeId": "type.Type:defaultPeriodType@base.url",
"recordTypeIds": [ "type.Type:examplePeriodRecordType@campusapi.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
- recordType: (array of )
specify support for one or more period record types
Example:
[ "type.Type%3AexamplePeriodRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this period
Example:
billing.Business%3A8374%40base.url
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"
},
"genusTypeId": {
"description": "Id of the immutable type of this period. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this period. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"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:
{
"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
- recordType: (array of )
specify support for one or more period record types
Example:
[ "type.Type%3AexamplePeriodRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this period
Example:
billing.Business%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "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@base.url",
"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.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this period",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this period. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this period. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"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:122@base.url",
"uri": "http://base.url/open/campusapi/billing/period/billing.Period%3A122%40base.url",
"displayName": "Display Name of this Period",
"description": "The description of this Period",
"genusTypeId": "type.Type:defaultPeriodType@base.url",
"recordTypeIds": [ "type.Type:examplePeriodRecordType@campusapi.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"
},
"genusTypeId": {
"description": "Id of the immutable type of this period. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this period. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"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:
{
"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@base.url",
"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.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this period",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this period. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this period. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"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
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleBusinessType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleBusinessType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleBusinessType%40campusapi.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:4156@base.url",
"uri": "http://base.url/open/campusapi/billing/business/billing.Business%3A4156%40base.url",
"displayName": "Display Name of this Business",
"description": "The description of this Business",
"genusTypeId": "type.Type:defaultBusinessType@base.url",
"recordTypeIds": [ "type.Type:exampleBusinessRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Business@base.url",
"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
- recordType: (array of )
specify support for one or more business record types
Example:
[ "type.Type%3AexampleBusinessRecordType%40campusapi.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"
},
"genusTypeId": {
"description": "Id of the immutable type of this business. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this business. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"providerId": {
"description": "The provider of this 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:
{
"displayName": "Display Name of this Business",
"description": "The description of this Business",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Business@base.url",
"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@base.url",
"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.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this business",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this business. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this business. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"providerId": {
"description": "The provider of this business.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Business.Business:provider@base.url",
"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@base.url",
"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@base.url",
"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:4156@base.url",
"uri": "http://base.url/open/campusapi/billing/business/billing.Business%3A4156%40base.url",
"displayName": "Display Name of this Business",
"description": "The description of this Business",
"genusTypeId": "type.Type:defaultBusinessType@base.url",
"recordTypeIds": [ "type.Type:exampleBusinessRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Business@base.url",
"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:4156@base.url",
"uri": "http://base.url/open/campusapi/billing/business/billing.Business%3A4156%40base.url",
"displayName": "Display Name of this Business",
"description": "The description of this Business",
"genusTypeId": "type.Type:defaultBusinessType@base.url",
"recordTypeIds": [ "type.Type:exampleBusinessRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Business@base.url",
"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"
},
"genusTypeId": {
"description": "Id of the immutable type of this business. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this business. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"providerId": {
"description": "The provider of this 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:
{
"displayName": "Display Name of this Business",
"description": "The description of this Business",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Business@base.url",
"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@base.url",
"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.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this business",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this business. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this business. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"providerId": {
"description": "The provider of this business.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Business.Business:provider@base.url",
"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@base.url",
"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@base.url",
"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 child businesses for the given business in the hierarchy.
get /businesses/{businessId}/children
Get child 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:4156@base.url",
"uri": "http://base.url/open/campusapi/billing/business/billing.Business%3A4156%40base.url",
"displayName": "Display Name of this Business",
"description": "The description of this Business",
"genusTypeId": "type.Type:defaultBusinessType@base.url",
"recordTypeIds": [ "type.Type:exampleBusinessRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Business@base.url",
"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 to the hierarchy" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "business not found" }
delete /businesses/{businessId}/children/{childId}
Remove the given business as a child of the given business in the hierarchy.
URI Parameters
- businessId: required(string)
- childId: required(string)
Get parent businesses for the given business in the hierarchy.
get /businesses/{businessId}/parents
Get parent 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:4156@base.url",
"uri": "http://base.url/open/campusapi/billing/business/billing.Business%3A4156%40base.url",
"displayName": "Display Name of this Business",
"description": "The description of this Business",
"genusTypeId": "type.Type:defaultBusinessType@base.url",
"recordTypeIds": [ "type.Type:exampleBusinessRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Business@base.url",
"license": "The license that applies to this Business"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
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:746@base.url",
"uri": "http://base.url/open/campusapi/billing/customer/billing.Customer%3A746%40base.url",
"displayName": "Display Name of this Customer",
"description": "The description of this Customer",
"genusTypeId": "type.Type:defaultCustomerType@base.url",
"recordTypeIds": [ "type.Type:exampleCustomerRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"resourceId": "resource.Resource:7661@base.url",
"customerNumber": "101",
"activityId": "financials.Activity:1830@base.url"
},
{
"...": "..."
}
]
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:6338@base.url",
"uri": "http://base.url/open/campusapi/billing/item/billing.Item%3A6338%40base.url",
"displayName": "Display Name of this Item",
"description": "The description of this Item",
"genusTypeId": "type.Type:defaultItemType@base.url",
"recordTypeIds": [ "type.Type:exampleItemRecordType@campusapi.org", "..."],
"categoryId": "billing.Category:7361@base.url",
"accountId": "financials.Account:9127@base.url",
"productId": "ordering.Product:5378@base.url",
"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:5854@base.url",
"uri": "http://base.url/open/campusapi/billing/category/billing.Category%3A5854%40base.url",
"displayName": "Display Name of this Category",
"description": "The description of this Category",
"genusTypeId": "type.Type:defaultCategoryType@base.url",
"recordTypeIds": [ "type.Type:exampleCategoryRecordType@campusapi.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:9358@base.url",
"uri": "http://base.url/open/campusapi/billing/entry/billing.Entry%3A9358%40base.url",
"displayName": "Display Name of this Entry",
"description": "The description of this Entry",
"genusTypeId": "type.Type:defaultEntryType@base.url",
"recordTypeIds": [ "type.Type:exampleEntryRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:9358@base.url",
"customerId": "billing.Customer:7247@base.url",
"itemId": "billing.Item:7004@base.url",
"periodId": "billing.Period:6907@base.url",
"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:122@base.url",
"uri": "http://base.url/open/campusapi/billing/period/billing.Period%3A122%40base.url",
"displayName": "Display Name of this Period",
"description": "The description of this Period",
"genusTypeId": "type.Type:defaultPeriodType@base.url",
"recordTypeIds": [ "type.Type:examplePeriodRecordType@campusapi.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" }