CampusAPI Journaling Services API documentation version 1.1.0
Based on OSID version 3.0.0
https://base.url
Overview
Journaling defines an auxiliary service to manage journals and journal entries for versioining.
This package includes the following entities:
JournalEntries
A journal entry represents a change to an object that can be in another package. The journal entry contains a time, a source Id and a version Id. The source Id is the principal identifier for the journaled object while the version Id can be used to retrieve a previous version of the object.
| Field | Description | Type |
|---|---|---|
| id(read‑only) | The unique id of this journal entry, provided by system. | string(osid‑id) |
| uri(read‑only) | The uri of this journal entry, provided by system. | string(uri) |
| displayName | The name of this journal entry for display. | string |
| description | The description of this journal entry. | string |
| genusTypeId (read‑only) | Id of the immutable type of this journal entry. Default type set by system unless specified in query parameter. | string(osid‑id) |
| recordTypeIds (read‑only) | Type Ids of record types available on this journal entry. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
| branchId (read‑only) | The branch associated with this journal entry. References a journaling.Branch object. | string(osid‑id) |
| sourceId (read‑only) | The source associated with this journal entry. References an id.Id object. | string(osid‑id) |
| versionId (read‑only) | The version Id of the journaled object. | string(osid‑id) |
| timestamp (read‑only) | The timestamp of this journal entry. | string(date‑time) |
| resourceId (read‑only) | The Id of the resource who created this entry. | string(osid‑id) |
| agenId (read‑only) | The Id of the agent who created this entry. | string(osid‑id) |
Branches
A Branch is a new version chain from an existing version chain.
| Field | Description | Type |
|---|---|---|
| id(read‑only) | The unique id of this branch, provided by system. | string(osid‑id) |
| uri(read‑only) | The uri of this branch, provided by system. | string(uri) |
| displayName | The name of this branch for display. | string |
| description | The description of this branch. | string |
| genusTypeId (read‑only) | Id of the immutable type of this branch. Default type set by system unless specified in query parameter. | string(osid‑id) |
| recordTypeIds (read‑only) | Type Ids of record types available on this branch. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
| active (read‑only) | Whether this branch is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
| enabled | Whether this branch is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
| disabled | Whether this branch is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
| operational (read‑only) | Whether this branch is operational. This branch is operational if any of the applied enablers are true. | boolean |
| journalEntryId (read‑only) | The journal entry associated with this branch. References a missing.MISSING object. | string(osid‑id) |
Journals
Journal entries can be categorized into Journals, which may also be organized into hierarchies for the purpose of federating journal entries.
| Field | Description | Type |
|---|---|---|
| id(read‑only) | The unique id of this journal, provided by system. | string(osid‑id) |
| uri(read‑only) | The uri of this journal, provided by system. | string(uri) |
| displayName | The name of this journal for display. | string |
| description | The description of this journal. | string |
| genusTypeId (read‑only) | Id of the immutable type of this journal. Default type set by system unless specified in query parameter. | string(osid‑id) |
| recordTypeIds (read‑only) | Type Ids of record types available on this journal. 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 journal. References a resource.Resource object. | string(osid‑id) |
| brandingIds | The branding of this journal. References repository.Asset objects. | string(osid‑id)[] |
| license | The licensing that applies to this journal. | string |
License
CampusAPI REST Definitions © 2025 by DXtera Institute - licensed under CC BY-ND 4.0 Based on the Open Service Interface Definitions: http://osid.org
/journaling/journal-entries
Collection of JournalEntries in a system, federation of systems, or in a default Journal.
Get all JournalEntries in the system or default Journal.
Create a new JournalEntry in the default Journal.
get /journaling/journal-entries
Get all JournalEntries in the system or default Journal.
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", "branch", "source", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all - keyword: (string)
The match string for keyword query
Example:
Hello%20World - displayName: (string)
The match string for displayName query
Example:
Hello%20World - description: (string)
The match string for description query
Example:
Hello%20World - genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleJournalEntryType%40dxtera.org - parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleJournalEntryType%40dxtera.org - recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleJournalEntryType%40campusapi.org - branchId: (string)
the id string to match a branch.
Example:
journaling.Branch%3A720%40base.url - sourceId: (string)
the id string to match a source.
Example:
resource.Resource%3A576%40base.url - fromDate: (string)
Get all journal-entries from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03 - toDate: (string)
Get all journal-entries up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18 - journalId: (string)
The id string to match a journal
Example:
journaling.Journal%3A8374%40base.url
HTTP status code 200
Headers
- x-total-count: required(number)
The total count of records currently available
Example:
152803
Body
Media type: application/json
Type: any
Example:
[
{
"id": "journaling.JournalEntry:2202@base.url",
"uri": "http://base.url/open/campusapi/journaling/journal_entry/journaling.JournalEntry%3A2202%40base.url",
"displayName": "Display Name of this JournalEntry",
"description": "The description of this JournalEntry",
"genusTypeId": "type.Type:defaultJournalEntryType@base.url",
"recordTypeIds": [ "type.Type:exampleJournalEntryRecordType@campusapi.org", "..."],
"branchId": "journaling.Branch:9326@base.url",
"sourceId": "id.Id:1034@base.url",
"versionId": "resource.Resource:7288@base.url",
"timestamp": "2020-10-03T08:00:00.000Z",
"resourceId": "resource.Resource:459@base.url",
"agentId": "authentication.Agent:jane_doe@example.edu"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /journaling/journal-entries
Create a new JournalEntry in the default Journal.
Query Parameters
- journalId: (string)
specify in which journal to create this journalEntry
Example:
journaling.Journal%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "JournalEntry",
"type": "object",
"required": ["branchId", "sourceId"],
"properties": {
"id": {
"description": "The unique id of this journal entry. This id is provided solely by the underlying implementation and is not set on POST and cannot be changed. An id included on POST will result in an error.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this journal entry. This URI is provided solely by the underlying implementation and is not set on POST and cannot be changed. A uri included on POST will result in an error.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this journal entry for display.",
"type": "string"
},
"description": {
"description": "The description of this journal entry.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this journal entry. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this journal entry. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"branchId": {
"description": "The branch associated with this journal entry.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"sourceId": {
"description": "The source associated with this journal entry.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"versionId": {
"description": "The version Id of the journaled object.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"timestamp": {
"description": "The timestamp of this journal entry.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"resourceId": {
"description": "The Id of the resource who created this entry.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"agentId": {
"description": "The Id of the agent who created this entry.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}Example:
{
"displayName": "Display Name of this JournalEntry",
"description": "The description of this JournalEntry",
"branchId": "journaling.Branch:6387@base.url",
"sourceId": "id.Id:7091@base.url"
}
Query the collection of JournalEntries in a system, federation of systems, or in a default journal by posting a Query object.
Submit a query using a JournalEntryQuery object.
post /journaling/journal-entries/journal-entry-query
Submit a query using a JournalEntryQuery 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", "branch", "source", 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": "JournalEntryQuery",
"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"
}
}
}
},
"matchSubjectIds": {
"description": "List of Ids to match an object with a relationships to the given subjects.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchBranchIds": {
"description": "List of branch Ids for this query to match journal entry that have a related branch.",
"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"
}
}
}
},
"matchSourceIds": {
"description": "List of source Ids for this query to match journal entry that have a related source.",
"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"
}
}
}
},
"matchVersionIds": {
"description": "List of Version Ids for this query to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchTimestamp": {
"description": "Matches Timestamps 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"
}
}
}
},
"matchResourceIds": {
"description": "List of Resource Ids for this query to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAgentIds": {
"description": "List of Agent Ids for this query to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchJournalIds": {
"description": "List of Journal Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"journalId": {
"description": "Journal id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"journalQueries": {
"description": "JournalQueries to match Journal. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "journal-query"
}
}
}
}Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "journaling.JournalEntry:2202@base.url",
"uri": "http://base.url/open/campusapi/journaling/journal_entry/journaling.JournalEntry%3A2202%40base.url",
"displayName": "Display Name of this JournalEntry",
"description": "The description of this JournalEntry",
"genusTypeId": "type.Type:defaultJournalEntryType@base.url",
"recordTypeIds": [ "type.Type:exampleJournalEntryRecordType@campusapi.org", "..."],
"branchId": "journaling.Branch:9326@base.url",
"sourceId": "id.Id:1034@base.url",
"versionId": "resource.Resource:7288@base.url",
"timestamp": "2020-10-03T08:00:00.000Z",
"resourceId": "resource.Resource:459@base.url",
"agentId": "authentication.Agent:jane_doe@example.edu"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Create multiple new JournalEntryBatch in the default Journal.
post /journaling/journal-entries/journal-entry-batch
Create multiple new JournalEntryBatch in the default Journal.
Query Parameters
- journalId: (string)
specify in which journal to create this journalEntry
Example:
journaling.Journal%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "JournalEntryBatch",
"type": "array",
"Items": {
"type": "journal-entry"
}
}Example:
[
{
"displayName": "Display Name of this JournalEntry",
"description": "The description of this JournalEntry"
},
{
"...": "..."
}
]
Entity representing a JournalEntry form metadata.
Get form metadata for creating a new JournalEntry.
get /journaling/journal-entries/metadata
Get form metadata for creating a new JournalEntry.
Query Parameters
- branchId: required(string)
the branch of this metadatum.
Example:
journaling.Branch%3A720%40base.url - sourceId: required(string)
the source of this metadatum.
Example:
resource.Resource%3A576%40base.url - genusType: (string)
specify a particular journalEntry type to create
Example:
type.Type%3AexampleJournalEntryType%40dxtera.org - recordType: (array of )
specify support for one or more journalEntry record types
Example:
[ "type.Type%3AexampleJournalEntryRecordType%40campusapi.org", "..." ] - journalId: (string)
specify in which journal to create this journalEntry
Example:
journaling.Journal%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": "JournalEntry",
"type": "object",
"required": ["branchId", "sourceId"],
"properties": {
"id": {
"description": "The unique id of this journal entry, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this journal entry, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this journal entry for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "JournalEntry.JournalEntry:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this journal entry",
"linked": false
},
"description": {
"description": "The description of this journal entry.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "JournalEntry.JournalEntry:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this journal entry",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this journal entry. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this journal entry. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a JournalEntry
Get a particular JournalEntry given its id.
Update a particular JournalEntry given its id.
Delete a particular JournalEntry given its id.
get /journaling/journal-entries/{journalEntryId}
Get a particular JournalEntry given its id.
URI Parameters
- journalEntryId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "branch", "source", 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": "journaling.JournalEntry:2202@base.url",
"uri": "http://base.url/open/campusapi/journaling/journal_entry/journaling.JournalEntry%3A2202%40base.url",
"displayName": "Display Name of this JournalEntry",
"description": "The description of this JournalEntry",
"genusTypeId": "type.Type:defaultJournalEntryType@base.url",
"recordTypeIds": [ "type.Type:exampleJournalEntryRecordType@campusapi.org", "..."],
"branchId": "journaling.Branch:9326@base.url",
"sourceId": "id.Id:1034@base.url",
"versionId": "resource.Resource:7288@base.url",
"timestamp": "2020-10-03T08:00:00.000Z",
"resourceId": "resource.Resource:459@base.url",
"agentId": "authentication.Agent:jane_doe@example.edu"
}
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": "JournalEntry not found" }
put /journaling/journal-entries/{journalEntryId}
Update a particular JournalEntry given its id.
URI Parameters
- journalEntryId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "JournalEntryItem",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this journal entry. This id is provided solely by the underlying implementation and is not set on POST and cannot be changed. An id included on POST will result in an error.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this journal entry. This URI is provided solely by the underlying implementation and is not set on POST and cannot be changed. A uri included on POST will result in an error.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this journal entry for display.",
"type": "string"
},
"description": {
"description": "The description of this journal entry.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this journal entry. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this journal entry. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"branchId": {
"description": "The branch associated with this journal entry.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"sourceId": {
"description": "The source associated with this journal entry.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}Example:
{
"displayName": "Display Name of this JournalEntry",
"description": "The description of this JournalEntry"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The JournalEntry 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": "JournalEntry not found" }
delete /journaling/journal-entries/{journalEntryId}
Delete a particular JournalEntry given its id.
URI Parameters
- journalEntryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The JournalEntry 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": "JournalEntry not found" }
Entity representing a JournalEntry form metadata for update
Get form metadata for updating an existing JournalEntry.
get /journaling/journal-entries/{journalEntryId}/metadata
Get form metadata for updating an existing JournalEntry.
URI Parameters
- journalEntryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "JournalEntry",
"type": "object",
"required": ["branchId", "sourceId"],
"properties": {
"id": {
"description": "The unique id of this journal entry, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this journal entry, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this journal entry for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "JournalEntry.JournalEntry:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this journal entry",
"linked": false
},
"description": {
"description": "The description of this journal entry.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "JournalEntry.JournalEntry:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this journal entry",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this journal entry. Default type set by system unless specified in query parameter on initial post.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"recordTypeIds": {
"description": "Type Ids of record types available on this journal entry. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
}
}
}
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": "journalEntry not found" }
/journaling/branches
Collection of Branches in a system, federation of systems, or in a default Journal.
Get all Branches in the system or default Journal.
Create a new Branch in the default Journal.
get /journaling/branches
Get all Branches in the system or default Journal.
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", "journalEntry", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all - keyword: (string)
The match string for keyword query
Example:
Hello%20World - displayName: (string)
The match string for displayName query
Example:
Hello%20World - description: (string)
The match string for description query
Example:
Hello%20World - genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleBranchType%40dxtera.org - parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleBranchType%40dxtera.org - recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleBranchType%40campusapi.org - originJournalEntryId: (string)
the id string to match a origin-journal-entry.
Example:
journaling.JournalEntry%3A1200%40base.url - journalId: (string)
The id string to match a journal
Example:
journaling.Journal%3A8374%40base.url
HTTP status code 200
Headers
- x-total-count: required(number)
The total count of records currently available
Example:
152803
Body
Media type: application/json
Type: any
Example:
[
{
"id": "journaling.Branch:366@base.url",
"uri": "http://base.url/open/campusapi/journaling/branch/journaling.Branch%3A366%40base.url",
"displayName": "Display Name of this Branch",
"description": "The description of this Branch",
"genusTypeId": "type.Type:defaultBranchType@base.url",
"recordTypeIds": [ "type.Type:exampleBranchRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"journalEntryId": ":417@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /journaling/branches
Create a new Branch in the default Journal.
Query Parameters
- journalId: (string)
specify in which journal to create this branch
Example:
journaling.Journal%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Branch",
"type": "object",
"required": ["journalEntryId"],
"properties": {
"id": {
"description": "The unique id of this branch. This id is provided solely by the underlying implementation and is not set on POST and cannot be changed. An id included on POST will result in an error.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this branch. This URI is provided solely by the underlying implementation and is not set on POST and cannot be changed. A uri included on POST will result in an error.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this branch for display.",
"type": "string"
},
"description": {
"description": "The description of this branch.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this branch. 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 branch. 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
},
"active": {
"description": "Whether this branch is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this branch is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this branch is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this branch is operational. This branch is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"journalEntryId": {
"description": "The journal entry associated with this branch.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}Example:
{
"displayName": "Display Name of this Branch",
"description": "The description of this Branch",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"journalEntryId": ":3633@base.url"
}
Query the collection of Branches in a system, federation of systems, or in a default journal by posting a Query object.
Submit a query using a BranchQuery object.
post /journaling/branches/branch-query
Submit a query using a BranchQuery 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", "journalEntry", 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": "BranchQuery",
"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"
}
}
}
},
"matchSubjectIds": {
"description": "List of Ids to match an object with a relationships to the given subjects.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchActive": {
"description": "Matches active. true to match active, false to match inactive",
"type": "boolean"
},
"matchEnabled": {
"description": "Matches administratively enabled. true to match administratively enabled, false otherwise",
"type": "boolean"
},
"matchDisabled": {
"description": "Matches administratively disabled. true to match administratively disabled, false otherwise",
"type": "boolean"
},
"matchOperational": {
"description": "Matches operational operables. true to match operational, false to match not operational",
"type": "boolean"
},
"matchJournalEntryIds": {
"description": "List of journalEntry Ids for this query to match branch that have a related journalEntry.",
"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"
}
}
}
},
"matchJournalIds": {
"description": "List of Journal Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"journalId": {
"description": "Journal id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"journalQueries": {
"description": "JournalQueries to match Journal. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "journal-query"
}
}
}
}Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "journaling.Branch:366@base.url",
"uri": "http://base.url/open/campusapi/journaling/branch/journaling.Branch%3A366%40base.url",
"displayName": "Display Name of this Branch",
"description": "The description of this Branch",
"genusTypeId": "type.Type:defaultBranchType@base.url",
"recordTypeIds": [ "type.Type:exampleBranchRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"journalEntryId": ":417@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Create multiple new BranchBatch in the default Journal.
post /journaling/branches/branch-batch
Create multiple new BranchBatch in the default Journal.
Query Parameters
- journalId: (string)
specify in which journal to create this branch
Example:
journaling.Journal%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "BranchBatch",
"type": "array",
"Items": {
"type": "branch"
}
}Example:
[
{
"displayName": "Display Name of this Branch",
"description": "The description of this Branch",
"active": true,
"enabled": true,
"disabled": false,
"operational": true
},
{
"...": "..."
}
]
Entity representing a Branch form metadata.
Get form metadata for creating a new Branch.
get /journaling/branches/metadata
Get form metadata for creating a new Branch.
Query Parameters
- originJournalEntryId: required(string)
the origin-journal-entry of this metadatum.
Example:
journaling.JournalEntry%3A1200%40base.url - genusType: (string)
specify a particular branch type to create
Example:
type.Type%3AexampleBranchType%40dxtera.org - recordType: (array of )
specify support for one or more branch record types
Example:
[ "type.Type%3AexampleBranchRecordType%40campusapi.org", "..." ] - journalId: (string)
specify in which journal to create this branch
Example:
journaling.Journal%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": "Branch",
"type": "object",
"required": ["journalEntryId"],
"properties": {
"id": {
"description": "The unique id of this branch, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this branch, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this branch for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Branch.Branch:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this branch",
"linked": false
},
"description": {
"description": "The description of this branch.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Branch.Branch:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this branch",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this branch. 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 branch. 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
},
"enabled": {
"description": "Whether this branch is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Branch.Branch:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this branch is enabled",
"linked": false
},
"disabled": {
"description": "Whether this branch is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Branch.Branch:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this branch is enabled",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Branch
Get a particular Branch given its id.
Update a particular Branch given its id.
Delete a particular Branch given its id.
get /journaling/branches/{branchId}
Get a particular Branch given its id.
URI Parameters
- branchId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "journalEntry", 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": "journaling.Branch:366@base.url",
"uri": "http://base.url/open/campusapi/journaling/branch/journaling.Branch%3A366%40base.url",
"displayName": "Display Name of this Branch",
"description": "The description of this Branch",
"genusTypeId": "type.Type:defaultBranchType@base.url",
"recordTypeIds": [ "type.Type:exampleBranchRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"journalEntryId": ":417@base.url"
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "Branch not found" }
put /journaling/branches/{branchId}
Update a particular Branch given its id.
URI Parameters
- branchId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "BranchItem",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this branch. This id is provided solely by the underlying implementation and is not set on POST and cannot be changed. An id included on POST will result in an error.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this branch. This URI is provided solely by the underlying implementation and is not set on POST and cannot be changed. A uri included on POST will result in an error.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this branch for display.",
"type": "string"
},
"description": {
"description": "The description of this branch.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this branch. 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 branch. 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
},
"active": {
"description": "Whether this branch is active. Active is true if operational is true and disabled is false, or enabled is true.",
"type": "boolean",
"readOnly": true
},
"enabled": {
"description": "Whether this branch is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this branch is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this branch is operational. This branch is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"journalEntryId": {
"description": "The journal entry associated with this branch.",
"type": "string",
"format": "osid-id",
"readOnly": true
}
}
}Example:
{
"displayName": "Display Name of this Branch",
"description": "The description of this Branch",
"active": true,
"enabled": true,
"disabled": false,
"operational": true
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Branch 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": "Branch not found" }
delete /journaling/branches/{branchId}
Delete a particular Branch given its id.
URI Parameters
- branchId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Branch 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": "Branch not found" }
Entity representing a Branch form metadata for update
Get form metadata for updating an existing Branch.
get /journaling/branches/{branchId}/metadata
Get form metadata for updating an existing Branch.
URI Parameters
- branchId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Branch",
"type": "object",
"required": ["journalEntryId"],
"properties": {
"id": {
"description": "The unique id of this branch, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this branch, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this branch for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Branch.Branch:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this branch",
"linked": false
},
"description": {
"description": "The description of this branch.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Branch.Branch:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this branch",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this branch. 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 branch. 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
},
"enabled": {
"description": "Whether this branch is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Branch.Branch:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this branch is enabled",
"linked": false
},
"disabled": {
"description": "Whether this branch is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Branch.Branch:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this branch is enabled",
"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": "branch not found" }
/journaling/journals
Collection of Journals in a system or federation of systems.
Get all Journals.
Create a new Journal.
get /journaling/journals
Get all Journals.
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 - keyword: (string)
The match string for keyword query
Example:
Hello%20World - displayName: (string)
The match string for displayName query
Example:
Hello%20World - description: (string)
The match string for description query
Example:
Hello%20World - genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleJournalType%40dxtera.org - parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleJournalType%40dxtera.org - recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleJournalType%40campusapi.org - providerId: (string)
Id string to match provider.
Example:
resource.Resource%3A3007%40demo.dxtera.org - journalEntryId: (string)
Get journals mapped to this journal-entry.
Example:
journaling.JournalEntry%3A910%40demo.dxtera.org - branchId: (string)
Get journals mapped to this branch.
Example:
journaling.Branch%3A420%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "journaling.Journal:3585@base.url",
"uri": "http://base.url/open/campusapi/journaling/journal/journaling.Journal%3A3585%40base.url",
"displayName": "Display Name of this Journal",
"description": "The description of this Journal",
"genusTypeId": "type.Type:defaultJournalType@base.url",
"recordTypeIds": [ "type.Type:exampleJournalRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Journal@base.url",
"license": "The license that applies to this Journal"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /journaling/journals
Create a new Journal.
Query Parameters
- genusType: (string)
specify a particular journal type to create
Example:
type.Type%3AexampleJournalType%40dxtera.org - recordType: (array of )
specify support for one or more journal record types
Example:
[ "type.Type%3AexampleJournalRecordType%40campusapi.org", "..." ]
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Journal",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this journal. This id is provided solely by the underlying implementation and is not set on POST and cannot be changed. An id included on POST will result in an error.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this journal. This URI is provided solely by the underlying implementation and is not set on POST and cannot be changed. A uri included on POST will result in an error.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this journal for display.",
"type": "string"
},
"description": {
"description": "The description of this journal.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this journal. 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 journal. 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 journal.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this journal. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this journal.",
"type": "string"
}
}
}Example:
{
"displayName": "Display Name of this Journal",
"description": "The description of this Journal",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Journal@base.url",
"license": "The license that applies to this Journal"
}
Query the collection of Journals in a system, federation of systems, or in a default journal by posting a Query object.
Submit a query using a JournalQuery object.
post /journaling/journals/journal-query
Submit a query using a JournalQuery 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", "provider", "branding", 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": "JournalQuery",
"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"
}
}
}
},
"matchSubjectIds": {
"description": "List of Ids to match an object with a relationships to the given subjects.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchJournalEntryIds": {
"description": "List of Ids match objects that have the given journal entries.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"journalEntryQueries": {
"description": "journaling.JournalEntryQueries to match journaling information. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "journal-entry-query"
}
},
"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": "providerQueries to match the provider. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "resource-query"
}
},
"matchAnyProvider": {
"description": "Match providers with any value. true to match Journal with any provider, false to match Journal 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.AssetQueries to match the branding. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "asset-query"
}
},
"matchAnyBranding": {
"description": "Match brandingss with any value. true to match Journal with any branding, false to match Journal 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"
}
}
}
},
"matchJournalIds": {
"description": "List of Journal Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"journalId": {
"description": "Journal id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"journalQueries": {
"description": "JournalQueries to match Journal. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "journal-query"
}
}
}
}Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "journaling.Journal:3585@base.url",
"uri": "http://base.url/open/campusapi/journaling/journal/journaling.Journal%3A3585%40base.url",
"displayName": "Display Name of this Journal",
"description": "The description of this Journal",
"genusTypeId": "type.Type:defaultJournalType@base.url",
"recordTypeIds": [ "type.Type:exampleJournalRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Journal@base.url",
"license": "The license that applies to this Journal"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Journal form metadata.
Get form metadata for creating a new Journal.
get /journaling/journals/metadata
Get form metadata for creating a new Journal.
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Journal",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this journal, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this journal, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this journal for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Journal.Journal:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this journal",
"linked": false
},
"description": {
"description": "The description of this journal.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Journal.Journal:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this journal",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this journal. 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 journal. 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 journal.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Journal.Journal:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this journal",
"linked": false
},
"brandingIds": {
"description": "The branding of this journal. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Journal.Journal:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this journal",
"linked": false
},
"license": {
"description": "The licensing that applies to this journal.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Journal.Journal:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this journal",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root Journals in the Journal hierarchy. A node with no parents is an orphan. While all Journal 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-journals
get /journaling/journals/root-journals
Get all root root-journals
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
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "journaling.Journal:3585@base.url",
"uri": "http://base.url/open/campusapi/journaling/journal/journaling.Journal%3A3585%40base.url",
"displayName": "Display Name of this Journal",
"description": "The description of this Journal",
"genusTypeId": "type.Type:defaultJournalType@base.url",
"recordTypeIds": [ "type.Type:exampleJournalRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Journal@base.url",
"license": "The license that applies to this Journal"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Journal as a root in the Journal hierarchy
Remove the given Journal as a root in the Journal hierarchy.
put /journaling/journals/root-journals/{journalId}
Add the given Journal as a root in the Journal hierarchy
URI Parameters
- journalId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Journal has been added as a root" }
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": "Journal not found" }
delete /journaling/journals/root-journals/{journalId}
Remove the given Journal as a root in the Journal hierarchy.
URI Parameters
- journalId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Journal has been removed as a root from 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": "Journal not found" }
Get parent Journals for the given Journal in the hierarchy.
get /journaling/journals/root-journals/parents
Get parent Journals for the given Journal in the hierarchy.
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
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "journaling.Journal:3585@base.url",
"uri": "http://base.url/open/campusapi/journaling/journal/journaling.Journal%3A3585%40base.url",
"displayName": "Display Name of this Journal",
"description": "The description of this Journal",
"genusTypeId": "type.Type:defaultJournalType@base.url",
"recordTypeIds": [ "type.Type:exampleJournalRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Journal@base.url",
"license": "The license that applies to this Journal"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Get child Journals for the given Journal in the hierarchy.
get /journaling/journals/root-journals/children
Get child Journals for the given Journal in the hierarchy.
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
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "journaling.Journal:3585@base.url",
"uri": "http://base.url/open/campusapi/journaling/journal/journaling.Journal%3A3585%40base.url",
"displayName": "Display Name of this Journal",
"description": "The description of this Journal",
"genusTypeId": "type.Type:defaultJournalType@base.url",
"recordTypeIds": [ "type.Type:exampleJournalRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Journal@base.url",
"license": "The license that applies to this Journal"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add Journal as child of the given Journal in the hierarchy.
Remove the given Journal as a child of the given Journal in the hierarchy.
put /journaling/journals/root-journals/children/{childId}
Add Journal as child of the given Journal in the hierarchy.
URI Parameters
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child Journal 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": "journal not found" }
delete /journaling/journals/root-journals/children/{childId}
Remove the given Journal as a child of the given Journal in the hierarchy.
Entity representing a Journal
Get a particular Journal given its id.
Update a particular Journal given its id.
Delete a particular Journal given its id.
get /journaling/journals/{journalId}
Get a particular Journal given its id.
URI Parameters
- journalId: required(string)
Query Parameters
- 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
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "journaling.Journal:3585@base.url",
"uri": "http://base.url/open/campusapi/journaling/journal/journaling.Journal%3A3585%40base.url",
"displayName": "Display Name of this Journal",
"description": "The description of this Journal",
"genusTypeId": "type.Type:defaultJournalType@base.url",
"recordTypeIds": [ "type.Type:exampleJournalRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Journal@base.url",
"license": "The license that applies to this Journal"
}
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": "Journal not found" }
put /journaling/journals/{journalId}
Update a particular Journal given its id.
URI Parameters
- journalId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "JournalItem",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this journal. This id is provided solely by the underlying implementation and is not set on POST and cannot be changed. An id included on POST will result in an error.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this journal. This URI is provided solely by the underlying implementation and is not set on POST and cannot be changed. A uri included on POST will result in an error.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this journal for display.",
"type": "string"
},
"description": {
"description": "The description of this journal.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this journal. 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 journal. 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 journal.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this journal. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this journal.",
"type": "string"
}
}
}Example:
{
"displayName": "Display Name of this Journal",
"description": "The description of this Journal",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Journal@base.url",
"license": "The license that applies to this Journal"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Journal 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": "Journal not found" }
delete /journaling/journals/{journalId}
Delete a particular Journal given its id.
URI Parameters
- journalId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Journal 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": "Journal not found" }
Entity representing a Journal form metadata for update
Get form metadata for updating an existing Journal.
get /journaling/journals/{journalId}/metadata
Get form metadata for updating an existing Journal.
URI Parameters
- journalId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Journal",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this journal, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this journal, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this journal for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Journal.Journal:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this journal",
"linked": false
},
"description": {
"description": "The description of this journal.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Journal.Journal:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this journal",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this journal. 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 journal. 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 journal.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Journal.Journal:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this journal",
"linked": false
},
"brandingIds": {
"description": "The branding of this journal. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Journal.Journal:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this journal",
"linked": false
},
"license": {
"description": "The licensing that applies to this journal.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Journal.Journal:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this journal",
"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": "journal not found" }
Get all JournalEntries in this Journal
get /journaling/journals/{journalId}/journal-entries
Get all JournalEntries in this Journal
URI Parameters
- journalId: 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", "branch", "source", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all - keyword: (string)
The match string for keyword query
Example:
Hello%20World - displayName: (string)
The match string for displayName query
Example:
Hello%20World - description: (string)
The match string for description query
Example:
Hello%20World - genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleJournalEntryType%40dxtera.org - parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleJournalEntryType%40dxtera.org - recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleJournalEntryType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "journaling.JournalEntry:2202@base.url",
"uri": "http://base.url/open/campusapi/journaling/journal_entry/journaling.JournalEntry%3A2202%40base.url",
"displayName": "Display Name of this JournalEntry",
"description": "The description of this JournalEntry",
"genusTypeId": "type.Type:defaultJournalEntryType@base.url",
"recordTypeIds": [ "type.Type:exampleJournalEntryRecordType@campusapi.org", "..."],
"branchId": "journaling.Branch:9326@base.url",
"sourceId": "id.Id:1034@base.url",
"versionId": "resource.Resource:7288@base.url",
"timestamp": "2020-10-03T08:00:00.000Z",
"resourceId": "resource.Resource:459@base.url",
"agentId": "authentication.Agent:jane_doe@example.edu"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given JournalEntry to this Journal
Remove the given JournalEntry from the Journal.
put /journaling/journals/{journalId}/journal-entries/{journalEntryId}
Add the given JournalEntry to this Journal
URI Parameters
- journalId: required(string)
- journalEntryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "JournalEntry has been added to Journal" }
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": "JournalEntry not found" }
delete /journaling/journals/{journalId}/journal-entries/{journalEntryId}
Remove the given JournalEntry from the Journal.
URI Parameters
- journalId: required(string)
- journalEntryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "JournalEntry 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": "JournalEntry not found" }
Define and inspect the JournalEntryQuery related to a "smart" Journal. A smart Journal is a dynamic Journal whose cataloged objects are defined through queries.
Apply the provided JournalEntryQuery to this Journal to create a dynamic smart Journal
Get the JournalEntryQuery associated with this smart Journal.
post /journaling/journals/{journalId}/journal-entry-query
Apply the provided JournalEntryQuery to this Journal to create a dynamic smart Journal
URI Parameters
- journalId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "JournalEntryQuery",
"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"
}
}
}
},
"matchSubjectIds": {
"description": "List of Ids to match an object with a relationships to the given subjects.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchBranchIds": {
"description": "List of branch Ids for this query to match journal entry that have a related branch.",
"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"
}
}
}
},
"matchSourceIds": {
"description": "List of source Ids for this query to match journal entry that have a related source.",
"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"
}
}
}
},
"matchVersionIds": {
"description": "List of Version Ids for this query to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchTimestamp": {
"description": "Matches Timestamps 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"
}
}
}
},
"matchResourceIds": {
"description": "List of Resource Ids for this query to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAgentIds": {
"description": "List of Agent Ids for this query to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchJournalIds": {
"description": "List of Journal Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"journalId": {
"description": "Journal id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"journalQueries": {
"description": "JournalQueries to match Journal. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "journal-query"
}
}
}
}Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}get /journaling/journals/{journalId}/journal-entry-query
Get the JournalEntryQuery associated with this smart Journal.
URI Parameters
- journalId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": 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": "Journal not found" }
Get all Branches in this Journal
get /journaling/journals/{journalId}/branches
Get all Branches in this Journal
URI Parameters
- journalId: 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", "journalEntry", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all - keyword: (string)
The match string for keyword query
Example:
Hello%20World - displayName: (string)
The match string for displayName query
Example:
Hello%20World - description: (string)
The match string for description query
Example:
Hello%20World - genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleBranchType%40dxtera.org - parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleBranchType%40dxtera.org - recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleBranchType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "journaling.Branch:366@base.url",
"uri": "http://base.url/open/campusapi/journaling/branch/journaling.Branch%3A366%40base.url",
"displayName": "Display Name of this Branch",
"description": "The description of this Branch",
"genusTypeId": "type.Type:defaultBranchType@base.url",
"recordTypeIds": [ "type.Type:exampleBranchRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"journalEntryId": ":417@base.url"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Branch to this Journal
Remove the given Branch from the Journal.
put /journaling/journals/{journalId}/branches/{branchId}
Add the given Branch to this Journal
URI Parameters
- journalId: required(string)
- branchId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Branch has been added to Journal" }
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": "Branch not found" }
delete /journaling/journals/{journalId}/branches/{branchId}
Remove the given Branch from the Journal.
URI Parameters
- journalId: required(string)
- branchId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Branch 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": "Branch not found" }
Define and inspect the BranchQuery related to a "smart" Journal. A smart Journal is a dynamic Journal whose cataloged objects are defined through queries.
Apply the provided BranchQuery to this Journal to create a dynamic smart Journal
Get the BranchQuery associated with this smart Journal.
post /journaling/journals/{journalId}/branch-query
Apply the provided BranchQuery to this Journal to create a dynamic smart Journal
URI Parameters
- journalId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "BranchQuery",
"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"
}
}
}
},
"matchSubjectIds": {
"description": "List of Ids to match an object with a relationships to the given subjects.",
"type": "array",
"items": {
"type": "object",
"properties": {
"sponsorId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchActive": {
"description": "Matches active. true to match active, false to match inactive",
"type": "boolean"
},
"matchEnabled": {
"description": "Matches administratively enabled. true to match administratively enabled, false otherwise",
"type": "boolean"
},
"matchDisabled": {
"description": "Matches administratively disabled. true to match administratively disabled, false otherwise",
"type": "boolean"
},
"matchOperational": {
"description": "Matches operational operables. true to match operational, false to match not operational",
"type": "boolean"
},
"matchJournalEntryIds": {
"description": "List of journalEntry Ids for this query to match branch that have a related journalEntry.",
"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"
}
}
}
},
"matchJournalIds": {
"description": "List of Journal Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"journalId": {
"description": "Journal id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"journalQueries": {
"description": "JournalQueries to match Journal. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "journal-query"
}
}
}
}Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}get /journaling/journals/{journalId}/branch-query
Get the BranchQuery associated with this smart Journal.
URI Parameters
- journalId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": 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": "Journal not found" }