CampusAPI Resourcing Services API documentation version 0.1.5
Based on OSID version 3.0.0
https://base.url/resourcing
Overview
The Resourcing service package provides a means for resourcing work. The Resourcing package works in conjunction with the Workflow, Learning, and Tracking packages to manage the assignment of Resources to Work as part an an overall work management system.
This package includes the following entities:
Jobs
A Job is a collection of Work that is performed on an ongoing basis. The distinction between a Job and Work is that Work is a specific instance of a task while the Job represents the overall goal and may be perpetual. For example, a construction project is a Job that has many project components. One of the project components is the installation of electrical panels throughout the building. Each electrical panel is a Work that requires a certain Competency. The Competency indicates that the installation needs to be performed by an electrician with a Proficiency in such installations.
A Job governs Work and the operation of matching Resources based on the Proficiencies of the Resource and the Competencies required by the Work.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this job, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this job, provided by system. | string(uri) |
displayName | The name of this job for display. | string |
description | The description of this job. | string |
genusTypeId (read‑only) | Id of the immutable type of this job. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this job. 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 job. References a resource.Resource object. | string(osid‑id) |
brandingIds | The branding of this job. References repository.Asset objects. | string(osid‑id)[] |
license | The licensing that applies to this job. | string |
active (read‑only) | Whether this job is active. Active is true if operational is true and disabled is false, or enabled is true. | boolean |
enabled | Whether this job is administravely enabled. Administratively enabling overrides any applied enabler. | boolean |
disabled | Whether this job is administravely disabled. Administratively disabling overrides any applied enabler. | boolean |
operational (read‑only) | Whether this job is operational. This job is operational if any of the applied enablers are true. | boolean |
competencyIds | The competencies. References an array of resourcing.Competency objects. | string(osid‑id)[] |
Works
Work is an abstract concept that represents a task that needs to be performed by workers. Workers may require a competency in order to perform the work.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this work, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this work, provided by system. | string(uri) |
displayName | The name of this work for display. | string |
description | The description of this work. | string |
genusTypeId (read‑only) | Id of the immutable type of this work. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this work. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
jobId (read‑only) | The job associated with this work. References a resourcing.Job object. | string(osid‑id) |
competencyIds | The competency. References an array of resourcing.Competency objects. | string(osid‑id)[] |
Competencies
A Competency is described as a set of learning Objectives. A worker meets the requirements of Work if the worker (Resource) has a Proficiency for the related learning Objectives managed in the Learning service package.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this competency, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this competency, provided by system. | string(uri) |
displayName | The name of this competency for display. | string |
description | The description of this competency. | string |
genusTypeId (read‑only) | Id of the immutable type of this competency. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this competency. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
Availabilities
Availability indicates the Resources available to assign to Work in a Job. An Availability is an relationship between a Resource and a Job qualified by a set of Competencies.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this availability, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this availability, provided by system. | string(uri) |
displayName | The name of this availability for display. | string |
description | The description of this availability. | string |
genusTypeId (read‑only) | Id of the immutable type of this availability. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this availability. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
startDate | The starting date of this availability. | string(date‑time) |
endDate | The ending date of this availability. | string(date‑time) |
endReasonId | The reason this availability ended. References a process.State object. | string(osid‑id) |
resourceId (read‑only) | The resource associated with this availability. References a resource.Resource object. | string(osid‑id) |
jobId (read‑only) | The job associated with this availability. References a resourcing.Job object. | string(osid‑id) |
competencyId | The competency. References a resourcing.Competency object | string(osid‑id) |
percentage | The percentage availability. | integer |
Commissions
A Commission is the assignment of a Resource to Work. A Commission is an relationship between a Resource and Work qualified by the Competency used.
Commissions may be assigned manually or automatically based on the rules of the Job. For example, a call center may route trouble tickets to a set of resources in second tier support based on the subject matter of the problem report. The trouble ticket is the Work within the Job of the call center. The subject matter is described as a required Competency and each resource in the second tier support group has a set of Proficiencies in various areas. The system selects the best Resource match optimizing the load distribution based on the Availability and the existing Commissions of the Resources.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this commission, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this commission, provided by system. | string(uri) |
displayName | The name of this commission for display. | string |
description | The description of this commission. | string |
genusTypeId (read‑only) | Id of the immutable type of this commission. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this commission. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
startDate | The starting date of this commission. | string(date‑time) |
endDate | The ending date of this commission. | string(date‑time) |
endReasonId | The reason this commission ended. References a process.State object. | string(osid‑id) |
resourceId (read‑only) | The resource associated with this commission. References a resource.Resource object. | string(osid‑id) |
workId (read‑only) | The work associated with this commission. References a resourcing.Work object. | string(osid‑id) |
competencyId | The competency. References a resourcing.Competency object | string(osid‑id) |
percentage | The percentage commitment. | integer |
Efforts
Effort tracks the effort expended by a Resource on Work. Effort is an relationship between a Resource and a Commission.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this effort, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this effort, provided by system. | string(uri) |
displayName | The name of this effort for display. | string |
description | The description of this effort. | string |
genusTypeId (read‑only) | Id of the immutable type of this effort. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this effort. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere. | string(osid‑id)[] |
startDate | The starting date of this effort. | string(date‑time) |
endDate | The ending date of this effort. | string(date‑time) |
endReasonId | The reason this effort ended. References a process.State object. | string(osid‑id) |
resourceId (read‑only) | The resource associated with this effort. References a resource.Resource object. | string(osid‑id) |
commissionId (read‑only) | The commission associated with this effort. References a resourcing.Commission object. | string(osid‑id) |
timeSpent | The time spent on this commission. | string(duration) |
Foundries
Jobs, Work, Competencies, Availabilities, Commissions, and Effort may be organized into federateable catalogs. A Foundry is the name for the Resourcing catalog.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this foundry, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this foundry, provided by system. | string(uri) |
displayName | The name of this foundry for display. | string |
description | The description of this foundry. | string |
genusTypeId (read‑only) | Id of the immutable type of this foundry. Default type set by system unless specified in query parameter. | string(osid‑id) |
recordTypeIds (read‑only) | Type Ids of record types available on this foundry. 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 foundry. References a resource.Resource object. | string(osid‑id) |
brandingIds | The branding of this foundry. References repository.Asset objects. | string(osid‑id)[] |
license | The licensing that applies to this foundry. | string |
License
CampusAPI REST Documentation Copyright 2023 DXtera Institute. Based on the Open Service Interface Definitions: http://osid.org
/jobs
Collection of Jobs in a system, federation of systems, or in a default Foundry.
Get all Jobs in the system or default Foundry.
Create a new Job in the default Foundry.
get /jobs
Get all Jobs in the system or default Foundry.
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", "competencies", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleJobType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleJobType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleJobType%40campusapi.org
- providerId: (string)
Id string to match provider.
Example:
resource.Resource%3A3690%40demo.dxtera.org
- foundryId: (string)
The id string to match a foundry
Example:
resourcing.Foundry%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Job:5388@base.url",
"uri": "http://base.url/open/campusapi/resourcing/job/resourcing.Job%3A5388%40base.url",
"displayName": "Display Name of this Job",
"description": "The description of this Job",
"genusTypeId": "type.Type:defaultJobType@base.url",
"recordTypeIds": [ "type.Type:exampleJobRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Job@base.url",
"license": "The license that applies to this Job",
"competencies": [ "resourcing.Competency:4484@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /jobs
Create a new Job in the default Foundry.
Query Parameters
- genusType: (string)
specify a particular job type to create
Example:
type.Type%3AexampleJobType%40dxtera.org
- recordType: (array of )
specify support for one or more job record types
Example:
[ "type.Type%3AexampleJobRecordType%40campusapi.org", "..." ]
- foundryId: (string)
specify in which foundry to create this job
Example:
resourcing.Foundry%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Job",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this job, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this job, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this job for display.",
"type": "string"
},
"description": {
"description": "The description of this job.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this job. 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 job. 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 job.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this job. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this job.",
"type": "string"
},
"active": {
"description": "Whether this job 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 job is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this job is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this job is operational. This job is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"competencyIds": {
"description": "The competencies.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this Job",
"description": "The description of this Job",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Job@base.url",
"license": "The license that applies to this Job",
"competencies": [ "resourcing.Competency:1839@base.url", "..." ]
}
Query the collection of Jobs in a system, federation of systems, or in a default foundry by posting a Query object.
Submit a query using a JobQuery object.
post /jobs/job-query
Submit a query using a JobQuery 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", "competencies", 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": "JobQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchProviderIds": {
"description": "List of provider Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"stateId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"providerQueries": {
"description": "resource.ResourceQuery for provider. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
},
"matchAnyProvider": {
"description": "Match providers with any value. true to match Job with any provider, false to match Job with no provider",
"type": "boolean"
}
},
"matchBrandingIds": {
"description": "List of branding asset Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"stateId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"brandingQueries": {
"description": "repository.AssetQuery for branding. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyBranding": {
"description": "Match brandingss with any value. true to match Job with any branding, false to match Job 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"
}
}
}
},
"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"
},
"matchCompetencyIds": {
"description": "List of Competency Ids for this query to match competencies.",
"type": "array",
"items": {
"type": "object",
"properties": {
"competencyId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"competencyQueries": {
"description": "resourcing.CompetencyQueries to match the Competencies. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyCompetency": {
"description": "Match competencies with any value. true to match Jobs with any competencies, false to match Jobs with no competencies",
"type": "boolean"
},
"matchFoundryIds": {
"description": "List of Foundry Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"foundryId": {
"description": "Foundry id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"foundryQueries": {
"description": "FoundryQueries to match Foundry. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Job:5388@base.url",
"uri": "http://base.url/open/campusapi/resourcing/job/resourcing.Job%3A5388%40base.url",
"displayName": "Display Name of this Job",
"description": "The description of this Job",
"genusTypeId": "type.Type:defaultJobType@base.url",
"recordTypeIds": [ "type.Type:exampleJobRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Job@base.url",
"license": "The license that applies to this Job",
"competencies": [ "resourcing.Competency:4484@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Job form metadata.
Get form metadata for creating a new Job.
get /jobs/metadata
Get form metadata for creating a new Job.
Query Parameters
- genusType: (string)
specify a particular job type to create
Example:
type.Type%3AexampleJobType%40dxtera.org
- recordType: (array of )
specify support for one or more job record types
Example:
[ "type.Type%3AexampleJobRecordType%40campusapi.org", "..." ]
- foundryId: (string)
specify in which foundry to create this job
Example:
resourcing.Foundry%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": "Job",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this job, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this job, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this job for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Job.Job:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this job",
"linked": false
},
"description": {
"description": "The description of this job.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Job.Job:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this job",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this job. 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 job. 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 job.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Job.Job:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this job",
"linked": false
},
"brandingIds": {
"description": "The branding of this job. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Job.Job:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this job",
"linked": false
},
"license": {
"description": "The licensing that applies to this job.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Job.Job:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this job",
"linked": false
},
"enabled": {
"description": "Whether this job is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Job.Job:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this job is enabled",
"linked": false
},
"disabled": {
"description": "Whether this job is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Job.Job:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this job is enabled",
"linked": false
},
"competencies": {
"description": "The competencies.",
"type": "array",
"elementId": "resourcing.Job:competencies@dxtera.org",
"existingValue": [],
"elementLabel": "Competencies",
"instructions": "Enter Ids for competencies of this job.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Job
Get a particular Job given its id.
Update a particular Job given its id.
Delete a particular Job given its id.
get /jobs/{jobId}
Get a particular Job given its id.
URI Parameters
- jobId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "competencies", 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": "resourcing.Job:5388@base.url",
"uri": "http://base.url/open/campusapi/resourcing/job/resourcing.Job%3A5388%40base.url",
"displayName": "Display Name of this Job",
"description": "The description of this Job",
"genusTypeId": "type.Type:defaultJobType@base.url",
"recordTypeIds": [ "type.Type:exampleJobRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Job@base.url",
"license": "The license that applies to this Job",
"competencies": [ "resourcing.Competency:4484@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": "Job not found" }
put /jobs/{jobId}
Update a particular Job given its id.
URI Parameters
- jobId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Job",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this job, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this job, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this job for display.",
"type": "string"
},
"description": {
"description": "The description of this job.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this job. 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 job. 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 job.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this job. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this job.",
"type": "string"
},
"active": {
"description": "Whether this job 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 job is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"disabled": {
"description": "Whether this job is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean"
},
"operational": {
"description": "Whether this job is operational. This job is operational if any of the applied enablers are true.",
"type": "boolean",
"readOnly": true
},
"competencyIds": {
"description": "The competencies.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this Job",
"description": "The description of this Job",
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Job@base.url",
"license": "The license that applies to this Job",
"competencies": [ "resourcing.Competency:1839@base.url", "..." ]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Job 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": "Job not found" }
delete /jobs/{jobId}
Delete a particular Job given its id.
URI Parameters
- jobId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Job 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": "Job not found" }
Entity representing a Job form metadata for update
Get form metadata for updating an existing Job.
get /jobs/{jobId}/metadata
Get form metadata for updating an existing Job.
URI Parameters
- jobId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Job",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this job, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this job, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this job for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Job.Job:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this job",
"linked": false
},
"description": {
"description": "The description of this job.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Job.Job:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this job",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this job. 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 job. 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 job.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Job.Job:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this job",
"linked": false
},
"brandingIds": {
"description": "The branding of this job. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Job.Job:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this job",
"linked": false
},
"license": {
"description": "The licensing that applies to this job.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Job.Job:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this job",
"linked": false
},
"enabled": {
"description": "Whether this job is administravely enabled. Administratively enabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Job.Job:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this job is enabled",
"linked": false
},
"disabled": {
"description": "Whether this job is administravely disabled. Administratively disabling overrides any applied enabler.",
"type": "boolean",
"read-only": false,
"elementId": "Job.Job:enabled@base.url",
"existingValue": false,
"elementLabel": "Enabled",
"instructions": "Enter whether this job is enabled",
"linked": false
},
"competencies": {
"description": "The competencies.",
"type": "array",
"elementId": "resourcing.Job:competencies@dxtera.org",
"existingValue": [],
"elementLabel": "Competencies",
"instructions": "Enter Ids for competencies of this job.",
"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": "job not found" }
/works
Collection of Works in a system, federation of systems, or in a default Foundry.
Get all Works in the system or default Foundry.
Create a new Work in the default Foundry.
get /works
Get all Works in the system or default Foundry.
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", "competencies", "job", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleWorkType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleWorkType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleWorkType%40campusapi.org
- jobId: (string)
the id string to match a job.
Example:
resourcing.Job%3A120%40base.url
- foundryId: (string)
The id string to match a foundry
Example:
resourcing.Foundry%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Work:9932@base.url",
"uri": "http://base.url/open/campusapi/resourcing/work/resourcing.Work%3A9932%40base.url",
"displayName": "Display Name of this Work",
"description": "The description of this Work",
"genusTypeId": "type.Type:defaultWorkType@base.url",
"recordTypeIds": [ "type.Type:exampleWorkRecordType@campusapi.org", "..."],
"jobId": "resourcing.Job:6639@base.url",
"competencies": [ "resourcing.Competency:4442@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /works
Create a new Work in the default Foundry.
Query Parameters
- jobId: required(string)
the job of this work.
Example:
resourcing.Job%3A120%40base.url
- genusType: (string)
specify a particular work type to create
Example:
type.Type%3AexampleWorkType%40dxtera.org
- recordType: (array of )
specify support for one or more work record types
Example:
[ "type.Type%3AexampleWorkRecordType%40campusapi.org", "..." ]
- foundryId: (string)
specify in which foundry to create this work
Example:
resourcing.Foundry%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Work",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this work, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this work, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this work for display.",
"type": "string"
},
"description": {
"description": "The description of this work.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this work. 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 work. 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
},
"jobId": {
"description": "The job associated with this work.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"competencyIds": {
"description": "The competency.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this Work",
"description": "The description of this Work",
"competencies": [ "resourcing.Competency:9248@base.url", "..." ]
}
Query the collection of Works in a system, federation of systems, or in a default foundry by posting a Query object.
Submit a query using a WorkQuery object.
post /works/work-query
Submit a query using a WorkQuery 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", "competencies", "job", 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": "WorkQuery",
"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"
}
}
}
},
"matchJobIds": {
"description": "List of job Ids for this query to match work that have a related job.",
"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"
}
}
}
},
"jobQueries": {
"description": "JobQueries to match the job. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchCompetencyIds": {
"description": "List of Competency Ids for this query to match competencies.",
"type": "array",
"items": {
"type": "object",
"properties": {
"competencyId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"competencyQueries": {
"description": "resourcing.CompetencyQueries to match the Competencies. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyCompetency": {
"description": "Match competencies with any value. true to match Works with any competencies, false to match Works with no competencies",
"type": "boolean"
},
"matchFoundryIds": {
"description": "List of Foundry Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"foundryId": {
"description": "Foundry id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"foundryQueries": {
"description": "FoundryQueries to match Foundry. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Work:9932@base.url",
"uri": "http://base.url/open/campusapi/resourcing/work/resourcing.Work%3A9932%40base.url",
"displayName": "Display Name of this Work",
"description": "The description of this Work",
"genusTypeId": "type.Type:defaultWorkType@base.url",
"recordTypeIds": [ "type.Type:exampleWorkRecordType@campusapi.org", "..."],
"jobId": "resourcing.Job:6639@base.url",
"competencies": [ "resourcing.Competency:4442@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Work form metadata.
Get form metadata for creating a new Work.
get /works/metadata
Get form metadata for creating a new Work.
Query Parameters
- jobId: required(string)
the job of this metadatum.
Example:
resourcing.Job%3A120%40base.url
- genusType: (string)
specify a particular work type to create
Example:
type.Type%3AexampleWorkType%40dxtera.org
- recordType: (array of )
specify support for one or more work record types
Example:
[ "type.Type%3AexampleWorkRecordType%40campusapi.org", "..." ]
- foundryId: (string)
specify in which foundry to create this work
Example:
resourcing.Foundry%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": "Work",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this work, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this work, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this work for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Work.Work:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this work",
"linked": false
},
"description": {
"description": "The description of this work.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Work.Work:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this work",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this work. 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 work. 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
},
"competencies": {
"description": "The competency.",
"type": "array",
"elementId": "resourcing.Work:competencies@dxtera.org",
"existingValue": [],
"elementLabel": "Competencies",
"instructions": "Enter Ids for competencies of this work.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Work
Get a particular Work given its id.
Update a particular Work given its id.
Delete a particular Work given its id.
get /works/{workId}
Get a particular Work given its id.
URI Parameters
- workId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "competencies", "job", 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": "resourcing.Work:9932@base.url",
"uri": "http://base.url/open/campusapi/resourcing/work/resourcing.Work%3A9932%40base.url",
"displayName": "Display Name of this Work",
"description": "The description of this Work",
"genusTypeId": "type.Type:defaultWorkType@base.url",
"recordTypeIds": [ "type.Type:exampleWorkRecordType@campusapi.org", "..."],
"jobId": "resourcing.Job:6639@base.url",
"competencies": [ "resourcing.Competency:4442@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": "Work not found" }
put /works/{workId}
Update a particular Work given its id.
URI Parameters
- workId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Work",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this work, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this work, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this work for display.",
"type": "string"
},
"description": {
"description": "The description of this work.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this work. 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 work. 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
},
"jobId": {
"description": "The job associated with this work.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"competencyIds": {
"description": "The competency.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
}
}
}
}
Example:
{
"displayName": "Display Name of this Work",
"description": "The description of this Work",
"competencies": [ "resourcing.Competency:9248@base.url", "..." ]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Work 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": "Work not found" }
delete /works/{workId}
Delete a particular Work given its id.
URI Parameters
- workId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Work 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": "Work not found" }
Entity representing a Work form metadata for update
Get form metadata for updating an existing Work.
get /works/{workId}/metadata
Get form metadata for updating an existing Work.
URI Parameters
- workId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Work",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this work, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this work, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this work for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Work.Work:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this work",
"linked": false
},
"description": {
"description": "The description of this work.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Work.Work:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this work",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this work. 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 work. 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
},
"competencies": {
"description": "The competency.",
"type": "array",
"elementId": "resourcing.Work:competencies@dxtera.org",
"existingValue": [],
"elementLabel": "Competencies",
"instructions": "Enter Ids for competencies of this work.",
"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": "work not found" }
/competencies
Collection of Competencies in a system, federation of systems, or in a default Foundry.
Get all Competencies in the system or default Foundry.
Create a new Competency in the default Foundry.
get /competencies
Get all Competencies in the system or default Foundry.
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", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleCompetencyType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCompetencyType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCompetencyType%40campusapi.org
- foundryId: (string)
The id string to match a foundry
Example:
resourcing.Foundry%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Competency:3595@base.url",
"uri": "http://base.url/open/campusapi/resourcing/competency/resourcing.Competency%3A3595%40base.url",
"displayName": "Display Name of this Competency",
"description": "The description of this Competency",
"genusTypeId": "type.Type:defaultCompetencyType@base.url",
"recordTypeIds": [ "type.Type:exampleCompetencyRecordType@campusapi.org", "..."]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /competencies
Create a new Competency in the default Foundry.
Query Parameters
- genusType: (string)
specify a particular competency type to create
Example:
type.Type%3AexampleCompetencyType%40dxtera.org
- recordType: (array of )
specify support for one or more competency record types
Example:
[ "type.Type%3AexampleCompetencyRecordType%40campusapi.org", "..." ]
- foundryId: (string)
specify in which foundry to create this competency
Example:
resourcing.Foundry%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Competency",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this competency, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this competency, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this competency for display.",
"type": "string"
},
"description": {
"description": "The description of this competency.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this competency. 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 competency. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this Competency",
"description": "The description of this Competency"
}
Query the collection of Competencies in a system, federation of systems, or in a default foundry by posting a Query object.
Submit a query using a CompetencyQuery object.
post /competencies/competency-query
Submit a query using a CompetencyQuery 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", 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": "CompetencyQuery",
"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"
}
}
}
},
"matchFoundryIds": {
"description": "List of Foundry Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"foundryId": {
"description": "Foundry id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"foundryQueries": {
"description": "FoundryQueries to match Foundry. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Competency:3595@base.url",
"uri": "http://base.url/open/campusapi/resourcing/competency/resourcing.Competency%3A3595%40base.url",
"displayName": "Display Name of this Competency",
"description": "The description of this Competency",
"genusTypeId": "type.Type:defaultCompetencyType@base.url",
"recordTypeIds": [ "type.Type:exampleCompetencyRecordType@campusapi.org", "..."]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Competency form metadata.
Get form metadata for creating a new Competency.
get /competencies/metadata
Get form metadata for creating a new Competency.
Query Parameters
- genusType: (string)
specify a particular competency type to create
Example:
type.Type%3AexampleCompetencyType%40dxtera.org
- recordType: (array of )
specify support for one or more competency record types
Example:
[ "type.Type%3AexampleCompetencyRecordType%40campusapi.org", "..." ]
- foundryId: (string)
specify in which foundry to create this competency
Example:
resourcing.Foundry%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": "Competency",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this competency, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this competency, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this competency for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Competency.Competency:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this competency",
"linked": false
},
"description": {
"description": "The description of this competency.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Competency.Competency:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this competency",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this competency. 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 competency. 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 Competency
Get a particular Competency given its id.
Update a particular Competency given its id.
Delete a particular Competency given its id.
get /competencies/{competencyId}
Get a particular Competency given its id.
URI Parameters
- competencyId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", 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": "resourcing.Competency:3595@base.url",
"uri": "http://base.url/open/campusapi/resourcing/competency/resourcing.Competency%3A3595%40base.url",
"displayName": "Display Name of this Competency",
"description": "The description of this Competency",
"genusTypeId": "type.Type:defaultCompetencyType@base.url",
"recordTypeIds": [ "type.Type:exampleCompetencyRecordType@campusapi.org", "..."]
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "Competency not found" }
put /competencies/{competencyId}
Update a particular Competency given its id.
URI Parameters
- competencyId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Competency",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this competency, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this competency, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this competency for display.",
"type": "string"
},
"description": {
"description": "The description of this competency.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this competency. 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 competency. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
}
}
}
Example:
{
"displayName": "Display Name of this Competency",
"description": "The description of this Competency"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Competency 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": "Competency not found" }
delete /competencies/{competencyId}
Delete a particular Competency given its id.
URI Parameters
- competencyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Competency 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": "Competency not found" }
Entity representing a Competency form metadata for update
Get form metadata for updating an existing Competency.
get /competencies/{competencyId}/metadata
Get form metadata for updating an existing Competency.
URI Parameters
- competencyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Competency",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this competency, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this competency, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this competency for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Competency.Competency:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this competency",
"linked": false
},
"description": {
"description": "The description of this competency.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Competency.Competency:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this competency",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this competency. 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 competency. 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": "competency not found" }
/availabilities
Collection of Availabilities in a system, federation of systems, or in a default Foundry.
Get all Availabilities in the system or default Foundry.
Create a new Availability in the default Foundry.
get /availabilities
Get all Availabilities in the system or default Foundry.
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", "endReason", "competency", "resource", "job", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleAvailabilityType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleAvailabilityType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleAvailabilityType%40campusapi.org
- fromDate: (string)
Get all availabilities from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all availabilities up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- resourceId: (string)
the id string to match a resource.
Example:
resource.Resource%3A768%40base.url
- jobId: (string)
the id string to match a job.
Example:
resourcing.Job%3A360%40base.url
- foundryId: (string)
The id string to match a foundry
Example:
resourcing.Foundry%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Availability:884@base.url",
"uri": "http://base.url/open/campusapi/resourcing/availability/resourcing.Availability%3A884%40base.url",
"displayName": "Display Name of this Availability",
"description": "The description of this Availability",
"genusTypeId": "type.Type:defaultAvailabilityType@base.url",
"recordTypeIds": [ "type.Type:exampleAvailabilityRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:884@base.url",
"resourceId": "resource.Resource:8332@base.url",
"jobId": "resourcing.Job:1801@base.url",
"competencyId": "resourcing.Competency:9832@base.url",
"percentage": 19
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /availabilities
Create a new Availability in the default Foundry.
Query Parameters
- resourceId: required(string)
the resource of this availability.
Example:
resource.Resource%3A768%40base.url
- jobId: required(string)
the job of this availability.
Example:
resourcing.Job%3A360%40base.url
- genusType: (string)
specify a particular availability type to create
Example:
type.Type%3AexampleAvailabilityType%40dxtera.org
- recordType: (array of )
specify support for one or more availability record types
Example:
[ "type.Type%3AexampleAvailabilityRecordType%40campusapi.org", "..." ]
- foundryId: (string)
specify in which foundry to create this availability
Example:
resourcing.Foundry%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Availability",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this availability, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this availability, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this availability for display.",
"type": "string"
},
"description": {
"description": "The description of this availability.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this availability. 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 availability. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this availability.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this availability.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this availability ended.",
"type": "string",
"format": "osid-id"
},
"resourceId": {
"description": "The resource associated with this availability.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"jobId": {
"description": "The job associated with this availability.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"competencyId": {
"description": "The competency.",
"type": "string",
"format": "osid-id"
},
"percentage": {
"description": "The percentage availability.",
"type": "integer",
"minimum": 1
}
}
}
Example:
{
"displayName": "Display Name of this Availability",
"description": "The description of this Availability",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:4498@base.url",
"competencyId": "resourcing.Competency:8945@base.url",
"percentage": 19
}
Query the collection of Availabilities in a system, federation of systems, or in a default foundry by posting a Query object.
Submit a query using a AvailabilityQuery object.
post /availabilities/availability-query
Submit a query using a AvailabilityQuery 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", "endReason", "competency", "resource", "job", 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": "AvailabilityQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchEffective": {
"description": "Match effective objects where the current date falls within the start and end dates inclusive. true to match any effective, false to match ineffective",
"type": "boolean"
},
"matchStartDate": {
"description": "Matches temporals whose start date falls in between the given dates inclusive.",
"type": "object",
"properties": {
"start": {
"description": "start of date range",
"type": "string",
"format": "date-time"
},
"end": {
"description": "end of date range",
"type": "string",
"format": "date-time"
},
"match": {
"description": "true if a positive match, false for negative match",
"type": "boolean"
}
}
},
"matchEndDate": {
"description": "Matches temporals whose end date falls in between the given dates inclusive.",
"type": "object",
"properties": {
"start": {
"description": "start of date range",
"type": "string",
"format": "date-time"
},
"end": {
"description": "end of date range",
"type": "string",
"format": "date-time"
},
"match": {
"description": "true if a positive match, false for negative match",
"type": "boolean"
}
}
},
"matchEndReasonIds": {
"description": "List of end reason Id's 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"
}
}
}
},
"endReasonQueries": {
"description": "process.StateQueries to match end reason state. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyEndReason": {
"description": "Match end reasons with any value. true to match Availabilities with any end reason, false to match Availabilities with no end reason",
"type": "boolean"
},
"matchResourceIds": {
"description": "List of resource Ids for this query to match availability that have a related resource.",
"type": "array",
"items": {
"type": "object",
"properties": {
"ruleId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"resourceQueries": {
"description": "ResourceQueries to match the resource. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchJobIds": {
"description": "List of job Ids for this query to match availability that have a related job.",
"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"
}
}
}
},
"jobQueries": {
"description": "JobQueries to match the job. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchCompetencyIds": {
"description": "List of Competency Ids for this query to match competency.",
"type": "array",
"items": {
"type": "object",
"properties": {
"competencyId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"competencyQueries": {
"description": "resourcing.CompetencyQueries to match the Competency. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyCompetency": {
"description": "Match competency with any value. true to match Availabilities with any competency, false to match Availabilities with no competency",
"type": "boolean"
},
"matchPercentage": {
"description": "Match Availabilities with percentages between the given integers inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"min": {
"description": "low number",
"type": "integer"
},
"max": {
"description": "high number",
"type": "integer"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyPercentage": {
"description": "Match percentages with any value. true to match Availabilities with any percentage, false to match ProgramOfferings with no percentage",
"type": "boolean"
},
"matchFoundryIds": {
"description": "List of Foundry Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"foundryId": {
"description": "Foundry id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"foundryQueries": {
"description": "FoundryQueries to match Foundry. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Availability:884@base.url",
"uri": "http://base.url/open/campusapi/resourcing/availability/resourcing.Availability%3A884%40base.url",
"displayName": "Display Name of this Availability",
"description": "The description of this Availability",
"genusTypeId": "type.Type:defaultAvailabilityType@base.url",
"recordTypeIds": [ "type.Type:exampleAvailabilityRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:884@base.url",
"resourceId": "resource.Resource:8332@base.url",
"jobId": "resourcing.Job:1801@base.url",
"competencyId": "resourcing.Competency:9832@base.url",
"percentage": 19
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Availability form metadata.
Get form metadata for creating a new Availability.
get /availabilities/metadata
Get form metadata for creating a new Availability.
Query Parameters
- resourceId: required(string)
the resource of this metadatum.
Example:
resource.Resource%3A768%40base.url
- jobId: required(string)
the job of this metadatum.
Example:
resourcing.Job%3A360%40base.url
- genusType: (string)
specify a particular availability type to create
Example:
type.Type%3AexampleAvailabilityType%40dxtera.org
- recordType: (array of )
specify support for one or more availability record types
Example:
[ "type.Type%3AexampleAvailabilityRecordType%40campusapi.org", "..." ]
- foundryId: (string)
specify in which foundry to create this availability
Example:
resourcing.Foundry%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": "Availability",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this availability, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this availability, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this availability for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Availability.Availability:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this availability",
"linked": false
},
"description": {
"description": "The description of this availability.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Availability.Availability:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this availability",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this availability. 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 availability. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this availability.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Availability.Availability:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this availability",
"linked": false
},
"endDate": {
"description": "The ending date of this availability.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Availability.Availability:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this availability",
"linked": false
},
"endReasonId": {
"description": "The reason this availability ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Availability.Availability:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this availability ended",
"linked": false
},
"competencyId": {
"description": "The competency.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "resourcing.Availability:competency@dxtera.org",
"existingValue": null,
"elementLabel": "Competency",
"instructions": "Enter the Id of the competency for this availability.",
"linked": false
},
"percentage": {
"description": "The percentage availability.",
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "resourcing.Availability:percentage@dxtera.org",
"existingValue": 42,
"elementLabel": "Percentage",
"instructions": "Enter the percentage of this availability.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Availability
Get a particular Availability given its id.
Update a particular Availability given its id.
Delete a particular Availability given its id.
get /availabilities/{availabilityId}
Get a particular Availability given its id.
URI Parameters
- availabilityId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "endReason", "competency", "resource", "job", 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": "resourcing.Availability:884@base.url",
"uri": "http://base.url/open/campusapi/resourcing/availability/resourcing.Availability%3A884%40base.url",
"displayName": "Display Name of this Availability",
"description": "The description of this Availability",
"genusTypeId": "type.Type:defaultAvailabilityType@base.url",
"recordTypeIds": [ "type.Type:exampleAvailabilityRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:884@base.url",
"resourceId": "resource.Resource:8332@base.url",
"jobId": "resourcing.Job:1801@base.url",
"competencyId": "resourcing.Competency:9832@base.url",
"percentage": 19
}
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": "Availability not found" }
put /availabilities/{availabilityId}
Update a particular Availability given its id.
URI Parameters
- availabilityId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Availability",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this availability, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this availability, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this availability for display.",
"type": "string"
},
"description": {
"description": "The description of this availability.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this availability. 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 availability. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this availability.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this availability.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this availability ended.",
"type": "string",
"format": "osid-id"
},
"resourceId": {
"description": "The resource associated with this availability.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"jobId": {
"description": "The job associated with this availability.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"competencyId": {
"description": "The competency.",
"type": "string",
"format": "osid-id"
},
"percentage": {
"description": "The percentage availability.",
"type": "integer",
"minimum": 1
}
}
}
Example:
{
"displayName": "Display Name of this Availability",
"description": "The description of this Availability",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:4498@base.url",
"competencyId": "resourcing.Competency:8945@base.url",
"percentage": 19
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Availability 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": "Availability not found" }
delete /availabilities/{availabilityId}
Delete a particular Availability given its id.
URI Parameters
- availabilityId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Availability 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": "Availability not found" }
Entity representing a Availability form metadata for update
Get form metadata for updating an existing Availability.
get /availabilities/{availabilityId}/metadata
Get form metadata for updating an existing Availability.
URI Parameters
- availabilityId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Availability",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this availability, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this availability, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this availability for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Availability.Availability:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this availability",
"linked": false
},
"description": {
"description": "The description of this availability.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Availability.Availability:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this availability",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this availability. 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 availability. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this availability.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Availability.Availability:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this availability",
"linked": false
},
"endDate": {
"description": "The ending date of this availability.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Availability.Availability:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this availability",
"linked": false
},
"endReasonId": {
"description": "The reason this availability ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Availability.Availability:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this availability ended",
"linked": false
},
"competencyId": {
"description": "The competency.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "resourcing.Availability:competency@dxtera.org",
"existingValue": null,
"elementLabel": "Competency",
"instructions": "Enter the Id of the competency for this availability.",
"linked": false
},
"percentage": {
"description": "The percentage availability.",
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "resourcing.Availability:percentage@dxtera.org",
"existingValue": 42,
"elementLabel": "Percentage",
"instructions": "Enter the percentage of this availability.",
"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": "availability not found" }
/commissions
Collection of Commissions in a system, federation of systems, or in a default Foundry.
Get all Commissions in the system or default Foundry.
Create a new Commission in the default Foundry.
get /commissions
Get all Commissions in the system or default Foundry.
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", "endReason", "competency", "resource", "work", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleCommissionType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCommissionType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCommissionType%40campusapi.org
- fromDate: (string)
Get all commissions from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all commissions up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- resourceId: (string)
the id string to match a resource.
Example:
resource.Resource%3A640%40base.url
- workId: (string)
the id string to match a work.
Example:
resourcing.Work%3A400%40base.url
- foundryId: (string)
The id string to match a foundry
Example:
resourcing.Foundry%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Commission:7754@base.url",
"uri": "http://base.url/open/campusapi/resourcing/commission/resourcing.Commission%3A7754%40base.url",
"displayName": "Display Name of this Commission",
"description": "The description of this Commission",
"genusTypeId": "type.Type:defaultCommissionType@base.url",
"recordTypeIds": [ "type.Type:exampleCommissionRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7754@base.url",
"resourceId": "resource.Resource:6608@base.url",
"workId": "resourcing.Work:1700@base.url",
"competencyId": "resourcing.Competency:2066@base.url",
"percentage": 19
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /commissions
Create a new Commission in the default Foundry.
Query Parameters
- resourceId: required(string)
the resource of this commission.
Example:
resource.Resource%3A640%40base.url
- workId: required(string)
the work of this commission.
Example:
resourcing.Work%3A400%40base.url
- genusType: (string)
specify a particular commission type to create
Example:
type.Type%3AexampleCommissionType%40dxtera.org
- recordType: (array of )
specify support for one or more commission record types
Example:
[ "type.Type%3AexampleCommissionRecordType%40campusapi.org", "..." ]
- foundryId: (string)
specify in which foundry to create this commission
Example:
resourcing.Foundry%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Commission",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this commission, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this commission, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this commission for display.",
"type": "string"
},
"description": {
"description": "The description of this commission.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this commission. 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 commission. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this commission.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this commission.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this commission ended.",
"type": "string",
"format": "osid-id"
},
"resourceId": {
"description": "The resource associated with this commission.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"workId": {
"description": "The work associated with this commission.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"competencyId": {
"description": "The competency.",
"type": "string",
"format": "osid-id"
},
"percentage": {
"description": "The percentage commitment.",
"type": "integer",
"minimum": 1
}
}
}
Example:
{
"displayName": "Display Name of this Commission",
"description": "The description of this Commission",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:8926@base.url",
"competencyId": "resourcing.Competency:9102@base.url",
"percentage": 19
}
Query the collection of Commissions in a system, federation of systems, or in a default foundry by posting a Query object.
Submit a query using a CommissionQuery object.
post /commissions/commission-query
Submit a query using a CommissionQuery 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", "endReason", "competency", "resource", "work", 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": "CommissionQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchEffective": {
"description": "Match effective objects where the current date falls within the start and end dates inclusive. true to match any effective, false to match ineffective",
"type": "boolean"
},
"matchStartDate": {
"description": "Matches temporals whose start date falls in between the given dates inclusive.",
"type": "object",
"properties": {
"start": {
"description": "start of date range",
"type": "string",
"format": "date-time"
},
"end": {
"description": "end of date range",
"type": "string",
"format": "date-time"
},
"match": {
"description": "true if a positive match, false for negative match",
"type": "boolean"
}
}
},
"matchEndDate": {
"description": "Matches temporals whose end date falls in between the given dates inclusive.",
"type": "object",
"properties": {
"start": {
"description": "start of date range",
"type": "string",
"format": "date-time"
},
"end": {
"description": "end of date range",
"type": "string",
"format": "date-time"
},
"match": {
"description": "true if a positive match, false for negative match",
"type": "boolean"
}
}
},
"matchEndReasonIds": {
"description": "List of end reason Id's 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"
}
}
}
},
"endReasonQueries": {
"description": "process.StateQueries to match end reason state. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyEndReason": {
"description": "Match end reasons with any value. true to match Commissions with any end reason, false to match Commissions with no end reason",
"type": "boolean"
},
"matchResourceIds": {
"description": "List of resource Ids for this query to match commission that have a related resource.",
"type": "array",
"items": {
"type": "object",
"properties": {
"ruleId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"resourceQueries": {
"description": "ResourceQueries to match the resource. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchWorkIds": {
"description": "List of work Ids for this query to match commission that have a related work.",
"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"
}
}
}
},
"workQueries": {
"description": "WorkQueries to match the work. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchCompetencyIds": {
"description": "List of Competency Ids for this query to match competency.",
"type": "array",
"items": {
"type": "object",
"properties": {
"competencyId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"competencyQueries": {
"description": "resourcing.CompetencyQueries to match the Competency. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyCompetency": {
"description": "Match competency with any value. true to match Commissions with any competency, false to match Commissions with no competency",
"type": "boolean"
},
"matchPercentage": {
"description": "Match Commissions with percentages between the given integers inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"min": {
"description": "low number",
"type": "integer"
},
"max": {
"description": "high number",
"type": "integer"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyPercentage": {
"description": "Match percentages with any value. true to match Commissions with any percentage, false to match ProgramOfferings with no percentage",
"type": "boolean"
},
"matchFoundryIds": {
"description": "List of Foundry Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"foundryId": {
"description": "Foundry id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"foundryQueries": {
"description": "FoundryQueries to match Foundry. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Commission:7754@base.url",
"uri": "http://base.url/open/campusapi/resourcing/commission/resourcing.Commission%3A7754%40base.url",
"displayName": "Display Name of this Commission",
"description": "The description of this Commission",
"genusTypeId": "type.Type:defaultCommissionType@base.url",
"recordTypeIds": [ "type.Type:exampleCommissionRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7754@base.url",
"resourceId": "resource.Resource:6608@base.url",
"workId": "resourcing.Work:1700@base.url",
"competencyId": "resourcing.Competency:2066@base.url",
"percentage": 19
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Commission form metadata.
Get form metadata for creating a new Commission.
get /commissions/metadata
Get form metadata for creating a new Commission.
Query Parameters
- resourceId: required(string)
the resource of this metadatum.
Example:
resource.Resource%3A640%40base.url
- workId: required(string)
the work of this metadatum.
Example:
resourcing.Work%3A400%40base.url
- genusType: (string)
specify a particular commission type to create
Example:
type.Type%3AexampleCommissionType%40dxtera.org
- recordType: (array of )
specify support for one or more commission record types
Example:
[ "type.Type%3AexampleCommissionRecordType%40campusapi.org", "..." ]
- foundryId: (string)
specify in which foundry to create this commission
Example:
resourcing.Foundry%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": "Commission",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this commission, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this commission, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this commission for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commission.Commission:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this commission",
"linked": false
},
"description": {
"description": "The description of this commission.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commission.Commission:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this commission",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this commission. 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 commission. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this commission.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commission.Commission:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this commission",
"linked": false
},
"endDate": {
"description": "The ending date of this commission.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commission.Commission:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this commission",
"linked": false
},
"endReasonId": {
"description": "The reason this commission ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commission.Commission:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this commission ended",
"linked": false
},
"competencyId": {
"description": "The competency.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "resourcing.Commission:competency@dxtera.org",
"existingValue": null,
"elementLabel": "Competency",
"instructions": "Enter the Id of the competency for this commission.",
"linked": false
},
"percentage": {
"description": "The percentage commitment.",
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "resourcing.Commission:percentage@dxtera.org",
"existingValue": 42,
"elementLabel": "Percentage",
"instructions": "Enter the percentage of this commission.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Commission
Get a particular Commission given its id.
Update a particular Commission given its id.
Delete a particular Commission given its id.
get /commissions/{commissionId}
Get a particular Commission given its id.
URI Parameters
- commissionId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "endReason", "competency", "resource", "work", 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": "resourcing.Commission:7754@base.url",
"uri": "http://base.url/open/campusapi/resourcing/commission/resourcing.Commission%3A7754%40base.url",
"displayName": "Display Name of this Commission",
"description": "The description of this Commission",
"genusTypeId": "type.Type:defaultCommissionType@base.url",
"recordTypeIds": [ "type.Type:exampleCommissionRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7754@base.url",
"resourceId": "resource.Resource:6608@base.url",
"workId": "resourcing.Work:1700@base.url",
"competencyId": "resourcing.Competency:2066@base.url",
"percentage": 19
}
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": "Commission not found" }
put /commissions/{commissionId}
Update a particular Commission given its id.
URI Parameters
- commissionId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Commission",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this commission, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this commission, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this commission for display.",
"type": "string"
},
"description": {
"description": "The description of this commission.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this commission. 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 commission. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this commission.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this commission.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this commission ended.",
"type": "string",
"format": "osid-id"
},
"resourceId": {
"description": "The resource associated with this commission.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"workId": {
"description": "The work associated with this commission.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"competencyId": {
"description": "The competency.",
"type": "string",
"format": "osid-id"
},
"percentage": {
"description": "The percentage commitment.",
"type": "integer",
"minimum": 1
}
}
}
Example:
{
"displayName": "Display Name of this Commission",
"description": "The description of this Commission",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:8926@base.url",
"competencyId": "resourcing.Competency:9102@base.url",
"percentage": 19
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Commission 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": "Commission not found" }
delete /commissions/{commissionId}
Delete a particular Commission given its id.
URI Parameters
- commissionId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Commission 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": "Commission not found" }
Entity representing a Commission form metadata for update
Get form metadata for updating an existing Commission.
get /commissions/{commissionId}/metadata
Get form metadata for updating an existing Commission.
URI Parameters
- commissionId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Commission",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this commission, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this commission, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this commission for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commission.Commission:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this commission",
"linked": false
},
"description": {
"description": "The description of this commission.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commission.Commission:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this commission",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this commission. 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 commission. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this commission.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commission.Commission:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this commission",
"linked": false
},
"endDate": {
"description": "The ending date of this commission.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commission.Commission:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this commission",
"linked": false
},
"endReasonId": {
"description": "The reason this commission ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Commission.Commission:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this commission ended",
"linked": false
},
"competencyId": {
"description": "The competency.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "resourcing.Commission:competency@dxtera.org",
"existingValue": null,
"elementLabel": "Competency",
"instructions": "Enter the Id of the competency for this commission.",
"linked": false
},
"percentage": {
"description": "The percentage commitment.",
"type": "integer",
"minimum": 1,
"maximum": null,
"units": "",
"default": null,
"enum": [],
"elementId": "resourcing.Commission:percentage@dxtera.org",
"existingValue": 42,
"elementLabel": "Percentage",
"instructions": "Enter the percentage of this commission.",
"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": "commission not found" }
/efforts
Collection of Efforts in a system, federation of systems, or in a default Foundry.
Get all Efforts in the system or default Foundry.
Create a new Effort in the default Foundry.
get /efforts
Get all Efforts in the system or default Foundry.
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", "endReason", "resource", "commission", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleEffortType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleEffortType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleEffortType%40campusapi.org
- fromDate: (string)
Get all efforts from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all efforts up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- resourceId: (string)
the id string to match a resource.
Example:
resource.Resource%3A384%40base.url
- commissionId: (string)
the id string to match a commission.
Example:
resourcing.Commission%3A600%40base.url
- foundryId: (string)
The id string to match a foundry
Example:
resourcing.Foundry%3A8374%40base.url
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Effort:2553@base.url",
"uri": "http://base.url/open/campusapi/resourcing/effort/resourcing.Effort%3A2553%40base.url",
"displayName": "Display Name of this Effort",
"description": "The description of this Effort",
"genusTypeId": "type.Type:defaultEffortType@base.url",
"recordTypeIds": [ "type.Type:exampleEffortRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:2553@base.url",
"resourceId": "resource.Resource:1219@base.url",
"commissionId": "resourcing.Commission:9491@base.url",
"timeSpent": "P3DT3H"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /efforts
Create a new Effort in the default Foundry.
Query Parameters
- resourceId: required(string)
the resource of this effort.
Example:
resource.Resource%3A384%40base.url
- commissionId: required(string)
the commission of this effort.
Example:
resourcing.Commission%3A600%40base.url
- genusType: (string)
specify a particular effort type to create
Example:
type.Type%3AexampleEffortType%40dxtera.org
- recordType: (array of )
specify support for one or more effort record types
Example:
[ "type.Type%3AexampleEffortRecordType%40campusapi.org", "..." ]
- foundryId: (string)
specify in which foundry to create this effort
Example:
resourcing.Foundry%3A8374%40base.url
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Effort",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this effort, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this effort, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this effort for display.",
"type": "string"
},
"description": {
"description": "The description of this effort.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this effort. 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 effort. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this effort.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this effort.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this effort ended.",
"type": "string",
"format": "osid-id"
},
"resourceId": {
"description": "The resource associated with this effort.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"commissionId": {
"description": "The commission associated with this effort.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"timeSpent": {
"description": "The time spent on this commission.",
"type": "string",
"format": "duration"
}
}
}
Example:
{
"displayName": "Display Name of this Effort",
"description": "The description of this Effort",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:5497@base.url",
"timeSpent": "P3DT3H"
}
Query the collection of Efforts in a system, federation of systems, or in a default foundry by posting a Query object.
Submit a query using a EffortQuery object.
post /efforts/effort-query
Submit a query using a EffortQuery 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", "endReason", "resource", "commission", 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": "EffortQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchEffective": {
"description": "Match effective objects where the current date falls within the start and end dates inclusive. true to match any effective, false to match ineffective",
"type": "boolean"
},
"matchStartDate": {
"description": "Matches temporals whose start date falls in between the given dates inclusive.",
"type": "object",
"properties": {
"start": {
"description": "start of date range",
"type": "string",
"format": "date-time"
},
"end": {
"description": "end of date range",
"type": "string",
"format": "date-time"
},
"match": {
"description": "true if a positive match, false for negative match",
"type": "boolean"
}
}
},
"matchEndDate": {
"description": "Matches temporals whose end date falls in between the given dates inclusive.",
"type": "object",
"properties": {
"start": {
"description": "start of date range",
"type": "string",
"format": "date-time"
},
"end": {
"description": "end of date range",
"type": "string",
"format": "date-time"
},
"match": {
"description": "true if a positive match, false for negative match",
"type": "boolean"
}
}
},
"matchEndReasonIds": {
"description": "List of end reason Id's 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"
}
}
}
},
"endReasonQueries": {
"description": "process.StateQueries to match end reason state. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyEndReason": {
"description": "Match end reasons with any value. true to match Efforts with any end reason, false to match Efforts with no end reason",
"type": "boolean"
},
"matchResourceIds": {
"description": "List of resource Ids for this query to match effort that have a related resource.",
"type": "array",
"items": {
"type": "object",
"properties": {
"ruleId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"resourceQueries": {
"description": "ResourceQueries to match the resource. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchCommissionIds": {
"description": "List of commission Ids for this query to match effort that have a related commission.",
"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"
}
}
}
},
"commissionQueries": {
"description": "CommissionQueries to match the commission. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchTimeSpent": {
"description": "Matches timeSpents in the given range inclusive.",
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"description": "start range",
"type": "string",
"format": "duration"
},
"to": {
"description": "end range",
"type": "string",
"format": "duration"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchAnyTimeSpent": {
"description": "Match timeSpents with any value. true to match Efforts with any time spent, false to match ProgramOfferings with no time spent",
"type": "boolean"
},
"matchFoundryIds": {
"description": "List of Foundry Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"foundryId": {
"description": "Foundry id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"foundryQueries": {
"description": "FoundryQueries to match Foundry. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Effort:2553@base.url",
"uri": "http://base.url/open/campusapi/resourcing/effort/resourcing.Effort%3A2553%40base.url",
"displayName": "Display Name of this Effort",
"description": "The description of this Effort",
"genusTypeId": "type.Type:defaultEffortType@base.url",
"recordTypeIds": [ "type.Type:exampleEffortRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:2553@base.url",
"resourceId": "resource.Resource:1219@base.url",
"commissionId": "resourcing.Commission:9491@base.url",
"timeSpent": "P3DT3H"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Effort form metadata.
Get form metadata for creating a new Effort.
get /efforts/metadata
Get form metadata for creating a new Effort.
Query Parameters
- resourceId: required(string)
the resource of this metadatum.
Example:
resource.Resource%3A384%40base.url
- commissionId: required(string)
the commission of this metadatum.
Example:
resourcing.Commission%3A600%40base.url
- genusType: (string)
specify a particular effort type to create
Example:
type.Type%3AexampleEffortType%40dxtera.org
- recordType: (array of )
specify support for one or more effort record types
Example:
[ "type.Type%3AexampleEffortRecordType%40campusapi.org", "..." ]
- foundryId: (string)
specify in which foundry to create this effort
Example:
resourcing.Foundry%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": "Effort",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this effort, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this effort, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this effort for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Effort.Effort:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this effort",
"linked": false
},
"description": {
"description": "The description of this effort.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Effort.Effort:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this effort",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this effort. 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 effort. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this effort.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Effort.Effort:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this effort",
"linked": false
},
"endDate": {
"description": "The ending date of this effort.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Effort.Effort:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this effort",
"linked": false
},
"endReasonId": {
"description": "The reason this effort ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Effort.Effort:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this effort ended",
"linked": false
},
"timeSpent": {
"description": "The time spent on this commission.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "resourcing.Effort:timeSpent@dxtera.org",
"existingValue": "",
"elementLabel": "Time Spent",
"instructions": "Enter the time spent of this effort.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Effort
Get a particular Effort given its id.
Update a particular Effort given its id.
Delete a particular Effort given its id.
get /efforts/{effortId}
Get a particular Effort given its id.
URI Parameters
- effortId: required(string)
Query Parameters
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "endReason", "resource", "commission", 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": "resourcing.Effort:2553@base.url",
"uri": "http://base.url/open/campusapi/resourcing/effort/resourcing.Effort%3A2553%40base.url",
"displayName": "Display Name of this Effort",
"description": "The description of this Effort",
"genusTypeId": "type.Type:defaultEffortType@base.url",
"recordTypeIds": [ "type.Type:exampleEffortRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:2553@base.url",
"resourceId": "resource.Resource:1219@base.url",
"commissionId": "resourcing.Commission:9491@base.url",
"timeSpent": "P3DT3H"
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{"message": "Effort not found" }
put /efforts/{effortId}
Update a particular Effort given its id.
URI Parameters
- effortId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Effort",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this effort, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this effort, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this effort for display.",
"type": "string"
},
"description": {
"description": "The description of this effort.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this effort. 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 effort. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this effort.",
"type": "string",
"format": "date-time"
},
"endDate": {
"description": "The ending date of this effort.",
"type": "string",
"format": "date-time"
},
"endReasonId": {
"description": "The reason this effort ended.",
"type": "string",
"format": "osid-id"
},
"resourceId": {
"description": "The resource associated with this effort.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"commissionId": {
"description": "The commission associated with this effort.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"timeSpent": {
"description": "The time spent on this commission.",
"type": "string",
"format": "duration"
}
}
}
Example:
{
"displayName": "Display Name of this Effort",
"description": "The description of this Effort",
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:5497@base.url",
"timeSpent": "P3DT3H"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Effort 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": "Effort not found" }
delete /efforts/{effortId}
Delete a particular Effort given its id.
URI Parameters
- effortId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Effort 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": "Effort not found" }
Entity representing a Effort form metadata for update
Get form metadata for updating an existing Effort.
get /efforts/{effortId}/metadata
Get form metadata for updating an existing Effort.
URI Parameters
- effortId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Effort",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this effort, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this effort, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this effort for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Effort.Effort:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this effort",
"linked": false
},
"description": {
"description": "The description of this effort.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Effort.Effort:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this effort",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this effort. 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 effort. Record types define special attributes available on an object to support specific applications or classes of applications and are documented elsewhere.",
"type": "array",
"items": {
"type": "string",
"format": "osid-id"
},
"readOnly": true
},
"startDate": {
"description": "The starting date of this effort.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Effort.Effort:startDate@base.url",
"existingValue": "2020-10-03T08:00:00.000Z",
"elementLabel": "Start Date",
"instructions": "Enter a starting date for this effort",
"linked": false
},
"endDate": {
"description": "The ending date of this effort.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Effort.Effort:endDate@base.url",
"existingValue": "2020-12-18T17:00:00.000Z",
"elementLabel": "End Date",
"instructions": "Enter an ending date for this effort",
"linked": false
},
"endReasonId": {
"description": "The reason this effort ended. A process/State object.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Effort.Effort:endReason@base.url",
"existingValue": "process.State:1860@base.url",
"elementLabel": "End Reason",
"instructions": "Select the reason this effort ended",
"linked": false
},
"timeSpent": {
"description": "The time spent on this commission.",
"type": "string",
"format": "duration",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "resourcing.Effort:timeSpent@dxtera.org",
"existingValue": "",
"elementLabel": "Time Spent",
"instructions": "Enter the time spent of this effort.",
"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": "effort not found" }
/foundries
Collection of Foundries in a system or federation of systems.
Get all Foundries.
Create a new Foundry.
get /foundries
Get all Foundries.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- expand: (string)
Expand object or type for named attribute: "genusType", "recordType", "provider", "branding", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleFoundryType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleFoundryType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleFoundryType%40campusapi.org
- providerId: (string)
Id string to match provider.
Example:
resource.Resource%3A3007%40demo.dxtera.org
- jobId: (string)
Get foundries mapped to this job.
Example:
resourcing.Job%3A210%40demo.dxtera.org
- workId: (string)
Get foundries mapped to this work.
Example:
resourcing.Work%3A280%40demo.dxtera.org
- competencyId: (string)
Get foundries mapped to this competency.
Example:
resourcing.Competency%3A700%40demo.dxtera.org
- availabilityId: (string)
Get foundries mapped to this availability.
Example:
resourcing.Availability%3A840%40demo.dxtera.org
- commissionId: (string)
Get foundries mapped to this commission.
Example:
resourcing.Commission%3A700%40demo.dxtera.org
- effortId: (string)
Get foundries mapped to this effort.
Example:
resourcing.Effort%3A420%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Foundry:7205@base.url",
"uri": "http://base.url/open/campusapi/resourcing/foundry/resourcing.Foundry%3A7205%40base.url",
"displayName": "Display Name of this Foundry",
"description": "The description of this Foundry",
"genusTypeId": "type.Type:defaultFoundryType@base.url",
"recordTypeIds": [ "type.Type:exampleFoundryRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Foundry@base.url",
"license": "The license that applies to this Foundry"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /foundries
Create a new Foundry.
Query Parameters
- genusType: (string)
specify a particular foundry type to create
Example:
type.Type%3AexampleFoundryType%40dxtera.org
- recordType: (array of )
specify support for one or more foundry record types
Example:
[ "type.Type%3AexampleFoundryRecordType%40campusapi.org", "..." ]
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Foundry",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this foundry, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this foundry, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this foundry for display.",
"type": "string"
},
"description": {
"description": "The description of this foundry.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this foundry. 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 foundry. 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 foundry.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this foundry. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this foundry.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this Foundry",
"description": "The description of this Foundry",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Foundry@base.url",
"license": "The license that applies to this Foundry"
}
Query the collection of Foundries in a system, federation of systems, or in a default foundry by posting a Query object.
Submit a query using a FoundryQuery object.
post /foundries/foundry-query
Submit a query using a FoundryQuery 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", 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": "FoundryQuery",
"type": "object",
"properties": {
"matchIds": {
"description": "List of Ids to match. Boolean OR performed among multiple Ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchKeywords": {
"description": "List keywords to match. Multiple keywords can be added to perform a boolean OR among them. A keyword may be applied to any of the elements defined in this object such as the display name, description or any attribute defined in or implemented by this object.",
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"description": "keyword to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDisplayNames": {
"description": "List of displayName strings to match. Boolean OR performed among multiple displayNames.",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"description": "displayName to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchDescriptions": {
"description": "List of discription strings to match. Boolean OR performed among multiple descriptions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"description": "description to match",
"type": "string"
},
"stringMatchType": {
"description": "the string match type",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchGenusTypeIds": {
"description": "List of genus type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "genus type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchRecordTypeIds": {
"description": "List of record type ids to match. Boolean OR performed among multiple ids.",
"type": "array",
"items": {
"type": "object",
"properties": {
"genusTypeid": {
"description": "record type id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"matchProviderIds": {
"description": "List of provider Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"stateId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"providerQueries": {
"description": "resource.ResourceQuery for provider. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
},
"matchAnyProvider": {
"description": "Match providers with any value. true to match Foundry with any provider, false to match Foundry with no provider",
"type": "boolean"
}
},
"matchBrandingIds": {
"description": "List of branding asset Ids to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"stateId": {
"description": "id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"brandingQueries": {
"description": "repository.AssetQuery for branding. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
},
"matchAnyBranding": {
"description": "Match brandingss with any value. true to match Foundry with any branding, false to match Foundry 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"
}
}
}
},
"matchFoundryIds": {
"description": "List of Foundry Id's to match.",
"type": "array",
"items": {
"type": "object",
"properties": {
"foundryId": {
"description": "Foundry id to match",
"type": "string",
"format": "osid-id"
},
"match": {
"description": "true for a positive match, false for a negative match",
"type": "boolean"
}
}
}
},
"foundryQueries": {
"description": "FoundryQueries to match Foundry. Each query performs a boolean OR.",
"type": "array",
"items": {
"type": "object"
}
}
}
}
Example:
{
"matchDisplayNames": [
{
"displayName": "string to exclude",
"match": false
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Foundry:7205@base.url",
"uri": "http://base.url/open/campusapi/resourcing/foundry/resourcing.Foundry%3A7205%40base.url",
"displayName": "Display Name of this Foundry",
"description": "The description of this Foundry",
"genusTypeId": "type.Type:defaultFoundryType@base.url",
"recordTypeIds": [ "type.Type:exampleFoundryRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Foundry@base.url",
"license": "The license that applies to this Foundry"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Foundry form metadata.
Get form metadata for creating a new Foundry.
get /foundries/metadata
Get form metadata for creating a new Foundry.
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Foundry",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this foundry, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this foundry, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this foundry for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Foundry.Foundry:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this foundry",
"linked": false
},
"description": {
"description": "The description of this foundry.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Foundry.Foundry:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this foundry",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this foundry. 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 foundry. 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 foundry.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Foundry.Foundry:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this foundry",
"linked": false
},
"brandingIds": {
"description": "The branding of this foundry. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Foundry.Foundry:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this foundry",
"linked": false
},
"license": {
"description": "The licensing that applies to this foundry.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Foundry.Foundry:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this foundry",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root Foundries in the Foundry hierarchy. A node with no parents is an orphan. While all Foundry 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-foundry
get /foundries/root-foundry
Get all root root-foundry
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Foundry:7205@base.url",
"uri": "http://base.url/open/campusapi/resourcing/foundry/resourcing.Foundry%3A7205%40base.url",
"displayName": "Display Name of this Foundry",
"description": "The description of this Foundry",
"genusTypeId": "type.Type:defaultFoundryType@base.url",
"recordTypeIds": [ "type.Type:exampleFoundryRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Foundry@base.url",
"license": "The license that applies to this Foundry"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a Foundry
Get a particular Foundry given its id.
Update a particular Foundry given its id.
Delete a particular Foundry given its id.
get /foundries/{foundryId}
Get a particular Foundry given its id.
URI Parameters
- foundryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "resourcing.Foundry:7205@base.url",
"uri": "http://base.url/open/campusapi/resourcing/foundry/resourcing.Foundry%3A7205%40base.url",
"displayName": "Display Name of this Foundry",
"description": "The description of this Foundry",
"genusTypeId": "type.Type:defaultFoundryType@base.url",
"recordTypeIds": [ "type.Type:exampleFoundryRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Foundry@base.url",
"license": "The license that applies to this Foundry"
}
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": "Foundry not found" }
put /foundries/{foundryId}
Update a particular Foundry given its id.
URI Parameters
- foundryId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Foundry",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this foundry, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this foundry, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this foundry for display.",
"type": "string"
},
"description": {
"description": "The description of this foundry.",
"type": "string"
},
"genusTypeId": {
"description": "Id of the immutable type of this foundry. 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 foundry. 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 foundry.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this foundry. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this foundry.",
"type": "string"
}
}
}
Example:
{
"displayName": "Display Name of this Foundry",
"description": "The description of this Foundry",
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Foundry@base.url",
"license": "The license that applies to this Foundry"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Foundry 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": "Foundry not found" }
delete /foundries/{foundryId}
Delete a particular Foundry given its id.
URI Parameters
- foundryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The Foundry 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": "Foundry not found" }
Entity representing a Foundry form metadata for update
Get form metadata for updating an existing Foundry.
get /foundries/{foundryId}/metadata
Get form metadata for updating an existing Foundry.
URI Parameters
- foundryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Foundry",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this foundry, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this foundry, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this foundry for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Foundry.Foundry:displayName@base.url",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this foundry",
"linked": false
},
"description": {
"description": "The description of this foundry.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Foundry.Foundry:displayName@demo.base.url",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this foundry",
"linked": false
},
"genusTypeId": {
"description": "Id of the immutable type of this foundry. 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 foundry. 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 foundry.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Foundry.Foundry:provider@base.url",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this foundry",
"linked": false
},
"brandingIds": {
"description": "The branding of this foundry. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Foundry.Foundry:branding@base.url",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this foundry",
"linked": false
},
"license": {
"description": "The licensing that applies to this foundry.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Foundry.Foundry:license@base.url",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this foundry",
"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": "foundry not found" }
Get child Foundries for the given Foundry in the hierarchy.
get /foundries/{foundryId}/children
Get child Foundries for the given Foundry in the hierarchy.
URI Parameters
- foundryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Foundry:7205@base.url",
"uri": "http://base.url/open/campusapi/resourcing/foundry/resourcing.Foundry%3A7205%40base.url",
"displayName": "Display Name of this Foundry",
"description": "The description of this Foundry",
"genusTypeId": "type.Type:defaultFoundryType@base.url",
"recordTypeIds": [ "type.Type:exampleFoundryRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Foundry@base.url",
"license": "The license that applies to this Foundry"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add Foundry as child of the given Foundry in the hierarchy.
Remove the given Foundry as a child of the given Foundry in the hierarchy.
put /foundries/{foundryId}/children/{childId}
Add Foundry as child of the given Foundry in the hierarchy.
URI Parameters
- foundryId: required(string)
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child Foundry 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": "foundry not found" }
delete /foundries/{foundryId}/children/{childId}
Remove the given Foundry as a child of the given Foundry in the hierarchy.
URI Parameters
- foundryId: required(string)
- childId: required(string)
Get parent Foundries for the given Foundry in the hierarchy.
get /foundries/{foundryId}/parents
Get parent Foundries for the given Foundry in the hierarchy.
URI Parameters
- foundryId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Foundry:7205@base.url",
"uri": "http://base.url/open/campusapi/resourcing/foundry/resourcing.Foundry%3A7205%40base.url",
"displayName": "Display Name of this Foundry",
"description": "The description of this Foundry",
"genusTypeId": "type.Type:defaultFoundryType@base.url",
"recordTypeIds": [ "type.Type:exampleFoundryRecordType@campusapi.org", "..."],
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Foundry@base.url",
"license": "The license that applies to this Foundry"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Get all Jobs in this Foundry
get /foundries/{foundryId}/jobs
Get all Jobs in this Foundry
URI Parameters
- foundryId: 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", "competencies", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleJobType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleJobType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleJobType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Job:5388@base.url",
"uri": "http://base.url/open/campusapi/resourcing/job/resourcing.Job%3A5388%40base.url",
"displayName": "Display Name of this Job",
"description": "The description of this Job",
"genusTypeId": "type.Type:defaultJobType@base.url",
"recordTypeIds": [ "type.Type:exampleJobRecordType@campusapi.org", "..."],
"active": true,
"enabled": true,
"disabled": false,
"operational": true,
"providerId": "resource.Resource:123@base.url",
"brandingId": "asset.Asset:Job@base.url",
"license": "The license that applies to this Job",
"competencies": [ "resourcing.Competency:4484@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Job to this Foundry
Remove the given Job from the Foundry.
put /foundries/{foundryId}/jobs/{jobId}
Add the given Job to this Foundry
URI Parameters
- foundryId: required(string)
- jobId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Job has been added to Foundry" }
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": "Job not found" }
delete /foundries/{foundryId}/jobs/{jobId}
Remove the given Job from the Foundry.
URI Parameters
- foundryId: required(string)
- jobId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Job 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": "Job not found" }
Get all Works in this Foundry
get /foundries/{foundryId}/works
Get all Works in this Foundry
URI Parameters
- foundryId: 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", "competencies", "job", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleWorkType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleWorkType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleWorkType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Work:9932@base.url",
"uri": "http://base.url/open/campusapi/resourcing/work/resourcing.Work%3A9932%40base.url",
"displayName": "Display Name of this Work",
"description": "The description of this Work",
"genusTypeId": "type.Type:defaultWorkType@base.url",
"recordTypeIds": [ "type.Type:exampleWorkRecordType@campusapi.org", "..."],
"jobId": "resourcing.Job:6639@base.url",
"competencies": [ "resourcing.Competency:4442@base.url", "..." ]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Work to this Foundry
Remove the given Work from the Foundry.
put /foundries/{foundryId}/works/{workId}
Add the given Work to this Foundry
URI Parameters
- foundryId: required(string)
- workId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Work has been added to Foundry" }
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": "Work not found" }
delete /foundries/{foundryId}/works/{workId}
Remove the given Work from the Foundry.
URI Parameters
- foundryId: required(string)
- workId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Work 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": "Work not found" }
Get all Competencies in this Foundry
get /foundries/{foundryId}/competencies
Get all Competencies in this Foundry
URI Parameters
- foundryId: 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", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleCompetencyType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCompetencyType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCompetencyType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Competency:3595@base.url",
"uri": "http://base.url/open/campusapi/resourcing/competency/resourcing.Competency%3A3595%40base.url",
"displayName": "Display Name of this Competency",
"description": "The description of this Competency",
"genusTypeId": "type.Type:defaultCompetencyType@base.url",
"recordTypeIds": [ "type.Type:exampleCompetencyRecordType@campusapi.org", "..."]
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Competency to this Foundry
Remove the given Competency from the Foundry.
put /foundries/{foundryId}/competencies/{competencyId}
Add the given Competency to this Foundry
URI Parameters
- foundryId: required(string)
- competencyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Competency has been added to Foundry" }
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": "Competency not found" }
delete /foundries/{foundryId}/competencies/{competencyId}
Remove the given Competency from the Foundry.
URI Parameters
- foundryId: required(string)
- competencyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Competency 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": "Competency not found" }
Get all Availabilities in this Foundry
get /foundries/{foundryId}/availabilities
Get all Availabilities in this Foundry
URI Parameters
- foundryId: 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", "endReason", "competency", "resource", "job", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleAvailabilityType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleAvailabilityType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleAvailabilityType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Availability:884@base.url",
"uri": "http://base.url/open/campusapi/resourcing/availability/resourcing.Availability%3A884%40base.url",
"displayName": "Display Name of this Availability",
"description": "The description of this Availability",
"genusTypeId": "type.Type:defaultAvailabilityType@base.url",
"recordTypeIds": [ "type.Type:exampleAvailabilityRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:884@base.url",
"resourceId": "resource.Resource:8332@base.url",
"jobId": "resourcing.Job:1801@base.url",
"competencyId": "resourcing.Competency:9832@base.url",
"percentage": 19
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Availability to this Foundry
Remove the given Availability from the Foundry.
put /foundries/{foundryId}/availabilities/{availabilityId}
Add the given Availability to this Foundry
URI Parameters
- foundryId: required(string)
- availabilityId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Availability has been added to Foundry" }
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": "Availability not found" }
delete /foundries/{foundryId}/availabilities/{availabilityId}
Remove the given Availability from the Foundry.
URI Parameters
- foundryId: required(string)
- availabilityId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Availability 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": "Availability not found" }
Get all Commissions in this Foundry
get /foundries/{foundryId}/commissions
Get all Commissions in this Foundry
URI Parameters
- foundryId: 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", "endReason", "competency", "resource", "work", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleCommissionType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleCommissionType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleCommissionType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Commission:7754@base.url",
"uri": "http://base.url/open/campusapi/resourcing/commission/resourcing.Commission%3A7754%40base.url",
"displayName": "Display Name of this Commission",
"description": "The description of this Commission",
"genusTypeId": "type.Type:defaultCommissionType@base.url",
"recordTypeIds": [ "type.Type:exampleCommissionRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:7754@base.url",
"resourceId": "resource.Resource:6608@base.url",
"workId": "resourcing.Work:1700@base.url",
"competencyId": "resourcing.Competency:2066@base.url",
"percentage": 19
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Commission to this Foundry
Remove the given Commission from the Foundry.
put /foundries/{foundryId}/commissions/{commissionId}
Add the given Commission to this Foundry
URI Parameters
- foundryId: required(string)
- commissionId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Commission has been added to Foundry" }
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": "Commission not found" }
delete /foundries/{foundryId}/commissions/{commissionId}
Remove the given Commission from the Foundry.
URI Parameters
- foundryId: required(string)
- commissionId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Commission 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": "Commission not found" }
Get all Efforts in this Foundry
get /foundries/{foundryId}/efforts
Get all Efforts in this Foundry
URI Parameters
- foundryId: 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", "endReason", "resource", "commission", or "all" to expand all referenced objects or types. This parameter can be repeated to expand multiples.
Example:
all
- genusTypeId: (string)
The id string to match a genusType
Example:
type.Type%3AexampleEffortType%40dxtera.org
- parentGenusTypeId: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleEffortType%40dxtera.org
- recordTypeId: (string)
The id string to match a recordType
Example:
type.Type%3AexampleEffortType%40campusapi.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "resourcing.Effort:2553@base.url",
"uri": "http://base.url/open/campusapi/resourcing/effort/resourcing.Effort%3A2553%40base.url",
"displayName": "Display Name of this Effort",
"description": "The description of this Effort",
"genusTypeId": "type.Type:defaultEffortType@base.url",
"recordTypeIds": [ "type.Type:exampleEffortRecordType@campusapi.org", "..."],
"startDate": "2020-10-03T06:30:00.000Z",
"endDate": "2020-12-18T19:30:00.000Z",
"endReasonId": "process.State:2553@base.url",
"resourceId": "resource.Resource:1219@base.url",
"commissionId": "resourcing.Commission:9491@base.url",
"timeSpent": "P3DT3H"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given Effort to this Foundry
Remove the given Effort from the Foundry.
put /foundries/{foundryId}/efforts/{effortId}
Add the given Effort to this Foundry
URI Parameters
- foundryId: required(string)
- effortId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Effort has been added to Foundry" }
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": "Effort not found" }
delete /foundries/{foundryId}/efforts/{effortId}
Remove the given Effort from the Foundry.
URI Parameters
- foundryId: required(string)
- effortId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "Effort 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": "Effort not found" }