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.


Aliases

This controller can be invoked by other names besides the default one.

This means that, referring to the routing grammar ({schema}://{host}/api/{version}/{controller}/{details}/{action}/{id}?{querystring}) it is possible to use a different fragment for the {controller} component.

Below is the list of these aliases for the fragment {controller}, sorted by suggested preference of use.

AliasPath
Flows/api/v1/Flows
Flow/api/v1/Flow

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/Flow/

Routing template:

/api/{version}/Flow/

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/Flow/{id}

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

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/Flow/{id}

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

Produces:

  • HTTP 200: FlowDTO as application/json
  • HTTP 200: FlowDTO as text/json
  • HTTP 200: FlowDTO as application/xml
  • HTTP 200: FlowDTO as text/plain
  • HTTP 200: FlowDTO as application/octet-stream

Response: 200 (Success) FlowDTO

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


POST: /api/v1/Flow/{id}/Abort

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

Produces:

Response: 400 (Bad Request) ActionResultDTO

Samples

Download Postman collection sample

Try this !


GET: /api/v1/Flow/{id}/Exists

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

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 !


POST: /api/v1/Flow/{id}/Fail

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

Produces:

Response: 400 (Bad Request) ActionResultDTO

Samples

Download Postman collection sample

Try this !


GET: /api/v1/Flow/{id}/FreeFields

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

Produces:

Response: 200 (Success) FreeFieldsBOItemDTO

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


GET: /api/v1/Flow/{id}/GetFull

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

Produces:

  • HTTP 200: FlowDTO as application/json
  • HTTP 200: FlowDTO as text/json
  • HTTP 200: FlowDTO as application/xml
  • HTTP 200: FlowDTO as text/plain
  • HTTP 200: FlowDTO as application/octet-stream

Response: 200 (Success) FlowDTO

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


GET: /api/v1/Flow/{id}/GetHash

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

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/Flow/{id}/Humanize

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

Produces:

  • HTTP 200: FlowDTO as application/json
  • HTTP 200: FlowDTO as text/json
  • HTTP 200: FlowDTO as application/xml
  • HTTP 200: FlowDTO as text/plain
  • HTTP 200: FlowDTO as application/octet-stream

Response: 200 (Success) FlowDTO

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


POST: /api/v1/Flow/{id}/LastFlow

Parameters:

NameTypeRequiredInFeatures
type BusinessObjectType NO Query
id integer YES Path
  • Format: int64

Produces:

Response: 400 (Bad Request) FlowLinkDTO

Samples

Download Postman collection sample

Try this !


GET: /api/v1/Flow/{id}/Log

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64
sid integer NO Query
  • Format: int64

Produces:

Response: 400 (Bad Request) FlowLogDTO

Samples

Download Postman collection sample

Try this !


DELETE: /api/v1/Flow/{id}/Photo

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

Response:

200 (Success)

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


GET: /api/v1/Flow/{id}/Photo

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

Response:

200 (Success)

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


POST: /api/v1/Flow/{id}/Photo

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

Consumes:

  • multipart/form-data

Response:

200 (Success)

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


PUT: /api/v1/Flow/{id}/Recent

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

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 !


POST: /api/v1/Flow/{id}/Success

Parameters:

NameTypeRequiredInFeatures
id integer YES Path
  • Format: int64

Produces:

Response: 400 (Bad Request) ActionResultDTO

Samples

Download Postman collection sample

Try this !


GET: /api/v1/Flows/Start/{trigger}/{crossId}

Parameters:

NameTypeRequiredInFeatures
trigger string YES Path
crossId integer YES Path
  • Format: int64
version string YES Path

Produces:

Response: 400 (Bad Request) IFlowTriggerReport

Samples

Download Postman collection sample

Try this !


POST: /api/v1/Flows/Start/{trigger}/{crossId}

Parameters:

NameTypeRequiredInFeatures
trigger string YES Path
crossId integer YES Path
  • Format: int64
version string YES Path

Produces:

Response: 400 (Bad Request) IFlowTriggerReport

Samples

Download Postman collection sample

Try this !


GET: /api/v1/Flow/api/Flow/Start/{trigger}/{crossId}

Parameters:

NameTypeRequiredInFeatures
trigger string YES Path
crossId integer YES Path
  • Format: int64

Produces:

Response: 400 (Bad Request) IFlowTriggerReport

Samples

Download Postman collection sample

Try this !


POST: /api/v1/Flow/api/Flow/Start/{trigger}/{crossId}

Parameters:

NameTypeRequiredInFeatures
trigger string YES Path
crossId integer YES Path
  • Format: int64

Produces:

Response: 400 (Bad Request) IFlowTriggerReport

Samples

Download Postman collection sample

Try this !


GET: /api/v1/Flow/Count

Parameters:

NameTypeRequiredInFeatures
filter string NO Query

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/Flow/CreateOrUpdate

Routing template:

/api/{version}/Flow/CreateOrUpdate

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/Flow/DeleteByExternalReference

Parameters:

NameTypeRequiredInFeatures
externalReference string NO Query

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/Flow/DeleteByExternalReference

Parameters:

NameTypeRequiredInFeatures
externalReference string NO Query

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/Flow/GetBoDeleteModes

Routing template:

/api/{version}/Flow/GetBoDeleteModes

Produces:

Response: 200 (Success) array of BoDeleteMode

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


GET: /api/v1/Flow/GetByExternalReference

Parameters:

NameTypeRequiredInFeatures
externalReference string NO Query

Produces:

  • HTTP 200: FlowDTO as application/json
  • HTTP 200: FlowDTO as text/json
  • HTTP 200: FlowDTO as application/xml
  • HTTP 200: FlowDTO as text/plain
  • HTTP 200: FlowDTO as application/octet-stream

Response: 200 (Success) FlowDTO

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


GET: /api/v1/Flow/GetIdsByExternalReference

Parameters:

NameTypeRequiredInFeatures
externalReference string NO Query
excludeDeletedItems boolean NO Query

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/Flow/GetIdsMappedByExternalReference

Routing template:

/api/{version}/Flow/GetIdsMappedByExternalReference

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/Flow/GetIdsNotMappedByExternalReference

Routing template:

/api/{version}/Flow/GetIdsNotMappedByExternalReference

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/Flow/GetItemsMappedByExternalReference

Routing template:

/api/{version}/Flow/GetItemsMappedByExternalReference

Consumes:

  • application/json
  • application/xml
  • text/plain
  • application/json-patch+json
  • text/json
  • application/*+json
  • text/xml
  • application/*+xml

Produces:

  • HTTP 200: FlowDTO as application/json
  • HTTP 200: FlowDTO as text/json
  • HTTP 200: FlowDTO as application/xml
  • HTTP 200: FlowDTO as text/plain
  • HTTP 200: FlowDTO as application/octet-stream

Response: 200 (Success) ApiActionResult

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


POST: /api/v1/Flow/GetItemsNotMappedByExternalReference

Routing template:

/api/{version}/Flow/GetItemsNotMappedByExternalReference

Consumes:

  • application/json
  • application/xml
  • text/plain
  • application/json-patch+json
  • text/json
  • application/*+json
  • text/xml
  • application/*+xml

Produces:

  • HTTP 200: FlowDTO as application/json
  • HTTP 200: FlowDTO as text/json
  • HTTP 200: FlowDTO as application/xml
  • HTTP 200: FlowDTO as text/plain
  • HTTP 200: FlowDTO as application/octet-stream

Response: 200 (Success) ApiActionResult

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


GET: /api/v1/Flow/GetNewInstance

Routing template:

/api/{version}/Flow/GetNewInstance

Produces:

  • HTTP 200: FlowDTO as application/json
  • HTTP 200: FlowDTO as text/json
  • HTTP 200: FlowDTO as application/xml
  • HTTP 200: FlowDTO as text/plain
  • HTTP 200: FlowDTO as application/octet-stream

Response: 200 (Success) FlowDTO

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


GET: /api/v1/Flow/GetPolymorphicSchema

Parameters:

NameTypeRequiredInFeatures
serializePropertiesAsDictionary boolean NO Query
  • Default: True
honorAcceptLanguageHeader boolean NO Query
  • Default: False
generateSample boolean NO Query
  • Default: False
sampleGenerationStrategy SampleGenerationStrategy NO Query
useExtensions boolean NO Query
  • Default: True
includeExplicitlyDeclaredVirtualProperties boolean NO Query
  • Default: False

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/Flow/GetSample

Parameters:

NameTypeRequiredInFeatures
force boolean NO Query
  • Default: False
sampleGenerationStrategy SampleGenerationStrategy NO Query
useExtensions boolean NO Query
  • Default: True

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/Flow/GetStandardSchema

Parameters:

NameTypeRequiredInFeatures
honorAcceptLanguageHeader boolean NO Query
  • Default: False

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/Flow/GetSwagger

Parameters:

NameTypeRequiredInFeatures
honorAcceptLanguageHeader boolean NO Query
  • Default: False
bestPracticeOnly boolean NO Query
  • Default: True

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/Flow/MapByExternalReference

Parameters:

NameTypeRequiredInFeatures
externalReference string NO Query
internalItemId integer NO Query
  • Format: int64

Response:

200 (Success)

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


DELETE: /api/v1/Flow/MultipleDelete

Routing template:

/api/{version}/Flow/MultipleDelete

Consumes:

  • application/json
  • application/xml
  • text/plain
  • application/json-patch+json
  • text/json
  • application/*+json
  • text/xml
  • application/*+xml

Produces:

Response: 200 (Success) ApiActionResult

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


POST: /api/v1/Flow/MultipleDelete

Routing template:

/api/{version}/Flow/MultipleDelete

Consumes:

  • application/json
  • application/xml
  • text/plain
  • application/json-patch+json
  • text/json
  • application/*+json
  • text/xml
  • application/*+xml

Produces:

Response: 200 (Success) ApiActionResult

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


POST: /api/v1/Flow/MultipleExists

Routing template:

/api/{version}/Flow/MultipleExists

Consumes:

  • application/json
  • application/xml
  • text/plain
  • application/json-patch+json
  • text/json
  • application/*+json
  • text/xml
  • application/*+xml

Produces:

Response: 200 (Success) ApiActionResult

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


POST: /api/v1/Flow/MultipleGet

Routing template:

/api/{version}/Flow/MultipleGet

Consumes:

  • application/json
  • application/xml
  • text/plain
  • application/json-patch+json
  • text/json
  • application/*+json
  • text/xml
  • application/*+xml

Produces:

Response: 200 (Success) ApiActionResult[]>

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


GET: /api/v1/Flow/PrintableFields

Parameters:

NameTypeRequiredInFeatures
includeFull boolean NO Query
  • Default: True
includeNesting boolean NO Query
  • Default: True

Produces:

Response: 400 (Bad Request) array of LiquidStruct

Samples

Download Postman collection sample

Try this !


GET: /api/v1/Flow/ResetExternalReferences

Parameters:

NameTypeRequiredInFeatures
internalItemId integer NO Query
  • Format: int64

Response:

200 (Success)

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


GET: /api/v1/Flow/Search

Parameters:

NameTypeRequiredInFeatures
filter string NO Query
orderBy string NO Query
skip integer NO Query
  • Format: int64
top integer NO Query
  • Format: int64
select string NO Query

Produces:

  • HTTP 200: FlowDTO as application/json
  • HTTP 200: FlowDTO as text/json
  • HTTP 200: FlowDTO as application/xml
  • HTTP 200: FlowDTO as text/plain
  • HTTP 200: FlowDTO as application/octet-stream

Response: 200 (Success) FlowDTO

Samples

Download HTTP 200 response sample

Download Postman collection sample

Try this !


GET: /api/v1/Flow/SearchIds

Parameters:

NameTypeRequiredInFeatures
filter string NO Query
orderBy string NO Query
skip integer NO Query
  • Format: int64
top integer NO Query
  • Format: int64

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/Flow/SearchIdsByExternalReference

Parameters:

NameTypeRequiredInFeatures
externalReference string NO Query

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/Flow/StartManualTrigger

Parameters:

NameTypeRequiredInFeatures
triggerId integer NO Query
  • Format: int64
flowTemplateId integer NO Query
  • Format: int64
crossId integer NO Query
  • Format: int64

Produces:

Response: 400 (Bad Request) IFlowTriggerReport

Samples

Download Postman collection sample

Try this !


GET: /api/v1/Flow/UnmapByExternalReference

Parameters:

NameTypeRequiredInFeatures
externalReference string NO Query
internalItemId integer NO Query
  • Format: int64

Response:

200 (Success)

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.

NameDescription
ActionResultDTOAction Result
BoDeleteModeBo Delete Mode
BusinessObjectTypeBusiness Object Type
CRMTablesCRM Tables
DeleteItemResultDelete Item Result
DTOPropertyUsageDTO Property Usage
ExistsItemResultExists Item Result
ExternalReferenceDTOExternal Reference
FlowDTOFlow
FlowLinkDTOFlow Link
FlowLogDTOFlow Log
FlowStepResultFlow Step Result
FreeFieldsBOItemDTOFree Fields BO Item
FreeFieldsBOItemLocalizingDTOFree Fields BO Item Localizing
FreeFieldsBOTreeItemDTOFree Fields BO Tree Item
FreeFieldsTypeFree Fields Type
GetIdsMappedByExternalReferenceRequestGet Ids Mapped By External Reference Request
GetItemResult`1[]Get Item Result`1
GetItemsMappedByExternalReferenceRequestGet Items Mapped By External Reference Request
GravityGravity
IFlowTriggerReportFlow Trigger Report
JTokenJ Token
LinkItemLink Item
LiquidStructLiquid Struct
LocalizeTypeLocalize Type
LocalizingDTOLocalizing
MultipleDeleteModelMultiple Delete Model
MultipleExistsModelMultiple Exists Model
MultipleGetModelMultiple Get Model
SampleGenerationStrategySample 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

Download Swagger descriptor