Edara API v3

Edara API v3: Service Items

Read the guide first: authentication, paging, errors, rate limits and the shared PagedResult, BatchResult and *Reference shapes.

Endpoints

GET /v3/service-items: Lists service items.

Operation GetServiceItems · permission read:service-item

Query string: GetServiceItemsQuery

field type default validation description
offset int? 0 >= 0 Number of items to skip before returning results. Defaults to 0.
limit int? 100 1..1000 (out of range → 400) Maximum number of items to return. Defaults to 100, maximum 1000.
code string Must(code => !string.IsNullOrWhiteSpace(code)) .When(x => x.Code != null) CONTAINS filter on code.
name string Must(name => !string.IsNullOrWhiteSpace(name)) .When(x => x.Name != null) CONTAINS filter on description.
externalId string Must(externalId => !string.IsNullOrWhiteSpace(externalId)) .When(x => x.ExternalId != null) External id equality filter.
search string Must(search => !string.IsNullOrWhiteSpace(search)) .When(x => x.Search != null) CONTAINS filter across code or description.
updateDate DateTime? Returns service items inserted or updated strictly after this value.

Responses: OK PagedResult<ServiceItemResponse>: Paged list of service items.

Notes


GET /v3/service-items/{id}: Gets a service item by id.

Operation GetServiceItemById · permission read:service-item

Parameters

name in type default description
id route int The service item id.

Responses: OK ServiceItemResponse: The service item.


POST /v3/service-items: Creates a service item.

Operation CreateServiceItem · permission create:service-item

Body: ServiceItemUpsertRequest

field type default validation description
code string MaximumLength(128) Unique business code.
description string NotEmpty() .MaximumLength(255) Display description.
price decimal Default selling price.
taxId int? Sales/purchase tax id.
withholdingTaxId int? Withholding tax id.
cost decimal Service cost, used in margin calculations.
isShippingService bool Whether the service item is treated as a shipping/delivery line.
externalId string MaximumLength(128) External system identifier.

Responses: Created ServiceItemResponse: Service item created.

Business errors (HTTP 409, match on errorCode):

Notes


PUT /v3/service-items/{id}: Updates a service item by id.

Operation UpdateServiceItemById · permission update:service-item

Parameters

name in type default description
id route int The service item id.

Body: ServiceItemUpsertRequest

field type default validation description
code string MaximumLength(128) Unique business code.
description string NotEmpty() .MaximumLength(255) Display description.
price decimal Default selling price.
taxId int? Sales/purchase tax id.
withholdingTaxId int? Withholding tax id.
cost decimal Service cost, used in margin calculations.
isShippingService bool Whether the service item is treated as a shipping/delivery line.
externalId string MaximumLength(128) External system identifier.

Responses: OK ServiceItemResponse: The updated service item.

Business errors (HTTP 409, match on errorCode):

Notes


PUT /v3/service-items/code/{code}: Updates a service item by code.

Operation UpdateServiceItemByCode · permission update:service-item

Parameters

name in type default description
code route string The service item code.

Body: ServiceItemUpsertRequest

field type default validation description
code string MaximumLength(128) Unique business code.
description string NotEmpty() .MaximumLength(255) Display description.
price decimal Default selling price.
taxId int? Sales/purchase tax id.
withholdingTaxId int? Withholding tax id.
cost decimal Service cost, used in margin calculations.
isShippingService bool Whether the service item is treated as a shipping/delivery line.
externalId string MaximumLength(128) External system identifier.

Responses: OK ServiceItemResponse: The updated service item.

Business errors (HTTP 409, match on errorCode):

Notes


DELETE /v3/service-items/{id}: Deletes a service item by id.

Operation DeleteServiceItemById · permission delete:service-item

Parameters

name in type default description
id route int The service item id.

Responses: NoContent: (not declared; read from the method body)

Business errors (HTTP 409, match on errorCode):

Notes


DELETE /v3/service-items/code/{code}: Deletes a service item by code.

Operation DeleteServiceItemByCode · permission delete:service-item

Parameters

name in type default description
code route string The service item code.

Responses: NoContent: (not declared; read from the method body)

Business errors (HTTP 409, match on errorCode):

Notes

Types

ServiceItemResponse

Response describing a service item.

field type description
id int Service-item identifier.
code string Unique business code.
description string Display description.
price decimal Default selling price.
tax TaxReference Sales/purchase tax reference.
taxRate decimal Effective tax rate percentage.
withholdingTax TaxReference Withholding tax reference.
cost decimal Service cost, used in margin calculations.
isShippingService bool Whether the service item is treated as a shipping/delivery line.
externalId string External system identifier.

TaxReference

Lightweight tax reference (id + name + rate).

field type description
id int The tax id.
name string The tax name.
rate decimal The tax rate as a percentage.