Security
This controller works under the system security rules and constraints.
For more details, refer to the Authentication section
Note
The following guidelines are intended to illustrate the features and features of this Web API controller.
Authentication
JWT Token
In order to invoke the REST API, it is necessary to obtain an authentication token via the appropriate service /Auth/Login
For more details, please see the appropriate section of the documentations.
Bearer Authentication
Bearer authentication (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens.
For more details, please see the appropriate section of the documentations.
Identification of the calling application
Some of the REST API functions can only be used if (in addition to proper user authentication) a declaration of the calling application is also performed.
For more details, please see the appropriate section of the documentations.
Actions & Paths
These are the REST actions that can be performed via the Web API infrastructure.
The actions are grouped by "topic".
Click on a "topic" to view the different actions contained in it.
Each action corresponds to a method in the class of the Web API controller, and a set of routing paths that can be used to invoke it.
GET: /api/v1/CatalogCategories/
Routing template:
/api/{version}/CatalogCategories/
Tags:
Produces:
- HTTP 200: Int64 as application/json
- HTTP 200: Int64 as text/json
- HTTP 200: Int64 as application/xml
- HTTP 200: Int64 as text/plain
- HTTP 200: Int64 as application/octet-stream
Response: 200 (Success) ApiActionResult
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
DELETE: /api/v1/CatalogCategories/{id}
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
id | integer | YES | Path |
|
Tags:
Produces:
- HTTP 200: Boolean as application/json
- HTTP 200: Boolean as text/json
- HTTP 200: Boolean as application/xml
- HTTP 200: Boolean as text/plain
- HTTP 200: Boolean as application/octet-stream
Response: 200 (Success) Boolean
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/{id}
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
id | integer | YES | Path |
|
Tags:
Produces:
- HTTP 200: CatalogCategoriesDTO as application/json
- HTTP 200: CatalogCategoriesDTO as text/json
- HTTP 200: CatalogCategoriesDTO as application/xml
- HTTP 200: CatalogCategoriesDTO as text/plain
- HTTP 200: CatalogCategoriesDTO as application/octet-stream
Response: 200 (Success) CatalogCategoriesDTO
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/{id}/Exists
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
id | integer | YES | Path |
|
Tags:
Produces:
- HTTP 200: Boolean as application/json
- HTTP 200: Boolean as text/json
- HTTP 200: Boolean as application/xml
- HTTP 200: Boolean as text/plain
- HTTP 200: Boolean as application/octet-stream
Response: 200 (Success) Boolean
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/{id}/FreeFields
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
id | integer | YES | Path |
|
Tags:
Produces:
- HTTP 200: FreeFieldsBOItemDTO as application/json
- HTTP 200: FreeFieldsBOItemDTO as text/json
- HTTP 200: FreeFieldsBOItemDTO as application/xml
- HTTP 200: FreeFieldsBOItemDTO as text/plain
- HTTP 200: FreeFieldsBOItemDTO as application/octet-stream
Response: 200 (Success) FreeFieldsBOItemDTO
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/{id}/GetFull
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
id | integer | YES | Path |
|
Tags:
Produces:
- HTTP 200: CatalogCategoriesDTO as application/json
- HTTP 200: CatalogCategoriesDTO as text/json
- HTTP 200: CatalogCategoriesDTO as application/xml
- HTTP 200: CatalogCategoriesDTO as text/plain
- HTTP 200: CatalogCategoriesDTO as application/octet-stream
Response: 200 (Success) CatalogCategoriesDTO
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/{id}/GetHash
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
id | integer | YES | Path |
|
Tags:
Produces:
- HTTP 200: String as application/json
- HTTP 200: String as text/json
- HTTP 200: String as application/xml
- HTTP 200: String as text/plain
- HTTP 200: String as application/octet-stream
Response: 200 (Success) String
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/{id}/Humanize
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
id | integer | YES | Path |
|
Tags:
Produces:
- HTTP 200: CatalogCategoriesDTO as application/json
- HTTP 200: CatalogCategoriesDTO as text/json
- HTTP 200: CatalogCategoriesDTO as application/xml
- HTTP 200: CatalogCategoriesDTO as text/plain
- HTTP 200: CatalogCategoriesDTO as application/octet-stream
Response: 200 (Success) CatalogCategoriesDTO
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
DELETE: /api/v1/CatalogCategories/{id}/Photo
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
id | integer | YES | Path |
|
Tags:
Response:
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/{id}/Photo
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
id | integer | YES | Path |
|
Tags:
Response:
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
POST: /api/v1/CatalogCategories/{id}/Photo
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
id | integer | YES | Path |
|
Tags:
Consumes:
- multipart/form-data
Response:
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
PUT: /api/v1/CatalogCategories/{id}/Recent
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
id | integer | YES | Path |
|
Tags:
Produces:
- HTTP 200: Boolean as application/json
- HTTP 200: Boolean as text/json
- HTTP 200: Boolean as application/xml
- HTTP 200: Boolean as text/plain
- HTTP 200: Boolean as application/octet-stream
Response: 200 (Success) Boolean
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/Count
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
filter | string | NO | Query |
|
Tags:
Produces:
- HTTP 200: Int32 as application/json
- HTTP 200: Int32 as text/json
- HTTP 200: Int32 as application/xml
- HTTP 200: Int32 as text/plain
- HTTP 200: Int32 as application/octet-stream
Response: 200 (Success) Int32
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
POST: /api/v1/CatalogCategories/CreateOrUpdate
Routing template:
/api/{version}/CatalogCategories/CreateOrUpdate
Tags:
Consumes:
- application/json
- application/xml
- text/plain
- application/json-patch+json
- text/json
- application/*+json
Produces:
- HTTP 200: Int64 as application/json
- HTTP 200: Int64 as text/json
- HTTP 200: Int64 as application/xml
- HTTP 200: Int64 as text/plain
- HTTP 200: Int64 as application/octet-stream
Response: 200 (Success) ApiActionResult
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
DELETE: /api/v1/CatalogCategories/DeleteByExternalReference
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
externalReference | string | NO | Query |
|
Tags:
Produces:
- HTTP 200: Boolean as application/json
- HTTP 200: Boolean as text/json
- HTTP 200: Boolean as application/xml
- HTTP 200: Boolean as text/plain
- HTTP 200: Boolean as application/octet-stream
Response: 200 (Success) Boolean
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/DeleteByExternalReference
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
externalReference | string | NO | Query |
|
Tags:
Produces:
- HTTP 200: Boolean as application/json
- HTTP 200: Boolean as text/json
- HTTP 200: Boolean as application/xml
- HTTP 200: Boolean as text/plain
- HTTP 200: Boolean as application/octet-stream
Response: 200 (Success) Boolean
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/GetBoDeleteModes
Routing template:
/api/{version}/CatalogCategories/GetBoDeleteModes
Tags:
Produces:
- HTTP 200: BoDeleteMode as application/json
- HTTP 200: BoDeleteMode as text/json
- HTTP 200: BoDeleteMode as application/xml
- HTTP 200: BoDeleteMode as text/plain
- HTTP 200: BoDeleteMode as application/octet-stream
Response: 200 (Success) array of BoDeleteMode
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/GetByExternalReference
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
externalReference | string | NO | Query |
|
Tags:
Produces:
- HTTP 200: CatalogCategoriesDTO as application/json
- HTTP 200: CatalogCategoriesDTO as text/json
- HTTP 200: CatalogCategoriesDTO as application/xml
- HTTP 200: CatalogCategoriesDTO as text/plain
- HTTP 200: CatalogCategoriesDTO as application/octet-stream
Response: 200 (Success) CatalogCategoriesDTO
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/GetIdsByExternalReference
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
externalReference | string | NO | Query |
|
excludeDeletedItems | boolean | NO | Query |
|
Tags:
Produces:
- HTTP 200: Int64 as application/json
- HTTP 200: Int64 as text/json
- HTTP 200: Int64 as application/xml
- HTTP 200: Int64 as text/plain
- HTTP 200: Int64 as application/octet-stream
Response: 200 (Success) Int64
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
POST: /api/v1/CatalogCategories/GetIdsMappedByExternalReference
Routing template:
/api/{version}/CatalogCategories/GetIdsMappedByExternalReference
Tags:
Consumes:
- application/json
- application/xml
- text/plain
- application/json-patch+json
- text/json
- application/*+json
- text/xml
- application/*+xml
Produces:
- HTTP 200: Int64 as application/json
- HTTP 200: Int64 as text/json
- HTTP 200: Int64 as application/xml
- HTTP 200: Int64 as text/plain
- HTTP 200: Int64 as application/octet-stream
Response: 200 (Success) ApiActionResult
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
POST: /api/v1/CatalogCategories/GetIdsNotMappedByExternalReference
Routing template:
/api/{version}/CatalogCategories/GetIdsNotMappedByExternalReference
Tags:
Consumes:
- application/json
- application/xml
- text/plain
- application/json-patch+json
- text/json
- application/*+json
- text/xml
- application/*+xml
Produces:
- HTTP 200: Int64 as application/json
- HTTP 200: Int64 as text/json
- HTTP 200: Int64 as application/xml
- HTTP 200: Int64 as text/plain
- HTTP 200: Int64 as application/octet-stream
Response: 200 (Success) ApiActionResult
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
POST: /api/v1/CatalogCategories/GetItemsMappedByExternalReference
Routing template:
/api/{version}/CatalogCategories/GetItemsMappedByExternalReference
Tags:
Consumes:
- application/json
- application/xml
- text/plain
- application/json-patch+json
- text/json
- application/*+json
- text/xml
- application/*+xml
Produces:
- HTTP 200: CatalogCategoriesDTO as application/json
- HTTP 200: CatalogCategoriesDTO as text/json
- HTTP 200: CatalogCategoriesDTO as application/xml
- HTTP 200: CatalogCategoriesDTO as text/plain
- HTTP 200: CatalogCategoriesDTO as application/octet-stream
Response: 200 (Success) ApiActionResult
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
POST: /api/v1/CatalogCategories/GetItemsNotMappedByExternalReference
Routing template:
/api/{version}/CatalogCategories/GetItemsNotMappedByExternalReference
Tags:
Consumes:
- application/json
- application/xml
- text/plain
- application/json-patch+json
- text/json
- application/*+json
- text/xml
- application/*+xml
Produces:
- HTTP 200: CatalogCategoriesDTO as application/json
- HTTP 200: CatalogCategoriesDTO as text/json
- HTTP 200: CatalogCategoriesDTO as application/xml
- HTTP 200: CatalogCategoriesDTO as text/plain
- HTTP 200: CatalogCategoriesDTO as application/octet-stream
Response: 200 (Success) ApiActionResult
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/GetNewInstance
Routing template:
/api/{version}/CatalogCategories/GetNewInstance
Tags:
Produces:
- HTTP 200: CatalogCategoriesDTO as application/json
- HTTP 200: CatalogCategoriesDTO as text/json
- HTTP 200: CatalogCategoriesDTO as application/xml
- HTTP 200: CatalogCategoriesDTO as text/plain
- HTTP 200: CatalogCategoriesDTO as application/octet-stream
Response: 200 (Success) CatalogCategoriesDTO
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/GetPolymorphicSchema
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
serializePropertiesAsDictionary | boolean | NO | Query |
|
honorAcceptLanguageHeader | boolean | NO | Query |
|
generateSample | boolean | NO | Query |
|
sampleGenerationStrategy | SampleGenerationStrategy | NO | Query |
|
useExtensions | boolean | NO | Query |
|
includeExplicitlyDeclaredVirtualProperties | boolean | NO | Query |
|
Tags:
Produces:
- HTTP 400: object as application/json
- HTTP 400: object as text/json
- HTTP 400: object as application/xml
- HTTP 400: object as text/plain
- HTTP 400: object as application/octet-stream
Response: 400 (Bad Request) object
Samples
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/GetSample
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
force | boolean | NO | Query |
|
sampleGenerationStrategy | SampleGenerationStrategy | NO | Query |
|
useExtensions | boolean | NO | Query |
|
Tags:
Produces:
- HTTP 200: JObject as application/json
- HTTP 200: JObject as text/json
- HTTP 200: JObject as application/xml
- HTTP 200: JObject as text/plain
- HTTP 200: JObject as application/octet-stream
Response: 200 (Success) JObject
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/GetStandardSchema
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
honorAcceptLanguageHeader | boolean | NO | Query |
|
Tags:
Produces:
- HTTP 400: object as application/json
- HTTP 400: object as text/json
- HTTP 400: object as application/xml
- HTTP 400: object as text/plain
- HTTP 400: object as application/octet-stream
Response: 400 (Bad Request) object
Samples
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/GetSwagger
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
honorAcceptLanguageHeader | boolean | NO | Query |
|
bestPracticeOnly | boolean | NO | Query |
|
Tags:
Produces:
- HTTP 200: object as application/json
- HTTP 200: object as text/json
- HTTP 200: object as application/xml
- HTTP 200: object as text/plain
- HTTP 200: object as application/octet-stream
Response: 200 (Success) object
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/MapByExternalReference
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
externalReference | string | NO | Query |
|
internalItemId | integer | NO | Query |
|
Tags:
Response:
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
DELETE: /api/v1/CatalogCategories/MultipleDelete
Routing template:
/api/{version}/CatalogCategories/MultipleDelete
Tags:
Consumes:
- application/json
- application/xml
- text/plain
- application/json-patch+json
- text/json
- application/*+json
- text/xml
- application/*+xml
Produces:
- HTTP 200: DeleteItemResult as application/json
- HTTP 200: DeleteItemResult as text/json
- HTTP 200: DeleteItemResult as application/xml
- HTTP 200: DeleteItemResult as text/plain
- HTTP 200: DeleteItemResult as application/octet-stream
Response: 200 (Success) ApiActionResult
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
POST: /api/v1/CatalogCategories/MultipleDelete
Routing template:
/api/{version}/CatalogCategories/MultipleDelete
Tags:
Consumes:
- application/json
- application/xml
- text/plain
- application/json-patch+json
- text/json
- application/*+json
- text/xml
- application/*+xml
Produces:
- HTTP 200: DeleteItemResult as application/json
- HTTP 200: DeleteItemResult as text/json
- HTTP 200: DeleteItemResult as application/xml
- HTTP 200: DeleteItemResult as text/plain
- HTTP 200: DeleteItemResult as application/octet-stream
Response: 200 (Success) ApiActionResult
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
POST: /api/v1/CatalogCategories/MultipleExists
Routing template:
/api/{version}/CatalogCategories/MultipleExists
Tags:
Consumes:
- application/json
- application/xml
- text/plain
- application/json-patch+json
- text/json
- application/*+json
- text/xml
- application/*+xml
Produces:
- HTTP 200: ExistsItemResult as application/json
- HTTP 200: ExistsItemResult as text/json
- HTTP 200: ExistsItemResult as application/xml
- HTTP 200: ExistsItemResult as text/plain
- HTTP 200: ExistsItemResult as application/octet-stream
Response: 200 (Success) ApiActionResult
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
POST: /api/v1/CatalogCategories/MultipleGet
Routing template:
/api/{version}/CatalogCategories/MultipleGet
Tags:
Consumes:
- application/json
- application/xml
- text/plain
- application/json-patch+json
- text/json
- application/*+json
- text/xml
- application/*+xml
Produces:
- HTTP 200: GetItemResult`1 as application/json
- HTTP 200: GetItemResult`1 as text/json
- HTTP 200: GetItemResult`1 as application/xml
- HTTP 200: GetItemResult`1 as text/plain
- HTTP 200: GetItemResult`1 as application/octet-stream
Response: 200 (Success) ApiActionResult[]>
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/PrintableFields
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
includeFull | boolean | NO | Query |
|
includeNesting | boolean | NO | Query |
|
Tags:
Produces:
- HTTP 400: array of LiquidStruct as application/json
- HTTP 400: array of LiquidStruct as text/json
- HTTP 400: array of LiquidStruct as application/xml
- HTTP 400: array of LiquidStruct as text/plain
- HTTP 400: array of LiquidStruct as application/octet-stream
Response: 400 (Bad Request) array of LiquidStruct
Samples
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/ResetExternalReferences
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
internalItemId | integer | NO | Query |
|
Tags:
Response:
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/Search
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
filter | string | NO | Query |
|
orderBy | string | NO | Query |
|
skip | integer | NO | Query |
|
top | integer | NO | Query |
|
select | string | NO | Query |
|
Tags:
Produces:
- HTTP 200: CatalogCategoriesDTO as application/json
- HTTP 200: CatalogCategoriesDTO as text/json
- HTTP 200: CatalogCategoriesDTO as application/xml
- HTTP 200: CatalogCategoriesDTO as text/plain
- HTTP 200: CatalogCategoriesDTO as application/octet-stream
Response: 200 (Success) CatalogCategoriesDTO
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/SearchIds
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
filter | string | NO | Query |
|
orderBy | string | NO | Query |
|
skip | integer | NO | Query |
|
top | integer | NO | Query |
|
Tags:
Produces:
- HTTP 200: Int64 as application/json
- HTTP 200: Int64 as text/json
- HTTP 200: Int64 as application/xml
- HTTP 200: Int64 as text/plain
- HTTP 200: Int64 as application/octet-stream
Response: 200 (Success) Int64
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/SearchIdsByExternalReference
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
externalReference | string | NO | Query |
|
Tags:
Produces:
- HTTP 200: Int64 as application/json
- HTTP 200: Int64 as text/json
- HTTP 200: Int64 as application/xml
- HTTP 200: Int64 as text/plain
- HTTP 200: Int64 as application/octet-stream
Response: 200 (Success) Int64
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
GET: /api/v1/CatalogCategories/UnmapByExternalReference
Parameters:
Name | Type | Required | In | Features |
---|---|---|---|---|
externalReference | string | NO | Query |
|
internalItemId | integer | NO | Query |
|
Tags:
Response:
Samples
Download HTTP 200 response sample
Download Postman collection sample
Try this !
Definitions
The following definitions describe the structure of the datamodels involved in the various REST operations that can be performed for this controller.
Some definitions are subjected to polymorphic serialization, and therefore their complete polymorphic scheme is reported.
Name | Description |
---|---|
BoDeleteMode | Bo Delete Mode |
BusinessObjectType | Business Object Type |
CatalogCategoriesDTO | Catalog Categories |
CRMTables | CRM Tables |
DeleteItemResult | Delete Item Result |
DTOPropertyUsage | DTO Property Usage |
ExistsItemResult | Exists Item Result |
ExternalReferenceDTO | External Reference |
FreeFieldsBOItemDTO | Free Fields BO Item |
FreeFieldsBOItemLocalizingDTO | Free Fields BO Item Localizing |
FreeFieldsBOTreeItemDTO | Free Fields BO Tree Item |
FreeFieldsType | Free Fields Type |
GetIdsMappedByExternalReferenceRequest | Get Ids Mapped By External Reference Request |
GetItemResult`1[] | Get Item Result`1 |
GetItemsMappedByExternalReferenceRequest | Get Items Mapped By External Reference Request |
Gravity | Gravity |
JToken | J Token |
LinkItem | Link Item |
LiquidStruct | Liquid Struct |
LocalizeType | Localize Type |
LocalizingDTO | Localizing |
MultipleDeleteModel | Multiple Delete Model |
MultipleExistsModel | Multiple Exists Model |
MultipleGetModel | Multiple Get Model |
SampleGenerationStrategy | Sample Generation Strategy |
Errors
The controller actions will generate errors for the following cases:
- Status 400: Badly formed queries e.g. filter parameters that are not correctly encoded
- Status 401: Authentication failures e.g. unrecognised keys
- Status 403: Forbidden. The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource, or may need an account of some sort.
- Status 404: Not found. Unknown resources e.g. data which is not public
- Status 409: Conflict. Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates.
- Status 500: Server errors e.g. where something has gone
Errors are formatted in JSON
Versioning
It is possible to select the web services version using the {version} token
/api/{version}/{controller}/{details}/{action}/{id}?{querystring}
The token {version} can contain both "exact" values and the special "latest" alias, which identifies the most recent version among those existing in the system.
In general, the use of the special "latest" alias is strongly recommended.
If you want to be particularly "conservative" and adherent to a specific version, specify the name explicitly (eg "v1").
Routing
The system use the following routing syntax, consisting of a sequence of "path-tokens" (the request parameters):
{schema}://{host}/api/{version}/{controller}/{details}/{action}/{id}?{querystring}
The tokens identify respectively:
- {host} -> HOST of the URL
- {version} -> version of web services
- {controller} -> name of the service (controller) you want to invoke
- {details} -> optional detail level of the returned JSON (if applicable)
- {action} -> optional action (method) invoked in the controller
- {id} -> single optional primary key argument (parameter) of the method in the controller, if it so requires
- {querystring} -> additional parameters and possible "modifiers" of the processing and serialization process
OData
The REST APIs are internally based on the Microsoft WebAPI technology, and are largely compliant with the REST specifications, OData v3 and OData v4.
Functions and details related to OData
For more details and specifications regarding the general criteria to adopt when using the OData functions, refer to the basic guide on the topic
Options
The REST API functions implemented in CRM in Cloud include a vast set of options that allow you to adapt the structure and shape of JSON packages according to your needs and preferences.
Unlike the parameters, which are specified in the URL route (through tokens and querystring), the options must instead be passed through the HTTP headers of the request.
As from RFC6648 all the options passed through HTTP headers have in their name the custom prefix "Crm-".
If a certain option is not specified, the system will use the default value specific to the {version} indicated in the URL.
For a complete discussion of options and polymorphic serialization, refer to the general guide on the subject
Swagger
Below you can download the JSON descriptor in Swagger/OpenAPI format