CampusAPI Forum Services API documentation version N/A
NOTICE - The CampusAPI Documentation has moved.
Please point your browser to CampusAPI.org for the latest versions.
https://demo.dxtera.org/open/campusapi/forum
Overview
The Forum service package defines threaded diiscussion groups managing a set of posts and replies.
This package includes the following entities:
Posts
A Post is an entity that defines some text, a timestamp, and a poster.
Posters:
An Agent posts to a Forum or an Agent replies to a Post. The relationship between the Agent and its associated Resource is orchestrated within the Forum service. Posts and Replies reveal both the posting Agent and the associated poster Resource.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this post, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this post, provided by system. | string(uri) |
displayName | The name of this post for display. | string |
description | The description of this post. | string |
genusType (read‑only) | The immutable type of this post. Default type set by system unless specified in query parameter. | string(osid‑type) |
timestamp | The time of this post. | string(date‑time) |
posterId | The poster of this post. References a resource.Resource object | string(osid‑id) |
subjectLine | The subject line of this post. | string |
text | The text of the post. | string |
Replys
A Reply is similar to a Post but is in response to either a Post or another Reply. A Reply is a containable object making directly accessible any nested Replies directly on the object itself.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this reply, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this reply, provided by system. | string(uri) |
displayName | The name of this reply for display. | string |
description | The description of this reply. | string |
genusType (read‑only) | The immutable type of this reply. Default type set by system unless specified in query parameter. | string(osid‑type) |
sequestered | Whether this reply is sequestered in that it should not appear outside of its aggregation. | boolean |
postId (read‑only) | The post associated with this reply. References a forum.Post object. | string(osid‑id) |
replyId (read‑only) | The reply associated with this reply. References a forum.Post object. References a missing.MISSING object. | string(osid‑id) |
timestamp | The time of this entry. | string(date‑time) |
posterId | The posting of this entry. References a resource.Resource object | string(osid‑id) |
subjectLine | The subject line of this entry. | string |
text | The text of the entry. | string |
Forums
Forums represent collections of Posts. Forums may be created through federation or by selecting Posts based on their attributes to create a virtual catalog of Posts. Replies are always associated with their Posts and may not be cataloged independently.
Field | Description | Type |
---|---|---|
id(read‑only) | The unique id of this forum, provided by system. | string(osid‑id) |
uri(read‑only) | The uri of this forum, provided by system. | string(uri) |
displayName | The name of this forum for display. | string |
description | The description of this forum. | string |
genusType (read‑only) | The immutable type of this forum. Default type set by system unless specified in query parameter. | string(osid‑type) |
providerId | The provider of this forum. References a resource.Resource object. | string(osid‑id) |
brandingIds | The branding of this forum. References repository.Asset objects. | string(osid‑id)[] |
license | The licensing that applies to this forum. | string |
License
CampusAPI REST Documentation Copyright 2020 DXtera Institute. Based on the Open Service Interface Defitions: http://osid.org
/posts
Collection of posts in a system, federation of systems, or in a default forum.
Get all posts in the system or default forum.
Create a new post in the default forum.
get /posts
Get all posts in the system or default forum.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusType: (string)
The id string to match a genusType
Example:
type.Type%3AexamplePostType%40dxtera.org
- parentGenusType: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExamplePostType%40dxtera.org
- fromDate: (string)
Get all posts from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all posts up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- posterId: (string)
Id string to match poster.
Example:
resource.Resource%3A7836%40demo.dxtera.org
- forumId: (string)
The id string to match a forum
Example:
forum.Forum%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "forum.Post:7704@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/post/forum.Post%3A7704%40demo.dxtera.org",
"displayName": "Display Name of this Post",
"description": "The description of this Post",
"genusType": "type.Type:defaultPostType@dxtera.org",
"timestamp": "2021-07-21T23:15:30.000Z",
"posterId": "resource.Resource:5143@demo.dxtera.org",
"subjectLine": "This is the SubjectLine",
"text": "This is the Text"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /posts
Create a new post in the default forum.
Query Parameters
- genusType: (string)
specify a particular post type to create
Example:
type.Type%3AexamplePostType%40dxtera.org
- forumId: (string)
specify in which forum to create this post
Example:
forum.Forum%3A8374%40demo.dxtera.org
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Post",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this post, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this post, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this post for display.",
"type": "string"
},
"description": {
"description": "The description of this post.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this post. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"timestamp": {
"description": "The time of this post.",
"type": "string",
"format": "date-time"
},
"posterId": {
"description": "The poster of this post.",
"type": "string",
"format": "osid-id"
},
"subjectLine": {
"description": "The subject line of this post.",
"type": "string"
},
"text": {
"description": "The text of the post.",
"type": "string"
}
}
}
Example:
{
"id": "forum.Post:8827@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/post/forum.Post%3A8827%40demo.dxtera.org",
"displayName": "Display Name of this Post",
"description": "The description of this Post",
"timestamp": "2021-07-21T23:15:30.000Z",
"posterId": "resource.Resource:7963@demo.dxtera.org",
"subjectLine": "This is the SubjectLine",
"text": "This is the Text"
}
Entity representing a post form metadata.
Get form metadata for creating a new post.
get /posts/metadata
Get form metadata for creating a new post.
Query Parameters
- genusType: (string)
specify a particular post type to create
Example:
type.Type%3AexamplePostType%40dxtera.org
- forumId: (string)
specify in which forum to create this post
Example:
forum.Forum%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Post",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this post, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this post, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this post for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Post.Post:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this post",
"linked": false
},
"description": {
"description": "The description of this post.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Post.Post:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this post",
"linked": false
},
"genusType": {
"description": "The immutable type of this post. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"timestamp": {
"description": "The time of this post.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Post:timestamp@dxtera.org",
"existingValue": "",
"elementLabel": "Timestamp",
"instructions": "Enter the timestamp of this post.",
"linked": false
},
"posterId": {
"description": "The poster of this post.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Post:poster@dxtera.org",
"existingValue": null,
"elementLabel": "Poster",
"instructions": "Enter the Id of the poster for this post.",
"linked": false
},
"subjectLine": {
"description": "The subject line of this post.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Post:subjectLine@dxtera.org",
"existingValue": "The existing subject line",
"elementLabel": "Subject Line",
"instructions": "Enter a subject line for this post.",
"linked": false
},
"text": {
"description": "The text of the post.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Post:text@dxtera.org",
"existingValue": "The existing text",
"elementLabel": "Text",
"instructions": "Enter a text for this post.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a post
Get a post given its id.
Update a given post.
Delete a given post.
get /posts/{postId}
Get a post given its id.
URI Parameters
- postId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "forum.Post:7704@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/post/forum.Post%3A7704%40demo.dxtera.org",
"displayName": "Display Name of this Post",
"description": "The description of this Post",
"genusType": "type.Type:defaultPostType@dxtera.org",
"timestamp": "2021-07-21T23:15:30.000Z",
"posterId": "resource.Resource:5143@demo.dxtera.org",
"subjectLine": "This is the SubjectLine",
"text": "This is the Text"
}
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": "post not found" }
put /posts/{postId}
Update a given post.
URI Parameters
- postId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Post",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this post, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this post, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this post for display.",
"type": "string"
},
"description": {
"description": "The description of this post.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this post. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"timestamp": {
"description": "The time of this post.",
"type": "string",
"format": "date-time"
},
"posterId": {
"description": "The poster of this post.",
"type": "string",
"format": "osid-id"
},
"subjectLine": {
"description": "The subject line of this post.",
"type": "string"
},
"text": {
"description": "The text of the post.",
"type": "string"
}
}
}
Example:
{
"id": "forum.Post:8827@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/post/forum.Post%3A8827%40demo.dxtera.org",
"displayName": "Display Name of this Post",
"description": "The description of this Post",
"timestamp": "2021-07-21T23:15:30.000Z",
"posterId": "resource.Resource:7963@demo.dxtera.org",
"subjectLine": "This is the SubjectLine",
"text": "This is the Text"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The post 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": "post not found" }
delete /posts/{postId}
Delete a given post.
URI Parameters
- postId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The post 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": "post not found" }
Entity representing a post form metadata for update
Get form metadata for updating an existing post.
get /posts/{postId}/metadata
Get form metadata for updating an existing post.
URI Parameters
- postId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Post",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this post, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this post, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this post for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Post.Post:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this post",
"linked": false
},
"description": {
"description": "The description of this post.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Post.Post:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this post",
"linked": false
},
"genusType": {
"description": "The immutable type of this post. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"timestamp": {
"description": "The time of this post.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Post:timestamp@dxtera.org",
"existingValue": "",
"elementLabel": "Timestamp",
"instructions": "Enter the timestamp of this post.",
"linked": false
},
"posterId": {
"description": "The poster of this post.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Post:poster@dxtera.org",
"existingValue": null,
"elementLabel": "Poster",
"instructions": "Enter the Id of the poster for this post.",
"linked": false
},
"subjectLine": {
"description": "The subject line of this post.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Post:subjectLine@dxtera.org",
"existingValue": "The existing subject line",
"elementLabel": "Subject Line",
"instructions": "Enter a subject line for this post.",
"linked": false
},
"text": {
"description": "The text of the post.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Post:text@dxtera.org",
"existingValue": "The existing text",
"elementLabel": "Text",
"instructions": "Enter a text for this post.",
"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": "post not found" }
/replys
Collection of replys in a system, federation of systems, or in a default forum.
Get all replys in the system or default forum.
Create a new reply in the default forum.
get /replys
Get all replys in the system or default forum.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusType: (string)
The id string to match a genusType
Example:
type.Type%3AexampleReplyType%40dxtera.org
- parentGenusType: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleReplyType%40dxtera.org
- postId: (string)
the id string to match a post.
Example:
forum.Post%3A100%40demo.dxtera.org
- replyId: (string)
the id string to match a reply.
Example:
forum.Post%3A125%40demo.dxtera.org
- fromDate: (string)
Get all replys from this date inclusive. Use with toDate to define date range query.
Example:
2020-10-03
- toDate: (string)
Get all replys up to this date inclusive. Use with fromDate to define date range query.
Example:
2020-12-18
- posterId: (string)
Id string to match poster.
Example:
resource.Resource%3A6392%40demo.dxtera.org
- forumId: (string)
The id string to match a forum
Example:
forum.Forum%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "forum.Reply:8512@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/reply/forum.Reply%3A8512%40demo.dxtera.org",
"displayName": "Display Name of this Reply",
"description": "The description of this Reply",
"genusType": "type.Type:defaultReplyType@dxtera.org",
"sequestered": false,
"postId": "forum.Post:1898@demo.dxtera.org",
"replyId": ":2994@demo.dxtera.org",
"timestamp": "2021-07-21T23:15:30.000Z",
"posterId": "resource.Resource:4585@demo.dxtera.org",
"subjectLine": "This is the SubjectLine",
"text": "This is the Text"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /replys
Create a new reply in the default forum.
Query Parameters
- postId: required(string)
the post of this reply.
Example:
forum.Post%3A100%40demo.dxtera.org
- replyId: required(string)
the reply of this reply.
Example:
forum.Post%3A125%40demo.dxtera.org
- genusType: (string)
specify a particular reply type to create
Example:
type.Type%3AexampleReplyType%40dxtera.org
- forumId: (string)
specify in which forum to create this reply
Example:
forum.Forum%3A8374%40demo.dxtera.org
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Reply",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this reply, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this reply, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this reply for display.",
"type": "string"
},
"description": {
"description": "The description of this reply.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this reply. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"sequestered": {
"description": "Whether this reply is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean"
},
"postId": {
"description": "The post associated with this reply.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"replyId": {
"description": "The reply associated with this reply.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"timestamp": {
"description": "The time of this entry.",
"type": "string",
"format": "date-time"
},
"posterId": {
"description": "The posting of this entry.",
"type": "string",
"format": "osid-id"
},
"subjectLine": {
"description": "The subject line of this entry.",
"type": "string"
},
"text": {
"description": "The text of the entry.",
"type": "string"
}
}
}
Example:
{
"id": "forum.Reply:8872@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/reply/forum.Reply%3A8872%40demo.dxtera.org",
"displayName": "Display Name of this Reply",
"description": "The description of this Reply",
"sequestered": false,
"timestamp": "2021-07-21T23:15:30.000Z",
"posterId": "resource.Resource:7469@demo.dxtera.org",
"subjectLine": "This is the SubjectLine",
"text": "This is the Text"
}
Entity representing a reply form metadata.
Get form metadata for creating a new reply.
get /replys/metadata
Get form metadata for creating a new reply.
Query Parameters
- postId: required(string)
the post of this metadatum.
Example:
forum.Post%3A100%40demo.dxtera.org
- replyId: required(string)
the reply of this metadatum.
Example:
forum.Post%3A125%40demo.dxtera.org
- genusType: (string)
specify a particular reply type to create
Example:
type.Type%3AexampleReplyType%40dxtera.org
- forumId: (string)
specify in which forum to create this reply
Example:
forum.Forum%3A8374%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Reply",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this reply, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this reply, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this reply for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Reply.Reply:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this reply",
"linked": false
},
"description": {
"description": "The description of this reply.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Reply.Reply:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this reply",
"linked": false
},
"genusType": {
"description": "The immutable type of this reply. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"sequestered": {
"description": "Whether this reply is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean",
"read-only": false,
"default": false,
"elementId": "Reply.Reply:rule@demo.dxtera.org",
"existingValue": false,
"elementLabel": "Sequestered",
"instructions": "Indicate whether this reply is sequestered",
"linked": false
},
"timestamp": {
"description": "The time of this entry.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Reply:timestamp@dxtera.org",
"existingValue": "",
"elementLabel": "Timestamp",
"instructions": "Enter the timestamp of this reply.",
"linked": false
},
"posterId": {
"description": "The posting of this entry.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Reply:poster@dxtera.org",
"existingValue": null,
"elementLabel": "Poster",
"instructions": "Enter the Id of the poster for this reply.",
"linked": false
},
"subjectLine": {
"description": "The subject line of this entry.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Reply:subjectLine@dxtera.org",
"existingValue": "The existing subject line",
"elementLabel": "Subject Line",
"instructions": "Enter a subject line for this reply.",
"linked": false
},
"text": {
"description": "The text of the entry.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Reply:text@dxtera.org",
"existingValue": "The existing text",
"elementLabel": "Text",
"instructions": "Enter a text for this reply.",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a reply
Get a reply given its id.
Update a given reply.
Delete a given reply.
get /replys/{replyId}
Get a reply given its id.
URI Parameters
- replyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "forum.Reply:8512@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/reply/forum.Reply%3A8512%40demo.dxtera.org",
"displayName": "Display Name of this Reply",
"description": "The description of this Reply",
"genusType": "type.Type:defaultReplyType@dxtera.org",
"sequestered": false,
"postId": "forum.Post:1898@demo.dxtera.org",
"replyId": ":2994@demo.dxtera.org",
"timestamp": "2021-07-21T23:15:30.000Z",
"posterId": "resource.Resource:4585@demo.dxtera.org",
"subjectLine": "This is the SubjectLine",
"text": "This is the Text"
}
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": "reply not found" }
put /replys/{replyId}
Update a given reply.
URI Parameters
- replyId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Reply",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this reply, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this reply, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this reply for display.",
"type": "string"
},
"description": {
"description": "The description of this reply.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this reply. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"sequestered": {
"description": "Whether this reply is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean"
},
"postId": {
"description": "The post associated with this reply.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"replyId": {
"description": "The reply associated with this reply.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"timestamp": {
"description": "The time of this entry.",
"type": "string",
"format": "date-time"
},
"posterId": {
"description": "The posting of this entry.",
"type": "string",
"format": "osid-id"
},
"subjectLine": {
"description": "The subject line of this entry.",
"type": "string"
},
"text": {
"description": "The text of the entry.",
"type": "string"
}
}
}
Example:
{
"id": "forum.Reply:8872@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/reply/forum.Reply%3A8872%40demo.dxtera.org",
"displayName": "Display Name of this Reply",
"description": "The description of this Reply",
"sequestered": false,
"timestamp": "2021-07-21T23:15:30.000Z",
"posterId": "resource.Resource:7469@demo.dxtera.org",
"subjectLine": "This is the SubjectLine",
"text": "This is the Text"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The reply 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": "reply not found" }
delete /replys/{replyId}
Delete a given reply.
URI Parameters
- replyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The reply 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": "reply not found" }
Entity representing a reply form metadata for update
Get form metadata for updating an existing reply.
get /replys/{replyId}/metadata
Get form metadata for updating an existing reply.
URI Parameters
- replyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Reply",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this reply, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this reply, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this reply for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Reply.Reply:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this reply",
"linked": false
},
"description": {
"description": "The description of this reply.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Reply.Reply:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this reply",
"linked": false
},
"genusType": {
"description": "The immutable type of this reply. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"sequestered": {
"description": "Whether this reply is sequestered in that it should not appear outside of its aggregation.",
"type": "boolean",
"read-only": false,
"default": false,
"elementId": "Reply.Reply:rule@demo.dxtera.org",
"existingValue": false,
"elementLabel": "Sequestered",
"instructions": "Indicate whether this reply is sequestered",
"linked": false
},
"timestamp": {
"description": "The time of this entry.",
"type": "string",
"format": "date-time",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Reply:timestamp@dxtera.org",
"existingValue": "",
"elementLabel": "Timestamp",
"instructions": "Enter the timestamp of this reply.",
"linked": false
},
"posterId": {
"description": "The posting of this entry.",
"type": "string",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Reply:poster@dxtera.org",
"existingValue": null,
"elementLabel": "Poster",
"instructions": "Enter the Id of the poster for this reply.",
"linked": false
},
"subjectLine": {
"description": "The subject line of this entry.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Reply:subjectLine@dxtera.org",
"existingValue": "The existing subject line",
"elementLabel": "Subject Line",
"instructions": "Enter a subject line for this reply.",
"linked": false
},
"text": {
"description": "The text of the entry.",
"type": "string",
"read-only": false,
"minLength": null,
"maxLength": null,
"pattern": "",
"default": "",
"enum": [],
"elementId": "forum.Reply:text@dxtera.org",
"existingValue": "The existing text",
"elementLabel": "Text",
"instructions": "Enter a text for this reply.",
"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": "reply not found" }
/forums
Collection of forums in a system or federation of systems.
Get all forums.
Create a new forum.
get /forums
Get all forums.
Query Parameters
- offset: (integer - default: 0)
Skip over a number of elements by specifying an offset value for the query
Example:
20
- limit: (integer - default: 10)
Limit the number of elements on the response
Example:
80
- genusType: (string)
The id string to match a genusType
Example:
type.Type%3AexampleForumType%40dxtera.org
- parentGenusType: (string)
The id string to match a parent genusType
Example:
type.Type%3AparentTypeExampleForumType%40dxtera.org
- providerId: (string)
Id string to match provider.
Example:
resource.Resource%3A3007%40demo.dxtera.org
- postId: (string)
Get forums mapped to this post.
Example:
forum.Post%3A100%40demo.dxtera.org
- replyId: (string)
Get forums mapped to this reply.
Example:
forum.Reply%3A125%40demo.dxtera.org
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "forum.Forum:8186@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/forum/forum.Forum%3A8186%40demo.dxtera.org",
"displayName": "Display Name of this Forum",
"description": "The description of this Forum",
"genusType": "type.Type:defaultForumType@dxtera.org",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Forum@demo.dxtera.org",
"license": "The license that applies to this Forum"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
post /forums
Create a new forum.
Query Parameters
- genusType: (string)
specify a particular forum type to create
Example:
type.Type%3AexampleForumType%40dxtera.org
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Forum",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this forum, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this forum, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this forum for display.",
"type": "string"
},
"description": {
"description": "The description of this forum.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this forum. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"providerId": {
"description": "The provider of this forum.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this forum. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this forum.",
"type": "string"
}
}
}
Example:
{
"id": "forum.Forum:4084@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/forum/forum.Forum%3A4084%40demo.dxtera.org",
"displayName": "Display Name of this Forum",
"description": "The description of this Forum",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Forum@demo.dxtera.org",
"license": "The license that applies to this Forum"
}
Entity representing a forum form metadata.
Get form metadata for creating a new forum.
get /forums/metadata
Get form metadata for creating a new forum.
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Forum",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this forum, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this forum, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this forum for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Forum.Forum:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this forum",
"linked": false
},
"description": {
"description": "The description of this forum.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Forum.Forum:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this forum",
"linked": false
},
"genusType": {
"description": "The immutable type of this forum. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"providerId": {
"description": "The provider of this forum.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Forum.Forum:provider@demo.dxtera.org",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this forum",
"linked": false
},
"brandingIds": {
"description": "The branding of this forum. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Forum.Forum:branding@demo.dxtera.org",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this forum",
"linked": false
},
"license": {
"description": "The licensing that applies to this forum.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Forum.Forum:license@demo.dxtera.org",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this forum",
"linked": false
}
}
}
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
The root forums in the forum hierarchy. A node with no parents is an orphan. While all forum 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-forum
get /forums/root-forum
Get all root root-forum
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "forum.Forum:8186@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/forum/forum.Forum%3A8186%40demo.dxtera.org",
"displayName": "Display Name of this Forum",
"description": "The description of this Forum",
"genusType": "type.Type:defaultForumType@dxtera.org",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Forum@demo.dxtera.org",
"license": "The license that applies to this Forum"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Entity representing a forum
Get a forum given its id.
Update a given forum.
Delete a given forum.
get /forums/{forumId}
Get a forum given its id.
URI Parameters
- forumId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"id": "forum.Forum:8186@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/forum/forum.Forum%3A8186%40demo.dxtera.org",
"displayName": "Display Name of this Forum",
"description": "The description of this Forum",
"genusType": "type.Type:defaultForumType@dxtera.org",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Forum@demo.dxtera.org",
"license": "The license that applies to this Forum"
}
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": "forum not found" }
put /forums/{forumId}
Update a given forum.
URI Parameters
- forumId: required(string)
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Forum",
"type": "object",
"properties": {
"id": {
"description": "The unique id of this forum, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this forum, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this forum for display.",
"type": "string"
},
"description": {
"description": "The description of this forum.",
"type": "string"
},
"genusType": {
"description": "The immutable type of this forum. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"providerId": {
"description": "The provider of this forum.",
"type": "string",
"format": "osid-id"
},
"brandingIds": {
"description": "The branding of this forum. A collection of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id"
}
},
"license": {
"description": "The licensing that applies to this forum.",
"type": "string"
}
}
}
Example:
{
"id": "forum.Forum:4084@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/forum/forum.Forum%3A4084%40demo.dxtera.org",
"displayName": "Display Name of this Forum",
"description": "The description of this Forum",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Forum@demo.dxtera.org",
"license": "The license that applies to this Forum"
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The forum 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": "forum not found" }
delete /forums/{forumId}
Delete a given forum.
URI Parameters
- forumId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The forum 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": "forum not found" }
Entity representing a forum form metadata for update
Get form metadata for updating an existing forum.
get /forums/{forumId}/metadata
Get form metadata for updating an existing forum.
URI Parameters
- forumId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"$schema": "http://json-schema.org/draft/2019-9/schema#",
"title": "Forum",
"type": "object",
"required": ["displayName"],
"properties": {
"id": {
"description": "The unique id of this forum, provided by system.",
"type": "string",
"format": "osid-id",
"readOnly": true
},
"uri": {
"description": "The uri of this forum, provided by system.",
"type": "string",
"format": "uri",
"readOnly": true
},
"displayName": {
"description": "The name of this forum for display.",
"type": "string",
"read-only": false,
"minLength": 1,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Forum.Forum:displayName@demo.dxtera.org",
"existingValue": "The Existing Name",
"elementLabel": "Name",
"instructions": "Enter a name for this forum",
"linked": false
},
"description": {
"description": "The description of this forum.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Forum.Forum:displayName@demo.demo.dxtera.org",
"existingValue": "The Existing Description",
"elementLabel": "Description",
"instructions": "Enter a description for this forum",
"linked": false
},
"genusType": {
"description": "The immutable type of this forum. Default type set by system unless specified in query parameter.",
"type": "string",
"format": "osid-type",
"readOnly": true
},
"providerId": {
"description": "The provider of this forum.",
"type": "string",
"format": "osid-id",
"read-only": false,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Forum.Forum:provider@demo.dxtera.org",
"existingValue": "",
"elementLabel": "Provider",
"instructions": "Enter the provider of this forum",
"linked": false
},
"brandingIds": {
"description": "The branding of this forum. A list of Assets.",
"type": "array",
"items" : {
"type": "string",
"format": "osid-id",
"pattern": "",
"enum": []
},
"read-only": false,
"default": [],
"elementId": "Forum.Forum:branding@demo.dxtera.org",
"existingValue": "",
"elementLabel": "Branding",
"instructions": "Enter the branding images for this forum",
"linked": false
},
"license": {
"description": "The licensing that applies to this forum.",
"type": "string",
"read-only": false,
"minLength": 0,
"maxLength": 128,
"pattern": "",
"default": "",
"enum": [],
"elementId": "Forum.Forum:license@demo.dxtera.org",
"existingValue": "The Existing License",
"elementLabel": "License",
"instructions": "Include a license for this forum",
"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": "forum not found" }
Get children forums for the given forum in the hierarchy.
get /forums/{forumId}/children
Get children forums for the given forum in the hierarchy.
URI Parameters
- forumId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "forum.Forum:8186@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/forum/forum.Forum%3A8186%40demo.dxtera.org",
"displayName": "Display Name of this Forum",
"description": "The description of this Forum",
"genusType": "type.Type:defaultForumType@dxtera.org",
"providerId": "resource.Resource:123@demo.dxtera.org",
"brandingId": "asset.Asset:Forum@demo.dxtera.org",
"license": "The license that applies to this Forum"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add forum as child of the given forum in the hierarchy.
Remove the given forum as a child of the given forum in the hierarchy.
put /forums/{forumId}/children/{childId}
Add forum as child of the given forum in the hierarchy.
URI Parameters
- forumId: required(string)
- childId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "The child forum has been added" }
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
HTTP status code 404
Body
Media type: application/json
Type: any
Example:
{ "message": "forum not found" }
delete /forums/{forumId}/children/{childId}
Remove the given forum as a child of the given forum in the hierarchy.
Get all posts in this forum
get /forums/{forumId}/posts
Get all posts in this forum
URI Parameters
- forumId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "forum.Post:7704@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/post/forum.Post%3A7704%40demo.dxtera.org",
"displayName": "Display Name of this Post",
"description": "The description of this Post",
"genusType": "type.Type:defaultPostType@dxtera.org",
"timestamp": "2021-07-21T23:15:30.000Z",
"posterId": "resource.Resource:5143@demo.dxtera.org",
"subjectLine": "This is the SubjectLine",
"text": "This is the Text"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given post to this forum
Remove the given post from the forum.
put /forums/{forumId}/posts/{postId}
Add the given post to this forum
URI Parameters
- forumId: required(string)
- postId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "post has been added to forum" }
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": "post not found" }
delete /forums/{forumId}/posts/{postId}
Remove the given post from the forum.
URI Parameters
- forumId: required(string)
- postId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "post 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": "post not found" }
Get all replys in this forum
get /forums/{forumId}/replys
Get all replys in this forum
URI Parameters
- forumId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"id": "forum.Reply:8512@demo.dxtera.org",
"uri": "http://demo.dxtera.org/open/campusapi/forum/reply/forum.Reply%3A8512%40demo.dxtera.org",
"displayName": "Display Name of this Reply",
"description": "The description of this Reply",
"genusType": "type.Type:defaultReplyType@dxtera.org",
"sequestered": false,
"postId": "forum.Post:1898@demo.dxtera.org",
"replyId": ":2994@demo.dxtera.org",
"timestamp": "2021-07-21T23:15:30.000Z",
"posterId": "resource.Resource:4585@demo.dxtera.org",
"subjectLine": "This is the SubjectLine",
"text": "This is the Text"
},
{
"...": "..."
}
]
HTTP status code 403
Body
Media type: application/json
Type: any
Example:
{"message": "Permission denied" }
Add the given reply to this forum
Remove the given reply from the forum.
put /forums/{forumId}/replys/{replyId}
Add the given reply to this forum
URI Parameters
- forumId: required(string)
- replyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "reply has been added to forum" }
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": "reply not found" }
delete /forums/{forumId}/replys/{replyId}
Remove the given reply from the forum.
URI Parameters
- forumId: required(string)
- replyId: required(string)
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{ "message": "reply 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": "reply not found" }