CampusAPI Payment Services API documentation version 0.1.5
Based on OSID version 3.0.0
https://base.url/payment
Overview
The Billing Payment service package manages billing payments.
This package includes the following entities:
Payers
A Payer is an entity that pays bills. A Payer a method of payment. Customers can have multiple Payers but a Payer is not required to relate to a Customer. A Payer may have its own identity through a Resource.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this payer, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this payer, provided by system. | string(uri) |
displayName | The name of this payer for display. | string |
description | The description of this payer. | string |
genusTypeId (read‑only) | Id of the immutable type of this payer. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this payer. 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 payer. | string(date‑time) |
endDate | The ending date of this payer. | string(date‑time) |
resourceId (read‑only) | The resource associated with this payer. References a resource.Resource object. | string(osid‑id) |
customerId | The customer. References a billing.Customer object | string(osid‑id) |
usesActivity | -- could someone please write a description for this -- | boolean |
usesCash | -- could someone please write a description for this -- | boolean |
creditCardNumber | The credit card number. | string |
creditCardExpiration | The credit card expiration date. | string(date‑time) |
creditCardCode | The credit card security code. | string |
bankRoutingNumber | The bank routing number. | string |
bankAccountNumber | The bank account number. | string |
Payments
A Payment is an amount paid by a Payer for an amount owed by a Customer. Typically, the Customer for which the Payment applied is the same Customer related to the Payer but Payments may be applied to different Customers.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this payment, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this payment, provided by system. | string(uri) |
displayName | The name of this payment for display. | string |
description | The description of this payment. | string |
genusTypeId (read‑only) | Id of the immutable type of this payment. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this payment. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
payerId (read‑only) | The payer associated with this payment. References a payment.Payer object. | string(osid‑id) |
customerId (read‑only) | The customer associated with this payment. References a billing.Customer object. | string(osid‑id) |
periodId | The billing period to which this payment applied. References a billing.Period object | string(osid‑id) |
paymentDate | The date the payment was made. | string(date‑time) |
processDate | The date the payment was or will be processed. | string(date‑time) |
amount | The amount of this payment. | string(currency) |
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 2023 DXtera Institute. Based on the Open Service Interface Definitions: http://osid.org
/payers
Collection of Payers in a system, federation of systems, or in a default Business.
Get all Payers in the system or default Business.
Create a new Payer in the default Business.
get /payers
Get all Payers 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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "customer", "resource", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexamplePayerType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExamplePayerType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexamplePayerType%40campusapi.org
- fromDate: (string)
Get all payers from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all payers 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%3A320%40base.url
- customerId: (string)
Id string to match customer.
Example:
billing.Customer%3A6704%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": "payment.Payer:4857@base.url",
"uri": "http://base.url/open/campusapi/payment/payer/payment.Payer%3A4857%40base.url",
"displayName": "Display Name of this Payer",
"description": "The description of this Payer",
"genusTypeId": "type.Type:defaultPayerType@base.url",
"recordTypeIds": [ "type.Type:examplePayerRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"resourceId": "resource.Resource:5451@base.url",
"customerId": "billing.Customer:1981@base.url",
"usesActivity": true,
"usesCash": true,
"creditCardNumber": "101",
"creditCardExpiration": "2021-07-21T23:15:30.000Z",
"creditCardCode": "This is the string for CreditCardCode",
"bankRoutingNumber": "101",
"bankAccountNumber": "101"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /payers
Create a new Payer in the default Business.
Query Parameters
- resourceId: required(string)
the resource of this payer.
Example:
resource.Resource%3A320%40base.url
- genusType: (string)
specify a particular payer type to create
Example:
type.Type%3AexamplePayerType%40dxtera.org
- recordType: (array of )
specify support for one or more payer record types
Example:
[ "type.Type%3AexamplePayerRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this payer
Example:
payment.Business%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Payer",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this payer, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this payer, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this payer for display.",
"type": "string"
},
"description": {
"description": "The description of this payer.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this payer. 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 payer. 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 payer.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this payer.",
"type": "string",
"format": "date-time"
},
"resourceId": {
"description": "The resource associated with this payer.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"customerId": {
"description": "The customer.",
"type": "string",
"format": "osid-id"
},
"usesActivity": {
"description": "-- could someone please write a description for this --",
"type": "boolean"
},
"usesCash": {
"description": "-- could someone please write a description for this --",
"type": "boolean"
},
"creditCardNumber": {
"description": "The credit card number.",
"type": "string"
},
"creditCardExpiration": {
"description": "The credit card expiration date.",
"type": "string",
"format": "date-time"
},
"creditCardCode": {
"description": "The credit card security code.",
"type": "string"
},
"bankRoutingNumber": {
"description": "The bank routing number.",
"type": "string"
},
"bankAccountNumber": {
"description": "The bank account number.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this Payer",
"description": "The description of this Payer",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"customerId": "billing.Customer:4971@base.url",
"usesActivity": true,
"usesCash": true,
"creditCardNumber": "101",
"creditCardExpiration": "2021-07-21T23:15:30.000Z",
"creditCardCode": "This is the string for CreditCardCode",
"bankRoutingNumber": "101",
"bankAccountNumber": "101"
}
Query the collection of Payers in a system, federation of systems, or in a default business by posting a Query object.
Submit a query using a PayerQuery object.
post /payers/payer-query
Submit a query using a PayerQuery object.
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "customer", "resource", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "PayerQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchEffective": {
"description": "Match effective objects where the current date falls within the start and end dates inclusive. true to match any effective, false to match ineffective",
"type": "boolean"
},
"matchStartDate": {
"description": "Matches temporals whose start date falls in between the given dates inclusive.",
"type": "object",
"properties": {
"start": {
"description": "start of date range",
"type": "string",
"format": "date-time"
},
"end": {
"description": "end of date range",
"type": "string",
"format": "date-time"
},
"match": {
"description": "true if a positive match, false for negative match",
"type": "boolean"
}
}
},
"matchEndDate": {
"description": "Matches temporals whose end date falls in between the given dates inclusive.",
"type": "object",
"properties": {
"start": {
"description": "start of date range",
"type": "string",
"format": "date-time"
},
"end": {
"description": "end of date range",
"type": "string",
"format": "date-time"
},
"match": {
"description": "true if a positive match, false for negative match",
"type": "boolean"
}
}
},
"matchResourceIds": {
"description": "List of resource Ids for this query to match payer that have a related resource.",
"type": "array",
"items": {
"type": "object",
"properties": {
"ruleId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"resourceQueries": {
"description": "ResourceQueries to match the resource. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchCustomerIds": {
"description": "List of Customer Ids for this query to match customer.",
"type": "array",
"items": {
"type": "object",
"properties": {
"customerId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"customerQueries": {
"description": "billing.CustomerQueries to match the Customer. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyCustomer": {
"description": "Match customer with any value. true to match Payers with any customer, false to match Payers with no customer",
"type": "boolean"
},
"matchUsesActivity": {
"description": "Match boolean value for usesActivity.",
"type": "object",
"properties": {
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
},
"matchUsesCash": {
"description": "Match boolean value for usesCash.",
"type": "object",
"properties": {
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
},
"matchCreditCardNumber": {
"description": "List of CreditCardNumber strings to match. Boolean OR performed among multiple creditCardNumbers.",
"type": "array",
"items": {
"type": "object",
"properties": {
"creditCardNumbers": {
"description": "creditCardNumbers to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyCreditCardNumber": {
"description": "Match creditCardNumbers with any value. true to match Payers with any credit card number, false to match ProgramOfferings with no credit card number",
"type": "boolean"
},
"matchCreditCardExpiration": {
"description": "Matches creditCardExpirations between the given date range inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"low": {
"description": "low date range",
"type": "string",
"format": "date-time"
},
"high": {
"description": "high date range",
"type": "string",
"format": "date-time"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyCreditCardExpiration": {
"description": "Match creditCardExpirations with any value. true to match Payers with any credit card expiration, false to match ProgramOfferings with no credit card expiration",
"type": "boolean"
},
"matchCreditCardCode": {
"description": "List of CreditCardCode strings to match. Boolean OR performed among multiple creditCardCodes.",
"type": "array",
"items": {
"type": "object",
"properties": {
"creditCardCodes": {
"description": "creditCardCodes to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyCreditCardCode": {
"description": "Match creditCardCodes with any value. true to match Payers with any credit card code, false to match ProgramOfferings with no credit card code",
"type": "boolean"
},
"matchBankRoutingNumber": {
"description": "List of BankRoutingNumber strings to match. Boolean OR performed among multiple bankRoutingNumbers.",
"type": "array",
"items": {
"type": "object",
"properties": {
"bankRoutingNumbers": {
"description": "bankRoutingNumbers to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyBankRoutingNumber": {
"description": "Match bankRoutingNumbers with any value. true to match Payers with any bank routing number, false to match ProgramOfferings with no bank routing number",
"type": "boolean"
},
"matchBankAccountNumber": {
"description": "List of BankAccountNumber strings to match. Boolean OR performed among multiple bankAccountNumbers.",
"type": "array",
"items": {
"type": "object",
"properties": {
"bankAccountNumbers": {
"description": "bankAccountNumbers to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyBankAccountNumber": {
"description": "Match bankAccountNumbers with any value. true to match Payers with any bank account number, false to match ProgramOfferings with no bank account number",
"type": "boolean"
},
"matchBusinessIds": {
"description": "List of Business Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"businessId": {
"description": "Business id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"businessQueries": {
"description": "BusinessQueries to match Business. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "payment.Payer:4857@base.url",
"uri": "http://base.url/open/campusapi/payment/payer/payment.Payer%3A4857%40base.url",
"displayName": "Display Name of this Payer",
"description": "The description of this Payer",
"genusTypeId": "type.Type:defaultPayerType@base.url",
"recordTypeIds": [ "type.Type:examplePayerRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"resourceId": "resource.Resource:5451@base.url",
"customerId": "billing.Customer:1981@base.url",
"usesActivity": true,
"usesCash": true,
"creditCardNumber": "101",
"creditCardExpiration": "2021-07-21T23:15:30.000Z",
"creditCardCode": "This is the string for CreditCardCode",
"bankRoutingNumber": "101",
"bankAccountNumber": "101"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Payer form metadata.
Get form metadata for creating a new Payer.
get /payers/metadata
Get form metadata for creating a new Payer.
Query Parameters
- resourceId: required(string)
the resource of this metadatum.
Example:
resource.Resource%3A320%40base.url
- genusType: (string)
specify a particular payer type to create
Example:
type.Type%3AexamplePayerType%40dxtera.org
- recordType: (array of )
specify support for one or more payer record types
Example:
[ "type.Type%3AexamplePayerRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this payer
Example:
payment.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": "Payer",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this payer, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this payer, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this payer for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Payer.Payer:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this payer",
"linked": false
},
"description": {
"description": "The description of this payer.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Payer.Payer:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this payer",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this payer. 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 payer. 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 payer.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Payer.Payer:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this payer",
"linked": false
},
"endDate": {
"description": "The ending date of this payer.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Payer.Payer:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this payer",
"linked": false
},
"customerId": {
"description": "The customer.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payer:customer@dxtera.org",
"existingValue": null,
"elementLabel": "Customer",
"instructions": "Enter the Id of the customer for this payer.",
"linked": false
},
"usesActivity": {
"description": "-- could someone please write a description for this --",
"type": "boolean",
"elementId": "billing.payment.Payer:usesActivity@dxtera.org",
"existingValue": false,
"elementLabel": "Uses Activity",
"instructions": "Enter true or false.",
"linked": false
},
"usesCash": {
"description": "-- could someone please write a description for this --",
"type": "boolean",
"elementId": "billing.payment.Payer:usesCash@dxtera.org",
"existingValue": false,
"elementLabel": "Uses Cash",
"instructions": "Enter true or false.",
"linked": false
},
"creditCardNumber": {
"description": "The credit card number.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payer:creditCardNumber@dxtera.org",
"existingValue": "The existing credit card number",
"elementLabel": "Credit Card Number",
"instructions": "Enter a credit card number for this payer.",
"linked": false
},
"creditCardExpiration": {
"description": "The credit card expiration date.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payer:creditCardExpiration@dxtera.org",
"existingValue": "",
"elementLabel": "Credit Card Expiration",
"instructions": "Enter the credit card expiration of this payer.",
"linked": false
},
"creditCardCode": {
"description": "The credit card security code.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payer:creditCardCode@dxtera.org",
"existingValue": "The existing credit card code",
"elementLabel": "Credit Card Code",
"instructions": "Enter a credit card code for this payer.",
"linked": false
},
"bankRoutingNumber": {
"description": "The bank routing number.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payer:bankRoutingNumber@dxtera.org",
"existingValue": "The existing bank routing number",
"elementLabel": "Bank Routing Number",
"instructions": "Enter a bank routing number for this payer.",
"linked": false
},
"bankAccountNumber": {
"description": "The bank account number.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payer:bankAccountNumber@dxtera.org",
"existingValue": "The existing bank account number",
"elementLabel": "Bank Account Number",
"instructions": "Enter a bank account number for this payer.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Payer
Get a particular Payer given its id.
Update a particular Payer given its id.
Delete a particular Payer given its id.
get /payers/{payerId}
Get a particular Payer given its id.
URI Parameters
- payerId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "customer", "resource", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "payment.Payer:4857@base.url",
"uri": "http://base.url/open/campusapi/payment/payer/payment.Payer%3A4857%40base.url",
"displayName": "Display Name of this Payer",
"description": "The description of this Payer",
"genusTypeId": "type.Type:defaultPayerType@base.url",
"recordTypeIds": [ "type.Type:examplePayerRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"resourceId": "resource.Resource:5451@base.url",
"customerId": "billing.Customer:1981@base.url",
"usesActivity": true,
"usesCash": true,
"creditCardNumber": "101",
"creditCardExpiration": "2021-07-21T23:15:30.000Z",
"creditCardCode": "This is the string for CreditCardCode",
"bankRoutingNumber": "101",
"bankAccountNumber": "101"
}
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": "Payer not found" }
put /payers/{payerId}
Update a particular Payer given its id.
URI Parameters
- payerId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Payer",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this payer, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this payer, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this payer for display.",
"type": "string"
},
"description": {
"description": "The description of this payer.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this payer. 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 payer. 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 payer.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this payer.",
"type": "string",
"format": "date-time"
},
"resourceId": {
"description": "The resource associated with this payer.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"customerId": {
"description": "The customer.",
"type": "string",
"format": "osid-id"
},
"usesActivity": {
"description": "-- could someone please write a description for this --",
"type": "boolean"
},
"usesCash": {
"description": "-- could someone please write a description for this --",
"type": "boolean"
},
"creditCardNumber": {
"description": "The credit card number.",
"type": "string"
},
"creditCardExpiration": {
"description": "The credit card expiration date.",
"type": "string",
"format": "date-time"
},
"creditCardCode": {
"description": "The credit card security code.",
"type": "string"
},
"bankRoutingNumber": {
"description": "The bank routing number.",
"type": "string"
},
"bankAccountNumber": {
"description": "The bank account number.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this Payer",
"description": "The description of this Payer",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"customerId": "billing.Customer:4971@base.url",
"usesActivity": true,
"usesCash": true,
"creditCardNumber": "101",
"creditCardExpiration": "2021-07-21T23:15:30.000Z",
"creditCardCode": "This is the string for CreditCardCode",
"bankRoutingNumber": "101",
"bankAccountNumber": "101"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Payer 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": "Payer not found" }
delete /payers/{payerId}
Delete a particular Payer given its id.
URI Parameters
- payerId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Payer 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": "Payer not found" }
Entity representing a Payer form metadata for update
Get form metadata for updating an existing Payer.
get /payers/{payerId}/metadata
Get form metadata for updating an existing Payer.
URI Parameters
- payerId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Payer",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this payer, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this payer, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this payer for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Payer.Payer:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this payer",
"linked": false
},
"description": {
"description": "The description of this payer.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Payer.Payer:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this payer",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this payer. 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 payer. 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 payer.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Payer.Payer:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this payer",
"linked": false
},
"endDate": {
"description": "The ending date of this payer.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Payer.Payer:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this payer",
"linked": false
},
"customerId": {
"description": "The customer.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payer:customer@dxtera.org",
"existingValue": null,
"elementLabel": "Customer",
"instructions": "Enter the Id of the customer for this payer.",
"linked": false
},
"usesActivity": {
"description": "-- could someone please write a description for this --",
"type": "boolean",
"elementId": "billing.payment.Payer:usesActivity@dxtera.org",
"existingValue": false,
"elementLabel": "Uses Activity",
"instructions": "Enter true or false.",
"linked": false
},
"usesCash": {
"description": "-- could someone please write a description for this --",
"type": "boolean",
"elementId": "billing.payment.Payer:usesCash@dxtera.org",
"existingValue": false,
"elementLabel": "Uses Cash",
"instructions": "Enter true or false.",
"linked": false
},
"creditCardNumber": {
"description": "The credit card number.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payer:creditCardNumber@dxtera.org",
"existingValue": "The existing credit card number",
"elementLabel": "Credit Card Number",
"instructions": "Enter a credit card number for this payer.",
"linked": false
},
"creditCardExpiration": {
"description": "The credit card expiration date.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payer:creditCardExpiration@dxtera.org",
"existingValue": "",
"elementLabel": "Credit Card Expiration",
"instructions": "Enter the credit card expiration of this payer.",
"linked": false
},
"creditCardCode": {
"description": "The credit card security code.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payer:creditCardCode@dxtera.org",
"existingValue": "The existing credit card code",
"elementLabel": "Credit Card Code",
"instructions": "Enter a credit card code for this payer.",
"linked": false
},
"bankRoutingNumber": {
"description": "The bank routing number.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payer:bankRoutingNumber@dxtera.org",
"existingValue": "The existing bank routing number",
"elementLabel": "Bank Routing Number",
"instructions": "Enter a bank routing number for this payer.",
"linked": false
},
"bankAccountNumber": {
"description": "The bank account number.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payer:bankAccountNumber@dxtera.org",
"existingValue": "The existing bank account number",
"elementLabel": "Bank Account Number",
"instructions": "Enter a bank account number for this payer.",
"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": "payer not found" }
/payments
Collection of Payments in a system, federation of systems, or in a default Business.
Get all Payments in the system or default Business.
Create a new Payment in the default Business.
get /payments
Get all Payments 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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "period", "payer", "customer", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexamplePaymentType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExamplePaymentType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexamplePaymentType%40campusapi.org
- payerId: (string)
the id string to match a payer.
Example:
payment.Payer%3A245%40base.url
- customerId: (string)
the id string to match a customer.
Example:
billing.Customer%3A392%40base.url
- fromDate: (string)
Get all payments from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all payments up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- 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": "payment.Payment:6445@base.url",
"uri": "http://base.url/open/campusapi/payment/payment/payment.Payment%3A6445%40base.url",
"displayName": "Display Name of this Payment",
"description": "The description of this Payment",
"genusTypeId": "type.Type:defaultPaymentType@base.url",
"recordTypeIds": [ "type.Type:examplePaymentRecordType@campusapi.org", "..."],
"payerId": "billing.payment.Payer:566@base.url",
"customerId": "billing.Customer:7869@base.url",
"periodId": "billing.Period:9651@base.url",
"paymentDate": "2021-07-21T23:15:30.000Z",
"processDate": "2021-07-21T23:15:30.000Z",
"amount": "USD+42.00"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /payments
Create a new Payment in the default Business.
Query Parameters
- payerId: required(string)
the payer of this payment.
Example:
payment.Payer%3A245%40base.url
- customerId: required(string)
the customer of this payment.
Example:
billing.Customer%3A392%40base.url
- genusType: (string)
specify a particular payment type to create
Example:
type.Type%3AexamplePaymentType%40dxtera.org
- recordType: (array of )
specify support for one or more payment record types
Example:
[ "type.Type%3AexamplePaymentRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this payment
Example:
payment.Business%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Payment",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this payment, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this payment, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this payment for display.",
"type": "string"
},
"description": {
"description": "The description of this payment.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this payment. 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 payment. 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
},
"payerId": {
"description": "The payer associated with this payment.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"customerId": {
"description": "The customer associated with this payment.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"periodId": {
"description": "The billing period to which this payment applied.",
"type": "string",
"format": "osid-id"
},
"paymentDate": {
"description": "The date the payment was made.",
"type": "string",
"format": "date-time"
},
"processDate": {
"description": "The date the payment was or will be processed.",
"type": "string",
"format": "date-time"
},
"amount": {
"description": "The amount of this payment.",
"type": "string",
"format": "currency"
}
}
}
Example:
{
"displayName": "Display Name of this Payment",
"description": "The description of this Payment",
"periodId": "billing.Period:8992@base.url",
"paymentDate": "2021-07-21T23:15:30.000Z",
"processDate": "2021-07-21T23:15:30.000Z",
"amount": "USD+42.00"
}
Query the collection of Payments in a system, federation of systems, or in a default business by posting a Query object.
Submit a query using a PaymentQuery object.
post /payments/payment-query
Submit a query using a PaymentQuery object.
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "period", "payer", "customer", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "PaymentQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchPayerIds": {
"description": "List of payer Ids for this query to match payment that have a related payer.",
"type": "array",
"items": {
"type": "object",
"properties": {
"ruleId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"payerQueries": {
"description": "PayerQueries to match the payer. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchCustomerIds": {
"description": "List of customer Ids for this query to match payment that have a related customer.",
"type": "array",
"items": {
"type": "object",
"properties": {
"ruleId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"customerQueries": {
"description": "CustomerQueries to match the customer. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchPeriodIds": {
"description": "List of Period Ids for this query to match period.",
"type": "array",
"items": {
"type": "object",
"properties": {
"periodId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"periodQueries": {
"description": "billing.PeriodQueries to match the Period. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyPeriod": {
"description": "Match period with any value. true to match Payments with any period, false to match Payments with no period",
"type": "boolean"
},
"matchPaymentDate": {
"description": "Matches paymentDates between the given date range inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"low": {
"description": "low date range",
"type": "string",
"format": "date-time"
},
"high": {
"description": "high date range",
"type": "string",
"format": "date-time"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyPaymentDate": {
"description": "Match paymentDates with any value. true to match Payments with any payment date, false to match ProgramOfferings with no payment date",
"type": "boolean"
},
"matchProcessDate": {
"description": "Matches processDates between the given date range inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"low": {
"description": "low date range",
"type": "string",
"format": "date-time"
},
"high": {
"description": "high date range",
"type": "string",
"format": "date-time"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyProcessDate": {
"description": "Match processDates with any value. true to match Payments with any process date, false to match ProgramOfferings with no process date",
"type": "boolean"
},
"matchAmount": {
"description": "Matches amounts in the given range inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"description": "a starting range",
"type": "string",
"format": "currency"
},
"to": {
"description": "an ending range",
"type": "string",
"format": "currency"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyAmount": {
"description": "Match amounts with any value. true to match Payments with any amount, false to match ProgramOfferings with no amount",
"type": "boolean"
},
"matchBusinessIds": {
"description": "List of Business Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"businessId": {
"description": "Business id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"businessQueries": {
"description": "BusinessQueries to match Business. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "payment.Payment:6445@base.url",
"uri": "http://base.url/open/campusapi/payment/payment/payment.Payment%3A6445%40base.url",
"displayName": "Display Name of this Payment",
"description": "The description of this Payment",
"genusTypeId": "type.Type:defaultPaymentType@base.url",
"recordTypeIds": [ "type.Type:examplePaymentRecordType@campusapi.org", "..."],
"payerId": "billing.payment.Payer:566@base.url",
"customerId": "billing.Customer:7869@base.url",
"periodId": "billing.Period:9651@base.url",
"paymentDate": "2021-07-21T23:15:30.000Z",
"processDate": "2021-07-21T23:15:30.000Z",
"amount": "USD+42.00"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Payment form metadata.
Get form metadata for creating a new Payment.
get /payments/metadata
Get form metadata for creating a new Payment.
Query Parameters
- payerId: required(string)
the payer of this metadatum.
Example:
payment.Payer%3A245%40base.url
- customerId: required(string)
the customer of this metadatum.
Example:
billing.Customer%3A392%40base.url
- genusType: (string)
specify a particular payment type to create
Example:
type.Type%3AexamplePaymentType%40dxtera.org
- recordType: (array of )
specify support for one or more payment record types
Example:
[ "type.Type%3AexamplePaymentRecordType%40campusapi.org", "..." ]
- businessId: (string)
specify in which business to create this payment
Example:
payment.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": "Payment",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this payment, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this payment, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this payment for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Payment.Payment:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this payment",
"linked": false
},
"description": {
"description": "The description of this payment.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Payment.Payment:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this payment",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this payment. 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 payment. 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
},
"periodId": {
"description": "The billing period to which this payment applied.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payment:period@dxtera.org",
"existingValue": null,
"elementLabel": "Period",
"instructions": "Enter the Id of the period for this payment.",
"linked": false
},
"paymentDate": {
"description": "The date the payment was made.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payment:paymentDate@dxtera.org",
"existingValue": "",
"elementLabel": "Payment Date",
"instructions": "Enter the payment date of this payment.",
"linked": false
},
"processDate": {
"description": "The date the payment was or will be processed.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payment:processDate@dxtera.org",
"existingValue": "",
"elementLabel": "Process Date",
"instructions": "Enter the process date of this payment.",
"linked": false
},
"amount": {
"description": "The amount of this payment.",
"type": "string",
"format": "currency",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payment:amount@dxtera.org",
"existingValue": "USD+120.56",
"elementLabel": "Amount",
"instructions": "Enter the amount of this payment.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Payment
Get a particular Payment given its id.
Update a particular Payment given its id.
Delete a particular Payment given its id.
get /payments/{paymentId}
Get a particular Payment given its id.
URI Parameters
- paymentId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "period", "payer", "customer", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "payment.Payment:6445@base.url",
"uri": "http://base.url/open/campusapi/payment/payment/payment.Payment%3A6445%40base.url",
"displayName": "Display Name of this Payment",
"description": "The description of this Payment",
"genusTypeId": "type.Type:defaultPaymentType@base.url",
"recordTypeIds": [ "type.Type:examplePaymentRecordType@campusapi.org", "..."],
"payerId": "billing.payment.Payer:566@base.url",
"customerId": "billing.Customer:7869@base.url",
"periodId": "billing.Period:9651@base.url",
"paymentDate": "2021-07-21T23:15:30.000Z",
"processDate": "2021-07-21T23:15:30.000Z",
"amount": "USD+42.00"
}
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": "Payment not found" }
put /payments/{paymentId}
Update a particular Payment given its id.
URI Parameters
- paymentId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Payment",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this payment, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this payment, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this payment for display.",
"type": "string"
},
"description": {
"description": "The description of this payment.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this payment. 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 payment. 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
},
"payerId": {
"description": "The payer associated with this payment.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"customerId": {
"description": "The customer associated with this payment.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"periodId": {
"description": "The billing period to which this payment applied.",
"type": "string",
"format": "osid-id"
},
"paymentDate": {
"description": "The date the payment was made.",
"type": "string",
"format": "date-time"
},
"processDate": {
"description": "The date the payment was or will be processed.",
"type": "string",
"format": "date-time"
},
"amount": {
"description": "The amount of this payment.",
"type": "string",
"format": "currency"
}
}
}
Example:
{
"displayName": "Display Name of this Payment",
"description": "The description of this Payment",
"periodId": "billing.Period:8992@base.url",
"paymentDate": "2021-07-21T23:15:30.000Z",
"processDate": "2021-07-21T23:15:30.000Z",
"amount": "USD+42.00"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Payment 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": "Payment not found" }
delete /payments/{paymentId}
Delete a particular Payment given its id.
URI Parameters
- paymentId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Payment 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": "Payment not found" }
Entity representing a Payment form metadata for update
Get form metadata for updating an existing Payment.
get /payments/{paymentId}/metadata
Get form metadata for updating an existing Payment.
URI Parameters
- paymentId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Payment",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this payment, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this payment, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this payment for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Payment.Payment:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this payment",
"linked": false
},
"description": {
"description": "The description of this payment.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Payment.Payment:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this payment",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this payment. 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 payment. 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
},
"periodId": {
"description": "The billing period to which this payment applied.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payment:period@dxtera.org",
"existingValue": null,
"elementLabel": "Period",
"instructions": "Enter the Id of the period for this payment.",
"linked": false
},
"paymentDate": {
"description": "The date the payment was made.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payment:paymentDate@dxtera.org",
"existingValue": "",
"elementLabel": "Payment Date",
"instructions": "Enter the payment date of this payment.",
"linked": false
},
"processDate": {
"description": "The date the payment was or will be processed.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payment:processDate@dxtera.org",
"existingValue": "",
"elementLabel": "Process Date",
"instructions": "Enter the process date of this payment.",
"linked": false
},
"amount": {
"description": "The amount of this payment.",
"type": "string",
"format": "currency",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "billing.payment.Payment:amount@dxtera.org",
"existingValue": "USD+120.56",
"elementLabel": "Amount",
"instructions": "Enter the amount of this payment.",
"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": "payment 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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "provider", "branding", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- 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
- payerId: (string)
Get businesses mapped to this payer.
Example:
payment.Payer%3A280%40demo.dxtera.org
- paymentId: (string)
Get businesses mapped to this payment.
Example:
payment.Payment%3A392%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Business:70@base.url",
"uri": "http://base.url/open/campusapi/billing/business/billing.Business%3A70%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"
}
Query the collection of Businesses in a system, federation of systems, or in a default business by posting a Query object.
Submit a query using a BusinessQuery object.
post /businesses/business-query
Submit a query using a BusinessQuery object.
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
- expand: (string)
Expand object or type for named attribute: , or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "BusinessQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchProviderIds": {
"description": "List of provider Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"stateId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"providerQueries": {
"description": "resource.ResourceQuery for provider. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
},
"matchAnyProvider": {
"description": "Match providers with any value. true to match Business with any provider, false to match Business with no provider",
"type": "boolean"
}
},
"matchBrandingIds": {
"description": "List of branding asset Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"stateId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"brandingQueries": {
"description": "repository.AssetQuery for branding. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyBranding": {
"description": "Match brandingss with any value. true to match Business with any branding, false to match Business with no branding",
"type": "boolean"
},
"matchlicenses": {
"description": "List of license strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"license": {
"description": "license to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchBusinessIds": {
"description": "List of Business Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"businessId": {
"description": "Business id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"businessQueries": {
"description": "BusinessQueries to match Business. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "billing.Business:70@base.url",
"uri": "http://base.url/open/campusapi/billing/business/billing.Business%3A70%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 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:70@base.url",
"uri": "http://base.url/open/campusapi/billing/business/billing.Business%3A70%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 particular Business given its id.
Update a particular Business given its id.
Delete a particular Business given its id.
get /businesses/{businessId}
Get a particular Business given its id.
URI Parameters
- businessId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "billing.Business:70@base.url",
"uri": "http://base.url/open/campusapi/billing/business/billing.Business%3A70%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 particular Business given its id.
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 particular Business given its id.
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:70@base.url",
"uri": "http://base.url/open/campusapi/billing/business/billing.Business%3A70%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:70@base.url",
"uri": "http://base.url/open/campusapi/billing/business/billing.Business%3A70%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 Payers in this Business
get /businesses/{businessId}/payers
Get all Payers in this Business
URI Parameters
- businessId: required(string)
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "customer", "resource", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexamplePayerType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExamplePayerType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexamplePayerType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "payment.Payer:4857@base.url",
"uri": "http://base.url/open/campusapi/payment/payer/payment.Payer%3A4857%40base.url",
"displayName": "Display Name of this Payer",
"description": "The description of this Payer",
"genusTypeId": "type.Type:defaultPayerType@base.url",
"recordTypeIds": [ "type.Type:examplePayerRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"resourceId": "resource.Resource:5451@base.url",
"customerId": "billing.Customer:1981@base.url",
"usesActivity": true,
"usesCash": true,
"creditCardNumber": "101",
"creditCardExpiration": "2021-07-21T23:15:30.000Z",
"creditCardCode": "This is the string for CreditCardCode",
"bankRoutingNumber": "101",
"bankAccountNumber": "101"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Payer to this Business
Remove the given Payer from the Business.
put /businesses/{businessId}/payers/{payerId}
Add the given Payer to this Business
URI Parameters
- businessId: required(string)
- payerId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Payer 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": "Payer not found" }
delete /businesses/{businessId}/payers/{payerId}
Remove the given Payer from the Business.
URI Parameters
- businessId: required(string)
- payerId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Payer 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": "Payer not found" }
Get all Payments in this Business
get /businesses/{businessId}/payments
Get all Payments in this Business
URI Parameters
- businessId: required(string)
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
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "period", "payer", "customer", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexamplePaymentType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExamplePaymentType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexamplePaymentType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "payment.Payment:6445@base.url",
"uri": "http://base.url/open/campusapi/payment/payment/payment.Payment%3A6445%40base.url",
"displayName": "Display Name of this Payment",
"description": "The description of this Payment",
"genusTypeId": "type.Type:defaultPaymentType@base.url",
"recordTypeIds": [ "type.Type:examplePaymentRecordType@campusapi.org", "..."],
"payerId": "billing.payment.Payer:566@base.url",
"customerId": "billing.Customer:7869@base.url",
"periodId": "billing.Period:9651@base.url",
"paymentDate": "2021-07-21T23:15:30.000Z",
"processDate": "2021-07-21T23:15:30.000Z",
"amount": "USD+42.00"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Payment to this Business
Remove the given Payment from the Business.
put /businesses/{businessId}/payments/{paymentId}
Add the given Payment to this Business
URI Parameters
- businessId: required(string)
- paymentId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Payment 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": "Payment not found" }
delete /businesses/{businessId}/payments/{paymentId}
Remove the given Payment from the Business.
URI Parameters
- businessId: required(string)
- paymentId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Payment 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": "Payment not found" }