-
Notifications
You must be signed in to change notification settings - Fork 147
Web api for developers
- Introduction
- List of all available methods
- The list request/response example
- Code API example
- Root
- Version
- Layouts
- Get a list of layouts
- Get layout by id
- Get layout regions by layout id
- Get layout options by layout id
- Categories
- Tags
- Languages
- Pages
- Pages
- Get a list of pages
- Get a page by Id or by URL
- Get page properties by id or by URL
- Check if page exists and get page id
- Search within pages content
- Translations
- Contents
- Get page contents by page id
- Get a HTML content by id
- Get a list of historical contents by content id
- Get page content options by page content id
- Widgets
- Get a list of widgets
- Get a HTML content widget by Id
- Get a HTML content widget options by widget Id
- Get a server control widget by Id
- Get a server control widget options by widget Id
- Redirects
- Sitemap
- Blogs
- Media Manager
- Users
This document is addressed to communicate a Better CMS API protocol. There are two options to access Better CMS API:
- With HTTP Request
- Direct C# method call (a BetterCms.Module.Api assembly must be referenced).
| Field Name | Type | Description |
| filter | DataFilter | Data filter object with filter options list and inner filters list. |
| order | DataOrder | The list with order options. |
| take | int | The maximum count of returning items. |
| skip | int | The number of items to skip. |
DataFilter object:
| Field Name | Type | Description |
| connector | string | The connector of filter items. Possible values:
|
| where* | List<DataFilterItem> | The list of filter options. |
| inner | List<DataFilter> | The list of inner filters. |
DataFilterItem object:
| Field Name | Type | Description |
| field* | string | The field name of the model, which is returned in the response. |
| operation | string |
Filtering operation. Possible values:
|
| value | string | Filtering value. |
* (asterisk) - a required field.
DataOrder object:
| Field Name | Type | Description |
| by* | List<DataOrderItem> | The list of order options. |
DataOrderItem object:
| Field Name | Type | Description |
| field* | string | The field name of the model, which is returned in the response. |
| direction | string | The direction of sorting items. Possible values:
|
* (asterisk) - a required field.
In some cases User Identity object may be passed for filtering (e.g. for filtering out pages / media / blog posts for user "user1" with roles "role1" and "role2").
This can be done by passing User object within request
| Field Name | Type | Description |
| name* | string | User identity name (e.g. "admin", "[email protected]", etc.). |
| roles | List<string> | List of user role names (e.g. "role1", "BcmsEditContent", etc.). |
HTTP: always returns a HTTP CODE 200.
Generally Better CMS always returns result in format:
| Field Name | Type | Description |
| data* | object | See concrete API methods for the data object specification. |
Default response.data object when getting a list using default response:
| Field Name | Type | Description |
| items* | List<TModel> | A list of Model object (where TModel is type of retrieving item). |
| totalCount* | int | A total count of found items. |
* (asterisk) - a required/always transmitted field.
HTTP: always returns a HTTP CODE 500 and response object:
| Field Name | Type | Description |
| responseStatus* | ResponseStatus | An error object. |
ResponseStatus object:
| Field Name | Type | Description |
| errorCode* | string | The name of the Exception type. |
| message | string | A human friendly error message. |
| stackTrace | string | A error stack trace. |
| errors | List<ResponseError> | For multiple detailed validation errors. Used for returning multiple field validation errors. |
ResponseError object:
| Field Name | Type | Description |
| errorCode* | string | The name of the Exception type. |
| fieldName | string | A human friendly error message. |
| message | string | A error stack trace. |
C#: always throws XException (TBD.)
TODO: add exception handling example.
NOTE: Save (POST / PUT / DELETE) methods were implemented in version 1.7.0
By default, Better CMS API uses RESTful API model with these REST methods (there are few exceptions):
| Resource | GET | PUT | POST | DELETE |
| Collection URI, such as /bcms-api/tags | Returns a collection of (lightweight) objects | Not used | Creates a new entry in the collection. | Not used |
| Element URI, such as /bcms-api/tags/{TagId} | Returns one object, usually with more details that collection | Replaces an entry in the collection. If entry doesn't exist, creates it | Not used | Deletes an entry from the collection. |
All available URIs and methods:
<tbody>
| URL | Description | Provided methods |
| /bcms-api/authors | Blog post authors |
GET POST |
| /bcms-api/authors/{AuthorId} | Blog post author |
GET PUT DELETE |
| /bcms-api/blog-post-properties/ | Blog post properties (only create method) |
POST |
| /bcms-api/blog-post-properties/{BlogPostId} | Blog post properties |
GET PUT DELETE |
| /bcms-api/blog-posts | Blog posts |
GET |
| /bcms-api/blog-posts/{BlogPostId} | Blog post |
GET |
| /bcms-api/blog-posts/content/{ContentId} | Blog post content |
GET |
| /bcms-api/blog-settings | Blog post settings (default blog post template / master page) |
GET PUT |
| /bcms-api/categories | Categories |
GET POST |
| /bcms-api/categories/{CategoryId} | Category |
GET PUT DELETE |
| /bcms-api/categories/by-name/{CategoryName} | Category by name |
GET |
| /bcms-api/contents/{ContentId}/draft | The method to destory draft version of already published content |
DELETE |
| /bcms-api/contents/{ContentId}/history | Content's historical versions |
GET |
| /bcms-api/contents/html | HTML content (only create) |
POST |
| /bcms-api/contents/html/{ContentId} | HTML content |
GET PUT DELETE |
| /bcms-api/current-version | Version of installed Better CMS |
GET |
| /bcms-api/files | Media files |
GET POST |
| /bcms-api/files/{FileId} | Media file |
GET PUT DELETE |
| /bcms-api/folders | Media folders |
GET POST |
| /bcms-api/folders/{FolderId} | Media folder |
GET PUT DELETE |
| /bcms-api/images | Media images |
GET POST |
| /bcms-api/images/{ImageId} | Media image |
GET PUT DELETE |
| /bcms-api/languages | languages |
GET POST |
| /bcms-api/languages/{LanguageId} | Language |
GET PUT DELETE |
| /bcms-api/languages/by-code/{Language Code} | Language by language code |
GET |
| /bcms-api/layouts | Page layouts (templates) |
GET POST |
| /bcms-api/layouts/{LayoutId} | Page layout (template) |
GET PUT DELETE |
| /bcms-api/layouts/{LayoutId}/options | Page layout (template) options |
GET |
| /bcms-api/layouts/{LayoutId}/regions | Page layout (template) regions |
GET |
| /bcms-api/media-tree | Media tree |
GET |
| /bcms-api/page-exists/{PageUrl*} | Method for checking if page exists (by provided page URL) |
GET |
| /bcms-api/page-properties/ | Page properties (only create) |
POST |
| /bcms-api/page-properties/{PageId} | Page properties |
GET PUT DELETE |
| /bcms-api/page-properties/by-url/{PageUrl*} | Page properties by page URL |
GET |
| /bcms-api/pages | Pages |
GET |
| /bcms-api/pages/{PageId} | Page |
GET |
| /bcms-api/pages/{PageId}/contents | Page contents |
GET POST |
| /bcms-api/pages/{PageId}/contents/{PageContentId} | Page content by specified page and page content id |
GET PUT DELETE |
| /bcms-api/pages/by-url/{PageUrl*} | Page by URL |
GET |
| /bcms-api/pages/contents/{PageContentId}/options | Page content's options |
GET |
| /bcms-api/pages/search/{SearchString*} | Search result by the provided search query |
GET |
| /bcms-api/pages/translations/by-url/{PageUrl} | Page translations by provided page URL |
GET |
| /bcms-api/pages/{PageId}/translations | Page translations |
GET |
| /bcms-api/redirects | Redirects |
GET POST
|
| /bcms-api/redirects/{RedirectId} | Redirect |
GET PUT DELETE |
| /bcms-api/roles | User roles |
GET POST
|
| /bcms-api/roles/{RoleId} | User role |
GET PUT DELETE |
| /bcms-api/roles/by-name/{RoleName} | User role by role name |
GET |
| /bcms-api/sitemap-node/{NodeId} | Sitemap node |
GET |
| /bcms-api/sitemap-nodes/{SitemapId} | Sitemap nodes |
GET |
| /bcms-api/sitemaps | Sitemaps |
GET POST |
| /bcms-api/sitemaps/{SitemapId} | Sitemap |
GET PUT DELETE |
| /bcms-api/sitemaps/{SitemapId}/nodes/ | Sitemap nodes |
GET POST |
| /bcms-api/sitemaps/{SitemapId}/nodes/{NodeId} | Sitemap node by sitemap id and node id |
GET PUT DELETE |
| /bcms-api/sitemaps/{SitemapId}/tree/ | Sitemaps tree |
GET |
| /bcms-api/sitemap-tree/{SitemapId} | Sitemaps tree |
GET |
| /bcms-api/sitemap-trees | Sitemaps tree list |
GET |
| /bcms-api/tags | Tags |
GET POST |
| /bcms-api/tags/{TagId} | Tag |
GET PUT DELETE |
| /bcms-api/tags/by-name/{Tag Name} | Tag by name |
GET |
| /bcms-api/users | Users |
GET POST |
| /bcms-api/users/{UserId} | User by id |
GET PUT DELETE |
| /bcms-api/users/by-username/{UserName} | User by username |
GET |
| /bcms-api/users/validate | User's username and password validation |
GET |
| /bcms-api/widgets | Widgets |
GET |
| /bcms-api/widgets/html-content/ | HTML content widget (create only) |
POST |
| /bcms-api/widgets/html-content/{WidgetId} | HTML content widget |
GET PUT DELETE |
| /bcms-api/widgets/html-content/{WidgetId}/options | HTML content widget options |
GET |
| /bcms-api/widgets/server-control/ | Server control widget (create only) |
POST |
| /bcms-api/widgets/server-control/{WidgetId} | Server control widget |
GET PUT DELETE |
| /bcms-api/widgets/server-control/{WidgetId}/options | Server control widget options |
GET |
There are the examples of request with filters, inner filters, order and paging in JSON format:
<h3>URL query filtering:</h3>
<ul>
<li><strong>Filter</strong> (<i>WHERE Name Contains "test"</i>): <code>?data={filter:{where:[{field:Name,operation:contains,value:test}]}}</code></li>
<li><strong>Order</strong> (<i>ORDER BY categoryName DESC, CreatedOn ASC</i>): <code>?data={order:{by:[{field:CategoryName, direction:desc},{field:CreatedOn}]}}</code></li>
<li><strong>Paging</strong> (<i>TAKE 5 SKIP 3</i>): <code>?data={take:5,skip:3}</code></li>
<li><strong>Filter, order, paging</strong> (<i>WHERE Name StartsWith "A" ORDER BY CategoryName DESC TAKE 3 SKIP 5</i>): <code>?data={filter:{where:
[{field:Name,operation:startsWith,value:A}]},take:3,skip:5,order:{by:[{field:CategoryName, direction:desc}]}}
?data={filter:{where:[{field:Name,operation:contains,value:test}],inner:{connector:or,where:[{field:Name,operation:endsWith,value:Z},{field:Name,operation:endsWith,value:S}]}}}
?data={filter:{where:[{field:Title,operation:startsWith,value:test}]}}&user={name:admin,roles:[role1,role2]} ?data={filter:{where:[{field:Title,operation:startsWith,value:test}]}}&user={name:admin,roles:[role1,role2]} data = {
filter: {
connector: 'and',
where: [
{ field: 'CreatedOn', value: '\/Date(1224043200000)\/', operation: 'Greater' },
{ field: 'Title', value: 'Africa', operation: 'NotEqual' }
],
inner: [
{
connector: 'or',
where: [
{ field: 'Title', value: 'It', operation: 'StartsWith' },
{ field: 'Title', value: 'Af', operation: 'StartsWith' },
{ field: 'Title', value: 'na', operation: 'EndsWith' }
]
}
]
},
order: {
by: [
{ field: 'CreatedOn' },
{ field: 'Title', direction: 'desc' }
],
},
skip: 3,
take: 5
}
There is an example of list request with filter, inner filters, sorting and paging.
Usually, for getting the list/item, Get() method should be called (for example, for getting the list of widgets, Pages.Widgets.Get() should be called).
NOTE: Do not forget to dispose API instance after using (best way to accomplish this is to wrap all the API code within using):
using (var api = ApiFactory.Create())
{
var requestModel = new GetWidgetsModel();
requestModel.Take = 5; // Retrieves 5 items
requestModel.Skip = 3; // Skips 3 items
requestModel.Order.Add("Name"); // Sorts by name ascending
requestModel.Order.Add("CreatedOn", OrderDirection.Desc); // Then sorts by date descending
requestModel.Filter.Connector = FilterConnector.And; // Filtering connector (optional, default value = FilterConnector.And)
requestModel.Filter.Add("Name", "A", FilterOperation.StartsWith); // Filters by name: item should start with "A"
requestModel.Filter.Add("Name", "B", FilterOperation.EndsWith); // Filters by name: item should start with "B"
var innerFilter = new DataFilter(FilterConnector.Or); // Create inner filter
innerFilter.Add("CreatedBy", "Name.Surname.1");
innerFilter.Add("CreatedBy", "Name.Surname.2");
requestModel.Filter.Inner.Add(innerFilter); // Add inner filter to filters list
var request = new GetWidgetsRequest { Data = requestModel }; // Create request
var widgets = api.Pages.Widgets.Get(request); // Execute query
}
HTTP GET: /bcms-api/current-version/
C#: api.Root.Version.Get()
No request model needed.
A success response.data object format:
| Field Name | Type | Description |
| version* | string | An underlying Better CMS version. |
HTTP GET: /bcms-api/layouts/
C#: api.Root.Layouts.Get()
Retrieves the list of all available layouts.
Use default list filtering, sorting and paging options.
A success response.data object format:
| Field Name | Type | Description |
| items | List<Layout> | A list of Layout objects. |
| totalCount | int | A total count of found layouts. |
Layout object format:
| Field Name | Type | Description |
| id* | Guid | Layout id. |
| name* | string(200) | Layout name. |
| layoutPath* | string(850) | Layout path (server URL). |
| previewUrl | string(850) | Layout image preview URL. |
| createdOn* | DateTime | The date of layout creation. |
| createdBy* | string(200) | User name of layout creator. |
| lastModifiedOn* | DateTime | The date of layout last modification. |
| lastModifiedBy* | string(200) | User name of layout last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/layouts/{id}
C#: api.Root.Layout.Get()
Returns layout, identified by id.
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | Layout id. |
| name* | string(200) | Layout name. |
| layoutPath* | string(850) | Layout path (server URL). |
| previewUrl | string(850) | Layout image preview URL. |
| createdOn* | DateTime | The date of layout creation. |
| createdBy* | string(200) | User name of layout creator. |
| lastModifiedOn* | DateTime | The date of layout last modification. |
| lastModifiedBy* | string(200) | User name of layout last modificator. |
| version* | int | A record version number. |
For code API, use these request properties:
| Field Name | Type | Description |
| LayoutId | Guid | Layout id. |
HTTP GET: /bcms-api/layouts/{layoutId}/regions/
C#: api.Root.Layout.Regions.Get()
Returns the list and total count of specified layout regions.
Use default list filtering, sorting and paging options.
A success response.data object format:
| Field Name | Type | Description |
| items | List<Region> | A list of Region objects. |
| totalCount | int | Total count of found regions. |
Region object format:
| Field Name | Type | Description |
| id* | Guid | A region id. |
| regionIdentifier* | string(200) | Region identifier. |
| description | string(200) | Layout region description. |
| createdOn* | DateTime | The date of region creation. |
| createdBy* | string(200) | User name of region creator. |
| lastModifiedOn* | DateTime | The date of region last modification. |
| lastModifiedBy* | string(200) | User name of last region modificator. |
| version* | int | A record version number. |
Request parameters for code API:
| Field Name | Type | Description |
| layoutId* | Guid | A layout id. |
HTTP GET: /bcms-api/layouts/{LayoutId}/options
C#: api.Root.Layout.Regions.Get()
Returns the list and total count of layout option objects, identified by layout id.
Use default request for getting a list.
For code API use these request parameters:
| Field Name | Type | Description |
| LayoutId* | Guid | Page content id. |
A success response.data object format:
| Field Name | Type | Description |
| items | List<Option> | A list of Option objects. |
| totalCount | int | Total count of found layout options. |
Option object format:
| Field Name | Type | Description |
| key* | string(200) | Option key. |
| defaultValue | string | Default option value. |
| type* | string | Layout option type:
|
HTTP GET: /bcms-api/categories/
C#: api.Root.Categories.Get()
Returns the list and total count of all available categories.
Use default list filtering, sorting and paging options.
A success response.data object format:
| Field Name | Type | Description |
| items | List<Category> | A list of Category objects. |
| totalCount | int | Total count of found categories. |
Category object format:
| Field Name | Type | Description |
| id* | Guid | A category id. |
| name* | string(200) | Category name. |
| createdOn* | DateTime | The date of category creation. |
| createdBy* | string(200) | User name of category creator. |
| lastModifiedOn* | DateTime | The date of category last modification. |
| lastModifiedBy* | string(200) | User name of category last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/categories/{id}/ - get category by id
HTTP GET: /bcms-api/categories/by-name/{name}/ - get category by name
C#: api.Root.Category.Get()
Returns category object, identified by id.
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | A category id. |
| name* | string(200) | Category name. |
| createdOn* | DateTime | The date of category creation. |
| createdBy* | string(200) | User name of category creator. |
| lastModifiedOn* | DateTime | The date of category last modification. |
| lastModifiedBy* | string(200) | User name of category last modificator. |
| version* | int | A record version number. |
For code API, use these request properties:
| Field Name | Type | Description |
| categoryId* | Guid | Category id. |
HTTP GET: /bcms-api/tags/
C#: api.Root.Tags.Get()
Returns the list and total count of all available tags.
Use default list filtering, sorting and paging options.
A success response.data object format:
| Field Name | Type | Description |
| items | List<Tag> | A list of Tag objects. |
| totalCount | int | Total count of found tags. |
Tag object format:
| Field Name | Type | Description |
| id* | Guid | A tag id. |
| name* | string(200) | Tag name. |
| createdOn* | DateTime | The date of tag creation. |
| createdBy* | string(200) | User name of tag creator. |
| lastModifiedOn* | DateTime | The date of tag last modification. |
| lastModifiedBy* | string(200) | User name of tag last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/tags/{id} - get tag by id.
HTTP GET: /bcms-api/tags/by-name/{name}/ - get tag by name
C#: api.Root.Tag.Get()
Returns tag object, identified by id or name.
Successful response.data object format:
| Field Name | Type | Description |
| id* | Guid | The tag id. |
| name* | string(200) | The tag name. |
| createdOn* | DateTime | The date of tag creation. |
| createdBy* | string(200) | User name of tag creator. |
| lastModifiedOn* | DateTime | The date of tag last modification. |
| lastModifiedBy* | string(200) | User name of tag last modificator. |
| version* | int | A record version number. |
For code API, use these request properties:
| Field Name | Type | Description |
| TagId | Guid | Tag id. Cannot be specified, if TagName is specified. |
| TagName | string | Tag name. Cannot be specified, if TagId is specified. |
HTTP GET: /bcms-api/languages/
C#: api.Root.Languages.Get()
Returns the list and total count of all available languages.
Use default list filtering, sorting and paging options.
A success response.data object format:
| Field Name | Type | Description |
| items | List<Language> | A list of Language objects. |
| totalCount | int | Total count of found languages. |
Language object format:
| Field Name | Type | Description |
| id* | Guid | A language id. |
| name* | string(200) | Language name. |
| code* | string(200) | Language code (.NET CultureInfo Name). |
| createdOn* | DateTime | The date of language creation. |
| createdBy* | string(200) | User name of language creator. |
| lastModifiedOn* | DateTime | The date of language last modification. |
| lastModifiedBy* | string(200) | User name of language last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/languages/{id} - get language by id.
HTTP GET: /bcms-api/languages/by-code/{name}/ - get language by code
C#: api.Root.Language.Get()
Returns language object, identified by id or code.
Successful response.data object format:
| Field Name | Type | Description |
| id* | Guid | The language id. |
| name* | string(200) | The language name. |
| code* | string(200) | The language code (.NET CultureInfo Name). |
| createdOn* | DateTime | The date of language creation. |
| createdBy* | string(200) | User name of language creator. |
| lastModifiedOn* | DateTime | The date of language last modification. |
| lastModifiedBy* | string(200) | User name of language last modificator. |
| version* | int | A record version number. |
For code API, use these request properties:
| Field Name | Type | Description |
| LanguageId | Guid | Language id. Cannot be specified, if LanguageCode is specified. |
| LanguageCode | string(200) | Language code (.NET CultureInfo Name). Cannot be specified, if LanguageId is specified. |
HTTP GET: /bcms-api/pages/
C#: api.Pages.Pages.Get()
Returns a list and total count of all available pages.
Use default request for getting a list with extender properties.
| Field Name | Type | Description |
| user | UserIdentity | User identity object (optional).
Used for filtering secured pages by access rules. Empty user is passed by default (filtering by user is disabled). |
| includeArchived | bool | Indicates if archived pages should be returned.
Default = false. |
| includeUnpublished | bool | Indicates, if unpublished pages should be returned.
Default = false. |
| includePageOptions | bool | Indicates, if page options lists should be returned with each page model. Default = false. |
| includeTags | bool | Indicates, if tags list should be returned within each page model.
Default = false. |
| includeAccessRules | bool |
Indicates if the list of access rules objects should be retrieved. Default = false. |
| includeMasterPages | bool | Indicates, if master pages should be returned.
Default = false. |
| filterByTags | List<string> | List of tags, filtered using tags connector (by default, connector value = 'and'). |
| filterByTagsConnector | string | Tags filtering connector. Possible values:
|
A success response.data object format:
| Field Name | Type | Description |
| items | List<Page> | A list of Page objects. |
| totalCount | int | Total count of found pages. |
Page object format:
| Field Name | Type | Description |
| id* | Guid | A page id. |
| pageUrl* | string(850) | A page URL. |
| title* | string(200) | The page title. |
| description | string | Page description. |
| isPublished* | bool | The page status. |
| publishedOn | datetime | The page published date. |
| layoutId | Guid | The page layout id (is set only if masterPageId is not set). |
| masterPageId | Guid | The master page id (is set only if layoutId is not set). |
| categoryId | Guid | The page category id. |
| categoryName | string(200) | The page category name. |
| mainImageId | Guid | Main image id. |
| mainImageUrl | string(850) | Main image URL. |
| mainImageThumbnauilUrl | string(850) | Main image thumbnail URL. |
| mainImageCaption | string(2000) | Main image caption. |
| isArchived* | bool | Indicates, if page is marked as archived. |
| isMasterPage* | bool | Indicates, if page is a master page. |
| languageId | Guid | Page language id. |
| languageCode | string(200) | Page language code (.NET CultureInfo Name). |
| languageGroupIdentifier | Guid | Language group identifier (all current page translations are grouped by this identifier). |
| options | List<Option> | List of option models. Is retrieved only if request.includePageOptions is set to true. |
| tags | List<string> | List of tags. Is retrieved only if request.includeTags is set to true. |
| accessRules | List<AccessRule> | Access rules objects list. Is retrieved only if request.includeAccessRules is set to true. |
| createdOn* | DateTime | The date of page creation. |
| createdBy* | string(200) | The user created page. |
| lastModifiedOn* | DateTime | The last modification date. |
| lastModifiedBy* | string(200) | The last modification user. |
| version* | int | A record version number. |
Option object format:
| Field Name | Type | Description |
| key* | string(200) | Option key. |
| value | string | Option value. |
| defaultValue | string | Default option value. |
| type* | string | Page content option type:
|
AccessRule object format:
| Field Name | Type | Description |
| identity | string(200) | Role name or user name. |
| accessLevel | string |
|
| isForRole | bool | Determines, if identity is role name (true) or user name (false). |
HTTP GET: /bcms-api/pages/{id}/ - gets a page by id
HTTP GET: /bcms-api/pages/by-url/{url}/ - gets a page by url
C#: api.Pages.Page.Get()
Gets page object by specified id or by url.
For code API, use these request properties:
| Field Name | Type | Description |
| PageUrl* | string(850) | A page url. Cannot be specified, if request.pageId is specified. |
| PageId* | Guid | A page id. Cannot be specified, if request.pageUrl is specified. |
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | A page id. |
| pageUrl* | string(850) | A page URL. |
| title* | string(200) | The page title. |
| description | string | Page description. |
| isPublished* | bool | The page status. |
| publishedOn | datetime | The page published date. |
| layoutId | Guid | The page layout id (is set only if masterPageId is not set). |
| masterPageId | Guid | The master page id (is set only if layoutId is not set). |
| categoryId | Guid | The page category id. |
| categoryName | string(200) | The page category name. |
| isArchived* | bool | Indicates, if page is marked as archived. |
| isMasterPage* | bool | Indicates, if page is a master page. |
| mainImageId | Guid | Main image id. |
| mainImageUrl | string(850) | Main image URL. |
| mainImageThumbnauilUrl | string(850) | Main image thumbnail URL. |
| mainImageCaption | string(2000) | Main image caption. |
| languageId | Guid | Page language id. |
| languageCode | string(200) | Page language code (.NET CultureInfo Name). |
| languageGroupIdentifier | Guid | Language group identifier (all current page translations are grouped by this identifier). |
| createdOn* | DateTime | The date of page creation. |
| createdBy* | string(200) | The user created page. |
| lastModifiedOn* | DateTime | The last modification date. |
| lastModifiedBy* | string(200) | The last modification user. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/page-properties/{id} - gets page properties by id
HTTP GET: /bcms-api/page-properties/by-url/{pageUrl} - gets page properties by page URL
C#: api.Pages.Page.Properties.Get()
Gets page properties by specified id.
The request properties for filtering and returning results:
| Field Name | Type | Description |
| includeTags | bool | Indicates if a response.tags object should be retrieved. Default value is false. |
| includeCategory | bool | Indicates if a response.category object should be retrieved.
Default value is false. |
| includeLayout | bool | Indicates if a response.layout object should be retrieved. Default value is false. |
| includeImages | bool | Indicates if image objects should be returned.
Default value is false. |
| includeMetadata | bool | Indicates if a metadata object should be retrieved.
Default value is false. |
| includeAccessRules | bool |
Indicates if the list of access rules objects should be retrieved. Default value is false. |
| includePageContents | bool | Indicates if list of page content objects should be retrieved. Default value is false. |
| includePageOptions | bool |
Indicates if list of page option objects should be retrieved.
Default value is false. |
| includeLanguage | bool | Indicates if page language object should be retrieved. Default value is false. |
| includePageTranslations | bool | Indicates if list of page translation objects should be retrieved. Default value is false. |
For code API, use these additional request properties:
| Field Name | Type | Description |
| PageUrl* | string(850) | A page url. Cannot be specified, if request.pageId is specified. |
| PageId* | Guid | A page id. Cannot be specified, if request.pageUrl is specified. |
A response.data object format:
| Field Name | Type | Description |
| id* | Guid | A page id. |
| pageUrl* | string(850) | A page URL. |
| title* | string(200) | The page title. |
| description | string(2000) | The page description. |
| isPublished* | bool | The page status. |
| publishedOn | datetime | The page published date. |
| layoutId | Guid | The page layout id (is set only if masterPageId is not set). |
| masterPageId | Guid | The master page id (is set only if layoutId is not set). |
| categoryId | Guid | The page category id. |
| isArchived* | bool | Indicates, if page is marked as archived. |
| isMasterPage* | bool | Indicates, if page is a master page. |
| mainImageId | Guid | Main image id. |
| featuredImageId | Guid | Featured image id. |
| secondaryImageId | Guid | Secondary image id. |
| customCss | string(max) | Page custom CSS. |
| customJavaScript | string(max) | Page custom JavaScript. |
| useCanonicalUrl | bool | Flag, indicating whether canonical URL should be used. |
| useNoFollow | bool | Flag, indicating whether noFollow meta tag should be used. |
| useNoIndex | bool | Flag, indicating whether noIndex meta tag should be used. |
| languageId | Guid | Page language id. |
| languageGroupIdentifier | Guid | Language group identifier (all current page translations are grouped by this identifier). |
| createdOn* | DateTime | The date of page creation. |
| createdBy* | string(200) | The user created page. |
| lastModifiedOn* | DateTime | The last modification date. |
| lastModifiedBy* | string(200) | The last modification user. |
| version* | int | A record version number. |
Additionally a response returns childs and referenced objects, if any of request's include flags were selected. Additional response properties:
| Field Name | Type | Description |
| layout | Layout | Layout object.
Only if request.includeLayout = true |
| category | Category | Category object.
Only if request.includeCategory = true |
| tags | List<Tag> | List of Tag objects. Only if request.includeTags = true |
| mainImage | Image | Main image object.
Only if request.includeImages = true. |
| featuredImage | Image | Featured image object.
Only if request.includeImages = true. |
| secondaryImage | Image | Secondary image object.
Only if request.includeImages = true. |
| metaData | MetaData | Metadata object. Only if request.includeMetaData = true. |
| accessRules | List<AccessRule> | Access rules objects list. Only if request.includeAccessRules = true. |
| pageContents | List<PageContent> | List of page content objects.
Only if request.includePageContents = true |
| pageOptions | List<PageOption> | List of page options objects.
Only if request.includePageOptions = true |
| language | Language | Language object. Only if request.includeLanguage = true |
| pageTranslations | List<PageTranslation> | List of page translation objects. Only if request.includePageTranslations = true |
Layout object format:
| Field Name | Type | Description |
| id* | Guid | Layout id. |
| name* | string(200) | Layout name. |
| layoutPath* | string(850) | Layout path (server URL). |
| previewUrl | string(850) | Layout image preview URL. |
| createdOn* | DateTime | The date of layout creation. |
| createdBy* | string(200) | User name of layout creator. |
| lastModifiedOn* | DateTime | The date of layout last modification. |
| lastModifiedBy* | string(200) | User name of layout last modificator. |
| version* | int | A record version number. |
Tag object format:
| Field Name | Type | Description |
| id* | Guid | A tag id. |
| name* | string(200) | Tag name. |
| createdOn* | DateTime | The date of tag creation. |
| createdBy* | string(200) | User name of tag creator. |
| lastModifiedOn* | DateTime | The date of tag last modification. |
| lastModifiedBy* | string(200) | User name of tag last modificator. |
| version* | int | A record version number. |
Category object format:
| Field Name | Type | Description |
| id* | Guid | A category id. |
| name* | string(200) | Category name. |
| createdOn* | DateTime | The date of category creation. |
| createdBy* | string(200) | User name of category creator. |
| lastModifiedOn* | DateTime | The date of category last modification. |
| lastModifiedBy* | string(200) | User name of category last modificator. |
| version* | int | A record version number. |
Image object format:
| Field Name | Type | Description |
| id* | Guid | An image id. |
| title* | string(200) | Image title. |
| caption | string(2000) | Image caption (tooltip). |
| url* | string(850) | Image URL. |
| thumbnailUrl* | string(850) | Image thumbnail URL. |
| createdOn* | DateTime | The date of image creation. |
| createdBy* | string(200) | User name of image creator. |
| lastModifiedOn* | DateTime | The date of image last modification. |
| lastModifiedBy* | string(200) | User name of image last modificator. |
| version* | int | A record version number. |
Metadata object format:
| Field Name | Type | Description |
| metaTitle | string(200) | Page meta title. |
| metaKeywords | string(2000) | Page meta keywords. |
| metaDescription | string(2000) | Page meta description. |
AccessRule object format:
| Field Name | Type | Description |
| identity | string(200) | Role name or user name. |
| accessLevel | string |
|
| isForRole | bool | Determines, if identity is role name (true) or user name (false). |
PageContent object format:
| Field Name | Type | Description |
| id* | Guid | Page content id. |
| contentId* | Guid | Content id (widget, html content and etc.). |
| contentType* | string | Available values:
|
| name* | string(200) | Content name. |
| regionId* | Guid | Region id. |
| regionIdentifier* | string(200) | Region unique identifier. |
| order* | int | The order number of the content in the region. |
| isPublished* | bool | The page content status. |
| createdOn* | DateTime | The date of content creation. |
| createdBy* | string(200) | User name of content creator. |
| lastModifiedOn* | DateTime | The date of content last modification. |
| lastModifiedBy* | string(200) | User name of content last modificator. |
| version* | int | A record version number. |
PageOption object format:
| Field Name | Type | Description |
| key* | string(200) | Option key. |
| value | string | Option value. |
| defaultValue | string | Default option value. |
| type* | string | Page content option type:
|
Language object format:
| Field Name | Type | Description |
| id* | Guid | Page language id. |
| name* | string | Language name (description). |
| code* | string | Language code (.NET CultureInfo Name). |
| createdOn* | DateTime | The date of language creation. |
| createdBy* | string(200) | User name of language creator. |
| lastModifiedOn* | DateTime | The date of language last modification. |
| lastModifiedBy* | string(200) | User name of language last modificator. |
| version* | int | A record version number. |
PageTranslation object format:
| Field Name | Type | Description |
| id* | Guid | Page id. |
| title* | string(200) | Page title. |
| pageUrl* | string(850) | Page URL. |
| languageId | Guid | Page language id. |
| languageCode | string(200) | Page language code (.NET CultureInfo Name). |
HTTP GET: /bcms-api/page-exists/{pageUrl}
C#: api.Pages.Page.Exists()
Checks if page exists and returns Page object.
A success response.data object format:
| Field Name | Type | Description |
| exists* | bool | true if page exists. false otherwise. |
| pageId | Guid | A page id if page was found. |
For code API, use these request properties:
| Field Name | Type | Description |
| pageUrl* | string(850) | A page url. |
HTTP GET: /bcms-api/pages/search/{searchString}
C#: api.Pages.Pages.Search()
Searches within pages content and returns list with page models.
For code API, use these request properties:
| Field Name | Type | Description |
| SearchString* | string(1000) | Search string. Depending on search engine, wildcards can be applied. |
A success response.data object format:
| Field Name | Type | Description |
| items | List<SearchResultModel> | A list of SearchResultModel objects. |
| totalCount | int | A total count of found search results. |
SearchResultModel object format:
| Field Name | Type | Description |
| title* | string(200) | Page title. |
| link* | string(850) | Page URL. |
| formattedUrl* | string(850) | Formatted page URL. |
| snippet* | string(300) | Page content's snippet (usually containing search keyword). |
| isDenied* | boolean | Returns false, if access is denied for current user. |
HTTP GET: /bcms-api/pages/{pageId}/translations/ - gets a page translations by page id
HTTP GET: /bcms-api/pages/translations/by-url/{pageUrl}/ - gets a page translations by page url
C#: api.Pages.Translations.Get()
Gets page translations list by page id or page url
For code API, use these request properties:
| Field Name | Type | Description |
| PageUrl* | string(850) | A page url. Cannot be specified, if request.pageId is specified. |
| PageId* | Guid | A page id. Cannot be specified, if request.pageUrl is specified. |
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | Page id. |
| title* | string(200) | Page title. |
| pageUrl* | string(850) | Page URL. |
| languageId | Guid | Page language id. |
| languageCode | string(200) | Page language code (.NET CultureInfo Name). |
| isPublished* | bool | Determines, if page is published |
| publishedOn | DateTime | The date of page publishing (if page was published) |
HTTP GET: /bcms-api/pages/{pageId}/contents/
C#: api.Pages.Page.Contents.Get()
Returns the list and total count of all specified page contents.
Use default list request for getting a page contents list with ability to filter by region and other filter options:
| Field Name | Type | Description |
| regionId | Guid | Region id (optional). Cannot be set if request.regionIdentifier is set. |
| regionIdentifier | string | Region identifier (optional). Cannot be set if request.regionId is set. |
| includeUnpublished | bool | Indicates, whether unpublished contents should be retrieved.
Default value is false. |
For code API use these additional request parameters:
| Field Name | Type | Description |
| PageId* | Guid | Page id. |
A success response.data object format:
| Field Name | Type | Description |
| items | List<PageContent> | A list of PageContent objects. |
| totalCount | int | Total count of found page contents. |
PageContent object format:
| Field Name | Type | Description |
| id* | Guid | Page content id. |
| contentId* | Guid | Content id (widget, html content and etc.). |
| contentType* | string | This field is a dynamically calculated field. You can not sort or add filter by this field.
Available values:
|
| name* | string(200) | Content name. |
| regionId* | Guid | Region id. |
| regionIdentifier* | string(200) | Region unique identifier. |
| order* | int | The order number of the content in the region. |
| createdOn* | DateTime | The date of content creation. |
| createdBy* | string(200) | User name of content creator. |
| lastModifiedOn* | DateTime | The date of content last modification. |
| lastModifiedBy* | string(200) | User name of content last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/contents/html/{id}
C#: api.Pages.Content.Html.Get()
Gets HTML content object by specified content id.
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | Content id. |
| name* | string(200) | Content name. |
| activationDate* | DateTime | Content activation date. |
| expirationDate | DateTime | Content expiration date. If null - content will never expire. |
| html | string(max) | Content HTML. |
| customCss | string(max) | Custom content CSS. |
| useCustomCss* | bool | Indicates, if custom CSS must be used when rendering a content. |
| customJavaScript | string(max) | Custom content JavaScript. |
| useCustomCss* | bool | Indicates, if custom JavaScript must be used when rendering a content. |
| isPublished* | bool | Indicates, if content is published (or has draft status). |
| publishedOn | DateTime | Content publish date. |
| publishedByUser | string(200) | User name of content publisher. |
| createdOn* | DateTime | The date of content creation. |
| createdBy* | string(200) | User name of content creator. |
| lastModifiedOn* | DateTime | The date of content last modification. |
| lastModifiedBy* | string(200) | User name of content last modificator. |
| version* | int | A record version number. |
For code API use these request parameters:
| Field Name | Type | Description |
| ContentId* | Guid | Html content id. |
HTTP GET: /bcms-api/contents/{contentId}/history/
C#: api.Pages.Content.History.Get()
Returns the list of content historical contents.
For code API use these request parameters:
| Field Name | Type | Description |
| ContentId* | Guid | Content id. |
Response.data returns the list of ContentHistory objects. ContentHistory object format:
| Field Name | Type | Description |
| id* | Guid | Historical record content id. |
| contentType* | string |
Available values:
|
| originalContentId* | Guid | Original content id. |
| publishedOn | DateTime | The date when content was published. |
| publishedByUser | string(200) | Content publisher user name. |
| archivedOn | DateTime | The date when content was archived. |
| archivedByUser | string(200) | The name of user who archived the content. |
| status* | short | Content history item status. Available values:
|
| createdOn* | DateTime | The date of content history creation. |
| createdBy* | string(200) | User name of content history creator. |
| lastModifiedOn* | DateTime | The date of content history last modification. |
| lastModifiedBy* | string(200) | User name of content history last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/pages/contents/{PageContentId}/options
C#: api.Page.Content.Options.Get()
Returns the list and total count of page content option objects, identified by page content id.
Use default request for getting a list.
For code API use these request parameters:
| Field Name | Type | Description |
| PageContentId* | Guid | Page content id. |
A success response.data object format:
| Field Name | Type | Description |
| items | List<Option> | A list of Option objects. |
| totalCount | int | Total count of found page content options. |
Option object format:
| Field Name | Type | Description |
| key* | string(200) | Option key. |
| value | string | Option value. |
| defaultValue | string | Default option value. |
| type* | string | Page content option type:
|
HTTP GET: /bcms-api/widgets/
C#: api.Pages.Widgets.Get()
Returns the list and total count of all available widgets (html content widgets and server control widgets).
Use default request for getting a list.
A success response.data object format:
| Field Name | Type | Description |
| items | List<Widget> | A list of Widget objects. |
| totalCount | int | Total count of found widgets. |
Widget object format:
| Field Name | Type | Description |
| id* | Guid | A widget id. |
| widgetType* | string | This field is a dynamically calculated field. You can not sort or add filter by this field.
Available values:
|
| name* | string(200) | Widget name. |
| isPublished* | bool | Indicates, if widget is published (or has draft status). |
| publishedOn | DateTime | Widget publish date. |
| publishedByUser | string(200) | User name of widget published. |
| categoryId | Guid | Category id. |
| categoryName | string(200) | Category name. |
| createdOn* | DateTime | The date of widget creation. |
| createdBy* | string(200) | User name of widget creator. |
| lastModifiedOn* | DateTime | The date of widget last modification. |
| lastModifiedBy* | string(200) | User name of widget last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/widgets/html-content/{id}
C#: api.Pages.Widget.HtmlContent.Get()
Returns HTML content widget object, identified by id.
For code API use these request parameters:
| Field Name | Type | Description |
| WidgetId* | Guid | Widget id. |
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | A widget id. |
| name* | string(200) | Widget name. |
| isPublished* | bool | Indicates, if widget is published (or has draft status). |
| publishedOn | DateTime | Widget publish date. |
| publishedByUser | string(200) | User name of widget published. |
| categoryId | Guid | Category id. |
| categoryName | string(200) | Category name. |
| customCss | string(max) | Widget custom CSS. |
| useCustomCss* | bool | Indicates, if custom CSS should be rendered. |
| html | string(max) | Widget HTML. |
| useHtml* | bool | Indicates, if HTML should be rendered. |
| customJavaScript | string(max) | Widget custom JavaScript. |
| useCustomJavaScript* | bool | Indicates, if custom JavaScript should be rendered. |
| createdOn* | DateTime | The date of widget creation. |
| createdBy* | string(200) | User name of widget creator. |
| lastModifiedOn* | DateTime | The date of widget last modification. |
| lastModifiedBy* | string(200) | User name of widget last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/widgets/html-content/{WidgetId}/options
C#: api.Pages.Widget.HtmlContent.Options.Get()
Returns the list and total count of HTML content widget option objects, identified by widget id.
Use default request for getting a list.
For code API use these request parameters:
| Field Name | Type | Description |
| WidgetId* | Guid | Widget id. |
A success response.data object format:
| Field Name | Type | Description |
| items | List<Option> | A list of Option objects. |
| totalCount | int | Total count of found widget options. |
Option object format:
| Field Name | Type | Description |
| key* | string(200) | Option key. |
| defaultValue | string | Default option value. |
| type* | string | Widget option type:
|
HTTP GET: /bcms-api/widgets/server-control/{id}
C#: api.Pages.Widget.ServerControl.Get()
Returns server widget object, identified by id.
Additional filtering parameters could be passed:
| Field Name | Type | Description |
| IncludeUnpublished | bool | Indicates, if unpublished widgets should be retrieved.
Default value = true. |
For code API use these request parameters:
| Field Name | Type | Description |
| WidgetId* | Guid | Widget id. |
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | A widget id. |
| name* | string(200) | Widget name. |
| isPublished* | bool | Indicates, if widget is published (or has draft status). |
| publishedOn | DateTime | Widget publish date. |
| publishedByUser | string(200) | User name of widget publisher. |
| categoryId | Guid | Category id. |
| categoryName | string(200) | Category name. |
| widgetUrl* | string(850) | Widget file URL (path in the server). |
| previewUrl | string(850) | Widget preview image URL. |
| createdOn* | DateTime | The date of widget creation. |
| createdBy* | string(200) | User name of widget creator. |
| lastModifiedOn* | DateTime | The date of widget last modification. |
| lastModifiedBy* | string(200) | User name of widget last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/widgets/server-control/{WidgetId}/options
C#: api.Pages.Widget.ServerControl.Options.Get()
Returns the list and total count of server widget option objects, identified by widget id.
Use default request for getting a list.
For code API use these request parameters:
| Field Name | Type | Description |
| WidgetId* | Guid | Widget id. |
A success response.data object format:
| Field Name | Type | Description |
| items | List<Option> | A list of Option objects. |
| totalCount | int | Total count of found widget options. |
Option object format:
| Field Name | Type | Description |
| key* | string(200) | Option key. |
| defaultValue | string | Default option value. |
| type* | string | Widget option type:
|
HTTP GET: /bcms-api/redirects/
C#: api.Pages.Redirects.Get()
Returns the list and total count of all available redirects.
Use default request for getting a list.
A success response.data object format:
| Field Name | Type | Description |
| items | List<Redirect> | A list of Redirect objects. |
| totalCount | int | Total count of found redirects. |
Redirect object format:
| Field Name | Type | Description |
| id* | Guid | A redirect id. |
| pageUrl* | string(850) | Page URL. |
| redirectUrl* | string(850) | Redirect URL. |
| createdOn* | DateTime | The date of redirect creation. |
| createdBy* | string(200) | User name of redirect creator. |
| lastModifiedOn* | DateTime | The date of redirect last modification. |
| lastModifiedBy* | string(200) | User name of redirect last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/redirects/{id}
C#: api.Pages.Redirect.Get()
Returns redirect object, identified by id.
For code API use these request parameters:
| Field Name | Type | Description |
| RedirectId* | Guid | Redirect id. |
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | A redirect id. |
| pageUrl* | string(850) | Page URL. |
| redirectUrl* | string(850) | Redirect URL. |
| createdOn* | DateTime | The date of redirect creation. |
| createdBy* | string(200) | User name of redirect creator. |
| lastModifiedOn* | DateTime | The date of redirect last modification. |
| lastModifiedBy* | string(200) | User name of redirect last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/sitemap-trees/
C#: api.Pages.Sitemap.Get()
Returns the list and total count of all available sitemaps.
Use default request for getting a list with extender properties:
| Field Name | Type | Description |
| filterByTags | List<string> | List of tags, filtered using tags connector (by default, connector value = 'and'). |
| filterByTagsConnector | string | Tags filtering connector. Possible values:
|
A success response.data object format:
| Field Name | Type | Description |
| items | List<Sitemap> | A list of Sitemap objects. |
| totalCount | int | Total count of found sitemaps. |
Sitemap object format:
| Field Name | Type | Description |
| id* | Guid | Sitemap id. |
| title* | string(200) | Sitemap title. |
| createdOn* | DateTime | The date of redirect creation. |
| createdBy* | string(200) | User name of redirect creator. |
| lastModifiedOn* | DateTime | The date of redirect last modification. |
| lastModifiedBy* | string(200) | User name of redirect last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/sitemap-nodes/{sitemapId}
C#: api.Pages.Sitemap.Nodes.Get()
Returns the flat list and total count of all available sitemap nodes.
For code API these request parameters must be specified:
| Field Name | Type | Description |
| SitemapId* | Guid | Sitemap id |
A success response.data object format:
| Field Name | Type | Description |
| items | List<Node> | A list of Node objects. |
| totalCount | int | Total count of found nodes. |
Node object format:
| Field Name | Type | Description |
| id* | Guid | Sitemap node id. |
| parentId | Guid | Parent sitemap node id. |
| title* | string(200) | Sitemap node title. |
| url* | string(850) | Site map node URL. |
| displayOrder* | int | Node display order. |
| pageId | Guid | Id of the page linked to this node. |
| pageLanguageId | Guid | Language Id of the page linked to this node. |
| macro | string(2000) | Field dedicated to be used by application developers. |
| createdOn* | DateTime | The date of redirect creation. |
| createdBy* | string(200) | User name of redirect creator. |
| lastModifiedOn* | DateTime | The date of redirect last modification. |
| lastModifiedBy* | string(200) | User name of redirect last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/sitemap-tree/{sitemapId}
C#: api.Pages.Sitemap.Tree.Get()
Returns the specified sitemap tree starting from the specified root node.
For code API use these request parameters:
| Field Name | Type | Description |
| SitemapId* | Guid | Sitemap id. |
Additional request parameters can be passed:
| Field Name | Type | Description |
| nodeId | Guid | Starting node id. If null, returns all children nodes from the root node. |
| languageId | Guid | Language id get the nodes in specified language. If null, returns the nodes in default language. |
A success response.data object format:
| Field Name | Type | Description |
| nodes | List<Node> | A list of specified sitemap node children Node objects with sub-children Node objects. |
Node object format:
| Field Name | Type | Description |
| id* | Guid | Sitemap node id. |
| parentId | Guid | Parent sitemap node id. |
| title* | string(200) | Sitemap node title. |
| url* | string(850) | Site map node URL. |
| displayOrder* | int | Node display order. |
| pageId | Guid | Id of the page linked to this node. |
| pageLanguageId | Guid | Language Id of the page linked to this node. |
| macro | string(2000) | Field dedicated to be used by application developers. |
| nodes | List<Node> | Children nodes |
| translations | List<Translation> | Node translations |
| createdOn* | DateTime | The date of redirect creation. |
| createdBy* | string(200) | User name of redirect creator. |
| lastModifiedOn* | DateTime | The date of redirect last modification. |
| lastModifiedBy* | string(200) | User name of redirect last modificator. |
| version* | int | A record version number. |
Translation object format:
| Field Name | Type | Description |
| languageId* | Guid | Translation language id. |
| title* | string(200) | Sitemap node title. |
| url* | string(850) | Site map node URL. |
| macro | string(2000) | Field dedicated to be used by application developers. |
HTTP GET: /bcms-api/sitemap-node/{nodeId}
C#: api.Pages.Sitemap.Node.Get()
Returns sitemap node object by specified id.
For code API these request parameters must be specified:
| Field Name | Type | Description |
| nodeId* | Guid | Sitemap node id |
A success response.data object format:
| Field Name | Type | Description |
| node | Node | Sitemap node object. |
Node object format:
| Field Name | Type | Description |
| id* | Guid | Sitemap node id. |
| parentId | Guid | Parent sitemap node id. |
| title* | string(200) | Sitemap node title. |
| url* | string(850) | Site map node URL. |
| displayOrder* | int | Node display order. |
| pageId | Guid | Id of the page linked to this node. |
| pageLanguageId | Guid | Language Id of the page linked to this node. |
| macro | string(2000) | Field dedicated to be used by application developers. |
| createdOn* | DateTime | The date of redirect creation. |
| createdBy* | string(200) | User name of redirect creator. |
| lastModifiedOn* | DateTime | The date of redirect last modification. |
| lastModifiedBy* | string(200) | User name of redirect last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/authors/
C#: api.Blog.Authors.Get()
Returns the list and total count of all available authors.
Use default request for getting a list.
A success response.data object format:
| Field Name | Type | Description |
| items | List<Author> | A list of Author objects. |
| totalCount | int | Total count of found authors. |
Author object format:
| Field Name | Type | Description |
| id* | Guid | An author id. |
| name* | string(200) | Author name. |
| imageId | Guid | Author image id. |
| imageUrl | string(850) | Author image URL. |
| imageThumbnailUrl | string(850) | Author image thumbnail URL. |
| imageCaption | string(200) | Author image caption. |
| createdOn* | DateTime | The date of author creation. |
| createdBy* | string(200) | User name of author creator. |
| lastModifiedOn* | DateTime | The date of author last modification. |
| lastModifiedBy* | string(200) | User name of author last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/authors/{id}
C#: api.Blog.Author.Get()
Returns an author object, identified by id.
For code API these request parameters must be specified:
| Field Name | Type | Description |
| authorId* | Guid | Author id. |
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | An author id. |
| name* | string(200) | Author name. |
| imageId | Guid | Author image id. |
| imageUrl | string(850) | Author image URL. |
| imageThumbnailUrl | string(850) | Author image thumbnail URL. |
| imageCaption | string(200) | Author image caption. |
| createdOn* | DateTime | The date of author creation. |
| createdBy* | string(200) | User name of author creator. |
| lastModifiedOn* | DateTime | The date of author last modification. |
| lastModifiedBy* | string(200) | User name of author last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/blog-posts/
C#: api.Blog.BlogPosts.Get()
Returns the list and total count of all available blog posts.
Use default request for getting a list of blog posts with extended filtering options:
| Field Name | Type | Description |
| user | UserIdentity | User identity object (optional).
Used for filtering secured blog posts by access rules. Empty user is passed by default (filtering by user is disabled). |
| includeUnpublished | bool | Indicates, whether unpublished blog posts should be returned.
Default: false. |
| includeArchived | bool | Indicates, whether archived blog posts should be returned.
Default: false. |
| includeTags | bool | Indicates, if tags list should be returned within each blog post model.
Default = false. |
| includeAccessRules | bool |
Indicates if the list of access rules objects should be retrieved. Default value =false. |
| filterByTags | List<string> | List of tags, filtered using tags connector (by default, connector value = 'and'). |
| filterByTagsConnector | string | Tags filtering connector. Possible values:
|
A success response.data object format:
| Field Name | Type | Description |
| items | List<BlogPost> | A list of BlogPost objects. |
| totalCount | int | Total count of found blog posts. |
BlogPost object format:
| Field Name | Type | Description |
| id* | Guid | Blog post id. |
| blogPostUrl* | string(850) | Blog post URL. |
| title* | string(200) | Blog post title. |
| introText | string(2000) | Blog post intro text (short description). |
| isPublished* | bool | Flag indicates, if blog post is published (or draft). |
| publishedOn | DateTime | Blog post publish date. |
| layoutId | Guid | The blog post layout id (is set only if masterPageId is not set). |
| masterPageId | Guid | The blog post's master page id (is set only if layoutId is not set). |
| categoryId | Guid | Blog post category id. |
| categoryName | string(200) | Blog post category name. |
| authorId | Guid | Blog post author id. |
| authorName | string(200) | Blog post author name. |
| mainImageId | Guid | Blog post main image id. |
| mainImageUrl | string(850) | Blog post main image URL. |
| mainImageThumbnauilUrl | string(850) | Blog post main image thumbnail URL. |
| mainImageCaption | string(2000) | Blog post main image caption. |
| activationDate* | DateTime | Blog post activation date. |
| expirationDate | DateTime | Blog post expiration date. |
| isArchived* | bool | Indicates, if blog post is marked as archived. |
| tags | List<string> | List of tags. Is retrieved only if request.includeTags is set to true. |
| accessRules | List<AccessRule> | Access rules objects list. Only if request.includeAccessRules = true. |
| createdOn* | DateTime | The date of blog post creation. |
| createdBy* | string(200) | User name of blog post creator. |
| lastModifiedOn* | DateTime | The date of blog post last modification. |
| lastModifiedBy* | string(200) | User name of blog post last modificator. |
| version* | int | A record version number. |
AccessRule object format:
| Field Name | Type | Description |
| identity | string(200) | Role name or user name. |
| accessLevel | string |
|
| isForRole | bool | Determines, if identity is role name (true) or user name (false). |
HTTP GET: /bcms-api/blog-posts/{id}
C#: api.Blog.BlogPost.Get()
Returns blog post object, identified by id.
For code API these request parameters must be specified:
| Field Name | Type | Description |
| BlogPostId* | Guid | Blog post id. |
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | Blog post id. |
| blogPostUrl* | string(850) | Blog post URL. |
| title* | string(200) | Blog post title. |
| introText | string(2000) | Blog post intro text (short description). |
| isPublished* | bool | Flag indicates, if blog post is published (or draft). |
| publishedOn | DateTime | Blog post publish date. |
| layoutId | Guid | The blog post layout id (is set only if masterPageId is not set). |
| masterPageId | Guid | The blog post's master page id (is set only if layoutId is not set). |
| categoryId | Guid | Blog post category id. |
| categoryName | string(200) | Blog post category name. |
| authorId | Guid | Blog post author id. |
| authorName | string(200) | Blog post author name. |
| mainImageId | Guid | Blog post main image id. |
| mainImageUrl | string(850) | Blog post main image URL. |
| mainImageThumbnauilUrl | string(850) | Blog post main image thumbnail URL. |
| mainImageCaption | string(2000) | Blog post main image caption. |
| activationDate* | DateTime | Blog post activation date. |
| expirationDate | DateTime | Blog post expiration date. |
| isArchived* | bool | Indicates, if blog post is marked as archived. |
| createdOn* | DateTime | The date of blog post creation. |
| createdBy* | string(200) | User name of blog post creator. |
| lastModifiedOn* | DateTime | The date of blog post last modification. |
| lastModifiedBy* | string(200) | User name of blog post last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/blog-posts/content/{contentId}
C#: api.Blog.BlogPost.Content.Get()
Gets a blog post content object by specified content id.
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | Content id. |
| name* | string(200) | Content name. |
| html | string(max) | Content HTML. |
| isPublished* | bool | Indicates, if content is published (or has draft status). |
| publishedOn | DateTime | Content publish date. |
| publishedByUser | string(200) | User name of content publisher. |
| createdOn* | DateTime | The date of content creation. |
| createdBy* | string(200) | User name of content creator. |
| lastModifiedOn* | DateTime | The date of content last modification. |
| lastModifiedBy* | string(200) | User name of content last modificator. |
| version* | int | A record version number. |
For code API use these request parameters:
| Field Name | Type | Description |
| ContentId* | Guid | Blog post content id. |
HTTP GET: /bcms-api/blog-post-properties/{id}/
C#: api.Blog.BlogPost.Properties.Get()
Returns blog post properties object, child and referenced objects, identified by id.
A request object format:
| Field Name | Type | Description |
| blogPostId* | Guid | Blog post id. |
| includeHtmlContent | bool | Indicates, whether blog post HTML content should be loaded (optional, default = false). |
| includeTags | bool | Indicates, whether tag objects list should be loaded (optional, default = false). |
| includeCategory | bool | Indicates, whether category object should be loaded (optional, default = false). |
| includeLayout | bool | Indicates, whether layout object should be loaded (optional, default = false). |
| includeAuthor | bool | Indicates, whether author object should be loaded (optional, default = false). |
| includeImages | bool | Indicates, whether main image, secondary image and featured image objects should be loaded (optional, default = false). |
| includeMetadata | bool | Indicates, whether metadata should be loaded (optional, default = false). |
| includeAccessRules | bool | Indicates, wheter the list of access rules objects should be retrieved (optional, default = false). |
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | Blog post id. |
| blogPostUrl* | string(850) | Blog post URL. |
| title* | string(200) | Blog post title. |
| introText | string(2000) | Blog post intro text (short description). |
| isPublished* | bool | Flag indicates, if blog post is published (or draft). |
| publishedOn | DateTime | Blog post publish date. |
| layoutId | Guid | The blog post layout id (is set only if masterPageId is not set). |
| masterPageId | Guid | The blog post's master page id (is set only if layoutId is not set). |
| categoryId | Guid | Blog post category id. |
| authorId | Guid | Blog post author id. |
| activationDate* | DateTime | Blog post activation date. |
| expirationDate | DateTime | Blog post expiration date. |
| isArchived* | bool | Indicates, if blog post is marked as archived. |
| mainImageId | Guid | Blog post main image id. |
| featuredImageId | Guid | Blog post featured image id. |
| secondaryImageId | Guid | Blog post secondary image id. |
| useCanonicalUrl | bool | Flag, indicating whether canonical URL should be used. |
| useNoFollow | bool | Flag, indicating whether noFollow meta tag should be used. |
| useNoIndex | bool | Flag, indicating whether noIndex meta tag should be used. |
| createdOn* | DateTime | The date of blog post creation. |
| createdBy* | string(200) | User name of blog post creator. |
| lastModifiedOn* | DateTime | The date of blog post last modification. |
| lastModifiedBy* | string(200) | User name of blog post last modificator. |
| version* | int | A record version number. |
When response.success equal to "ok", additional response properties are returned (if any of requests flags were selected):
| Field Name | Type | Description |
| htmlContent | string | Blog post main HTML content.
Only if request.includeHtmlContent = true. |
| layout | Layout | Layout object.
Only if request.includeLayout = true |
| category | Category | Category object.
Only if request.includeCategory = true |
| author | Author | Author object.
Only if request.includeAuthor = true |
| tags | List<Tag> | List of Tag objects.
Only if request.includeTags = true |
| mainImage | Image | Main image object.
Only if request.includeImages = true. |
| featuredImage | Image | Featured image object.
Only if request.includeImages = true. |
| secondaryImage | Image | Secondary image object.
Only if request.includeImages = true. |
| metaData | MetaData | Metadata object. Only if request.includeMetaData = true. |
| accessRules | List<AccessRule> | Access rules objects list. Only if request.includeAccessRules = true. |
Layout object format:
| Field Name | Type | Description |
| id* | Guid | Layout id. |
| name* | string(200) | Layout name. |
| layoutPath* | string(850) | Layout path (server URL). |
| previewUrl | string(850) | Layout image preview URL. |
| createdOn* | DateTime | The date of layout creation. |
| createdBy* | string(200) | User name of layout creator. |
| lastModifiedOn* | DateTime | The date of layout last modification. |
| lastModifiedBy* | string(200) | User name of layout last modificator. |
| version* | int | A record version number. |
Author object format:
| Field Name | Type | Description |
| id* | Guid | An author id. |
| name* | string(200) | Author name. |
| imageId | Guid | Author image id. |
| createdOn* | DateTime | The date of author creation. |
| createdBy* | string(200) | User name of author creator. |
| lastModifiedOn* | DateTime | The date of author last modification. |
| lastModifiedBy* | string(200) | User name of author last modificator. |
| version* | int | A record version number. |
Tag object format:
| Field Name | Type | Description |
| id* | Guid | A tag id. |
| name* | string(200) | Tag name. |
| createdOn* | DateTime | The date of tag creation. |
| createdBy* | string(200) | User name of tag creator. |
| lastModifiedOn* | DateTime | The date of tag last modification. |
| lastModifiedBy* | string(200) | User name of tag last modificator. |
| version* | int | A record version number. |
Category object format:
| Field Name | Type | Description |
| id* | Guid | A category id. |
| name* | string(200) | Category name. |
| createdOn* | DateTime | The date of category creation. |
| createdBy* | string(200) | User name of category creator. |
| lastModifiedOn* | DateTime | The date of category last modification. |
| lastModifiedBy* | string(200) | User name of category last modificator. |
| version* | int | A record version number. |
Image object format:
| Field Name | Type | Description |
| id* | Guid | An image id. |
| title* | string(200) | Image title. |
| caption | string(2000) | Image caption (tooltip). |
| url* | string(850) | Image URL. |
| thumbnailUrl* | string(850) | Image thumbnail URL. |
| createdOn* | DateTime | The date of image creation. |
| createdBy* | string(200) | User name of image creator. |
| lastModifiedOn* | DateTime | The date of image last modification. |
| lastModifiedBy* | string(200) | User name of image last modificator. |
| version* | int | A record version number. |
Metadata object format:
| Field Name | Type | Description |
| metaTitle | string(200) | Blog post meta title. |
| metaKeywords | string(2000) | Blog post meta keywords. |
| metaDescription | string(2000) | Blog post meta description. |
AccessRule object format:
| Field Name | Type | Description |
| identity | string(200) | Role name or user name. |
| accessLevel | string |
|
| isForRole | bool | Determines, if identity is role name (true) or user name (false). |
HTTP GET: /bcms-api/media-tree/
C#: api.Media.MediaTree.Get()
Returns the response object with recursive images tree and recursive files tree
Request parameters can be passed:
| Field Name | Type | Description |
| user | UserIdentity | User identity object (optional).
Used for filtering secured files by access rules. Empty user is passed by default (filtering by user is disabled). |
| includeImagesTree | bool | Indicates, if images and image folders tree should be returned.
Default value = true. |
| includeImages | bool | Indicates if image files should be returned. If set to false, only image folders tree will be returned.
Default value = true. |
| includeFilesTree | bool | Indicates, if files and file folders tree should be returned.
Default value = true. |
| includeFiles | bool | Indicates if files should be returned. If set to false, only file folders tree will be returned.
Default value = false. |
| includeArchived | bool | Indicates if archived items should be returned.
Default value = false. |
| includeAccessRules | bool |
Indicates if the list of access rules objects should be retrieved. Default = false. |
A success response.data object format:
| Field Name | Type | Description |
| imagesTree | List<Media> | A recursive list of image Media objects (images and folders). |
| filesTree | List<Media> | A recursive list of file Media objects (files and folders). |
Media object format:
| Field Name | Type | Description |
| id* | Guid | Media id. |
| parentFolderId | Guid | Parent folder id.
Null value means root folder. |
| title* | string(200) | Media title. |
| description | string(2000) | Media description. |
| mediaContentType* | short | Media content type:
- 1 - File (Image/File) - 2 - Folder |
| url* | string(850) | Media URL.
Null for folder. |
| isArchived* | bool | Indicates, if media is archived. |
| children | List<Media> | A list of media childrens. |
| accessRules | List<AccessRule> | Access rules objects list. Is retrieved only if request.includeAccessRules is set to true. |
| createdOn* | DateTime | The date of media creation. |
| createdBy* | string(200) | User name of media creator. |
| lastModifiedOn* | DateTime | The date of media last modification. |
| lastModifiedBy* | string(200) | User name of media last modificator. |
| version* | int | A record version number. |
AccessRule object format:
| Field Name | Type | Description |
| identity | string(200) | Role name or user name. |
| accessLevel | string |
|
| isForRole | bool | Determines, if identity is role name (true) or user name (false). |
HTTP GET: /bcms-api/images/
C#: api.Media.Images.Get()
Returns the list and total count of images from specified folder.
Use default request for getting a list of specified folder images with extended properties:
| Field Name | Type | Description |
| folderId | Guid | Current folder id. If null is set, returning the images and sub-folders of the root folder. |
| includeImages | bool | Determines, if image files list should be included to the results.
Default: true. |
| includeFolders | bool | Determines, if sub-folders list should be included to the results.
Default: true. |
| includeArchived | bool | Determines, if archived images / folders should be included to the results.
Default: false. |
| filterByTags | List<string> | List of tags, filtered using tags connector (by default, connector value = 'and'). |
| filterByTagsConnector | string | Tags filtering connector. Possible values:
|
A success response.data object format:
| Field Name | Type | Description |
| items | List<Media> | A list of Media objects (images and folders). |
| totalCount | int | Total count of found medias (images and folders), depending on filtering criterias. |
Media object format:
| Field Name | Type | Description |
| id* | Guid | Image / folder id. |
| title* | string(200) | Image / folder title. |
| caption | string(2000) | Image caption.
Null for folders. |
| mediaContentType* | short | Media content type:
- 1 - Image - 2 - Folder |
| fileExtension | string(200) | Image file extension.
Null for folder. |
| fileSize | long | Image file size in bytes..
Null for folder. |
| imageUrl | string(850) | Image URL.
Null for folder. |
| thumbnailUrl | string(850) | Image thumbnail URL.
Null for folder. |
| isArchived* | bool | Indicates, if image / folder is archived. |
| createdOn* | DateTime | The date of media creation. |
| createdBy* | string(200) | User name of media creator. |
| lastModifiedOn* | DateTime | The date of media last modification. |
| lastModifiedBy* | string(200) | User name of media last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/images/{id}/
C#: api.Media.Image.Get()
Returns image object, identified by id.
Additional request parameters could be passed for retrieving results:
| Field Name | Type | Description |
| includeAccessRules | bool |
Indicates if the list of access rules objects should be retrieved. Default value is false. |
For code API, use these request properties:
| Field Name | Type | Description |
| ImageId* | Guid | Image id. |
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | Image id. |
| title* | string(200) | Image title. |
| description | string(2000) | Image description. |
| caption | string(2000) | Image caption. |
| fileExtension* | string(200) | Image file extension. |
| fileSize* | long | Image file size in bytes.. |
| imageUrl* | string(850) | Image URL. |
| width* | int | Image width in pixels. |
| height* | int | Image height in pixels. |
| thumbnailUrl* | string(850) | Image thumbnail URL. |
| thumbnailWidth* | int | Image thumbnail width in pixels. |
| thumbnailHeight* | int | Image thumbnail height in pixels. |
| thumbnailSize* | long | Image thumbnail size in bytes. |
| isArchived* | bool | Indicates, if image is archived. |
| folderId | Guid | Image folder id. Null if folder is root folder. |
| folderName | string(200) | Image folder name. Null for root folder. |
| publishedOn* | DateTime | Date, when image version was created. |
| originalFileName* | string(200) | The file name of an original image. |
| originalFileExtension* | string(200) | The file extension of an original image. |
| originalWidth* | int | Original image width in pixels. |
| originalHeight* | int | Original image height in pixels. |
| originalSize* | long | Original image size in bytes.. |
| originalUrl* | string(850) | Original image URL. |
| createdOn* | DateTime | The date of image creation. |
| createdBy* | string(200) | User name of image creator. |
| lastModifiedOn* | DateTime | The date of image last modification. |
| lastModifiedBy* | string(200) | User name of image last modificator. |
| version* | int | A record version number. |
Additional properties returned with response:
| Field Name | Type | Description |
| tags | List<Tag> | List of image Tag objects.
Only if request.includeTags = true. |
Tag object format:
| Field Name | Type | Description |
| id* | Guid | A tag id. |
| name* | string(200) | Tag name. |
| createdOn* | DateTime | The date of tag creation. |
| createdBy* | string(200) | User name of tag creator. |
| lastModifiedOn* | DateTime | The date of tag last modification. |
| lastModifiedBy* | string(200) | User name of tag last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/files/
C#: api.Media.Files.Get()
Returns the list and total count of files from specified folder.
Use default request for getting a list of specified folder files with extended properties:
| Field Name | Type | Description |
| user | UserIdentity | User identity object (optional).
Used for filtering secured pages by access rules. Empty user is passed by default (filtering by user is disabled). |
| folderId | Guid | Current folder id. If null is set, returning the files and sub-folders of the root folder. |
| includeFiles | bool | Determines, if files list should be included to the results.
Default: true. |
| includeFolders | bool | Determines, if sub-folders list should be included to the results.
Default: true. |
| includeArchived | bool | Determines, if archived files / folders should be included to the results.
Default: false. |
| filterByTags | List<string> | List of tags, filtered using tags connector (by default, connector value = 'and'). |
| filterByTagsConnector | string | Tags filtering connector. Possible values:
|
| includeAccessRules | bool |
Determines, if the list of access rules objects should be retrieved. Default: false. |
A success response.data object format:
| Field Name | Type | Description |
| items | List<Media> | A list of Media objects (files and folders). |
| totalCount | int | Total count of found medias (files and folders), depending on filtering criterias. |
Media object format:
| Field Name | Type | Description |
| id* | Guid | File / folder id. |
| title* | string(200) | File / folder title. |
| mediaContentType* | short | Media content type:
- 1 - File - 2 - Folder |
| fileExtension* | string(200) | File extension.
Null for folder. |
| fileSize* | long | File size in bytes..
Null for folder. |
| fileUrl* | string(850) | File URL.
Null for folder. |
| thumbnailUrl* | string(850) | Thumbnail URL.
Null for folder. |
| isArchived* | bool | Indicates, if file / folder is archived. |
| accessRules | List<AccessRule> | Access rules objects list. Is retrieved only if request.includeAccessRules is set to true. |
| createdOn* | DateTime | The date of media creation. |
| createdBy* | string(200) | User name of media creator. |
| lastModifiedOn* | DateTime | The date of media last modification. |
| lastModifiedBy* | string(200) | User name of media last modificator. |
| version* | int | A record version number. |
AccessRule object format:
| Field Name | Type | Description |
| identity | string(200) | Role name or user name. |
| accessLevel | string |
|
| isForRole | bool | Determines, if identity is role name (true) or user name (false). |
HTTP GET: /bcms-api/files/{id}/
C#: api.Media.File.Get()
Returns file object, identified by id.
Additional request parameters could be passed for retrieving results:
| Field Name | Type | Description |
| includeTags | bool | Indicates, whether list of Tag objects should be returned with response.
Default value is false. |
| includeAccessRules | bool |
Indicates if the list of access rules objects should be retrieved. Default = false. |
For code API, use these request properties:
| Field Name | Type | Description |
| FileId* | Guid | File id. |
A success response.data object format:
| Field Name | Type | Description |
| id* | Guid | File id. |
| title* | string(200) | File title. |
| description | string(2000) | File description. |
| fileExtension* | string(200) | File extension. |
| fileSize* | long | File size in bytes.. |
| fileUrl* | string(850) | File URL. |
| isArchived* | bool | Indicates, if file is archived. |
| folderId | Guid | File folder id. Null if folder is root folder. |
| folderName | string(200) | File folder name. Null for root folder. |
| publishedOn* | DateTime | Date, when file version was created. |
| createdOn* | DateTime | The date of file creation. |
| createdBy* | string(200) | User name of file creator. |
| lastModifiedOn* | DateTime | The date of file last modification. |
| lastModifiedBy* | string(200) | User name of file last modificator. |
| version* | int | A record version number. |
Additional properties returned with response:
| Field Name | Type | Description |
| tags | List<Tag> | List of file Tag objects. Only if request.includeTags = true. |
| accessRules | List<AccessRule> | Access rules objects list. Only if request.includeAccessRules = true. |
Tag object format:
| Field Name | Type | Description |
| id* | Guid | A tag id. |
| name* | string(200) | Tag name. |
| createdOn* | DateTime | The date of tag creation. |
| createdBy* | string(200) | User name of tag creator. |
| lastModifiedOn* | DateTime | The date of tag last modification. |
| lastModifiedBy* | string(200) | User name of tag last modificator. |
| version* | int | A record version number. |
AccessRule object format:
| Field Name | Type | Description |
| identity | string(200) | Role name or user name. |
| accessLevel | string |
|
| isForRole | bool | Determines, if identity is role name (true) or user name (false). |
HTTP GET: /bcms-api/users/
C#: api.Users.Users.Get()
Returns the list and total count of users.
Use default request for getting a list of users with additional filtering by user roles:
| Field Name | Type | Description |
| filterByRoles | List<string> | List of role names, for filtering using roles connector (by default, connector value = 'and'). |
| filterByRolesConnector | string | Roles filtering connector. Possible values:
|
A success response.data object format:
| Field Name | Type | Description |
| items | List<User> | A list of User objects. |
| totalCount | int | Total count of found users, depending on filtering criterias. |
User object format:
| Field Name | Type | Description |
| id* | Guid | User id. |
| userName* | string(401) | User name. |
| firstName* | string(200) | User first name. |
| lastName* | string(200) | User last name. |
| email* | string(400) | User email. |
| imageId | Guid | User image id. |
| imageUrl | string(850) | User image URL. |
| imageThumbnailUrl | string(850) | User image thumbnail URL. |
| imageCaption | string(2000) | User image id. |
| createdOn* | DateTime | The date of user creation. |
| createdBy* | string(200) | User name of user creator. |
| lastModifiedOn* | DateTime | The date of user last modification. |
| lastModifiedBy* | string(200) | User name of user last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/users/{id} - get user by id.
HTTP GET: /bcms-api/users/by-username/{username} - get user by username.
C#: api.Users.User.Get()
Returns user object, identified by id or name.
Additional request parameters:
| Field Name | Type | Description |
| includeRoles | bool |
Indicates, if user roles should be returned. Default value: false. |
For code API, use these request properties:
| Field Name | Type | Description |
| UserId | Guid | User id. Cannot be specified, if UserName is specified. |
| UserName | string | User name. Cannot be specified, if UserId is specified. |
Successful response.data object format:
| Field Name | Type | Description |
| id* | Guid | User id. |
| userName* | string(401) | User name. |
| firstName* | string(200) | User first name. |
| lastName* | string(200) | User last name. |
| email* | string(400) | User email. |
| imageId | Guid | User image id. |
| imageUrl | string(850) | User image URL. |
| imageThumbnailUrl | string(850) | User image thumbnail URL. |
| imageCaption | string(2000) | User image id. |
| createdOn* | DateTime | The date of user creation. |
| createdBy* | string(200) | User name of user creator. |
| lastModifiedOn* | DateTime | The date of user last modification. |
| lastModifiedBy* | string(200) | User name of user last modificator. |
| version* | int | A record version number. |
Additionally a response returns list of roles:
| Field Name | Type | Description |
| roles | List<Role> | List of role objects. Only if request.includeRoles = true. |
Role object format:
| Field Name | Type | Description |
| id* | Guid | Role id. |
| name* | string(401) | Role name. |
| isSystematic* | bool | Determines, if role is systematic (cannot be edited / deleted). |
| createdOn* | DateTime | The date of role creation. |
| createdBy* | string(200) | User name of role creator. |
| lastModifiedOn* | DateTime | The date of role last modification. |
| lastModifiedBy* | string(200) | User name of role last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/users/validate
C#: api.Users.User.Validate()
Checks if user name and password are correct and returns result and user id.
Request parameters:
| Field Name | Type | Description |
| userName* | string(200) | User name. |
| password* | string(255) | Password. |
A success response.data object format:
| Field Name | Type | Description |
| valid* | bool | true if user name and password are valid. false otherwise. |
| userId | Guid | A user id (only if user name and password are valid). |
HTTP GET: /bcms-api/roles/
C#: api.Users.Roles.Get()
Returns the list and total count of roles.
Use default request for getting a list of roles.
A success response.data object format:
| Field Name | Type | Description |
| items | List<Role> | A list of Role objects. |
| totalCount | int | Total count of found roles, depending on filtering criterias. |
Role object format:
| Field Name | Type | Description |
| id* | Guid | Role id. |
| name* | string(401) | Role name. |
| isSystematic* | bool | Determines, if role is systematic (cannot be edited / deleted). |
| createdOn* | DateTime | The date of role creation. |
| createdBy* | string(200) | User name of role creator. |
| lastModifiedOn* | DateTime | The date of role last modification. |
| lastModifiedBy* | string(200) | User name of role last modificator. |
| version* | int | A record version number. |
HTTP GET: /bcms-api/roles/{id} - get role by id.
HTTP GET: /bcms-api/roles/by-name/{name} - get role by name.
C#: api.Users.Role.Get()
Returns role object, identified by id or name.
For code API, use these request properties:
| Field Name | Type | Description |
| RoleId | Guid | Role id. Cannot be specified, if RoleName is specified. |
| RoleName | string | Role name. Cannot be specified, if RoleId is specified. |
Successful response.data object format:
| Field Name | Type | Description |
| id* | Guid | Role id. |
| name* | string(401) | Role name. |
| isSystematic* | bool | Determines, if role is systematic (cannot be edited / deleted). |
| createdOn* | DateTime | The date of role creation. |
| createdBy* | string(200) | User name of role creator. |
| lastModifiedOn* | DateTime | The date of role last modification. |
| lastModifiedBy* | string(200) | User name of role last modificator. |
| version* | int | A record version number. |