# CargoSoft ECM Public API

Provides access to public ECM features (rate search, quotation import, etc.)

Version: 1.0.0

## Servers

Public endpoints (authentication)
```
https://<application-url>/rest
```

Secured endpoints (search)
```
https://<application-url>/secured
```

## Security

### bearerAuth

Type: http
Scheme: bearer
Bearer Format: JWT

## Download OpenAPI description

 - [CargoSoft ECM Public API](https://api-cargosoft.redocly.app/_bundle/products/ecm-api/@2026.2/openapi.yaml)

## Auth

 - [POST /auth/token](https://api-cargosoft.redocly.app/products/ecm-api/2026.2/openapi/auth/retrieveauthtoken.md): Accepts username/password via x-www-form-urlencoded and returns a JWT.
## ECM

 - [POST /ecm/v1/search](https://api-cargosoft.redocly.app/products/ecm-api/2026.2/openapi/ecm/findrates.md): Performs a rate search based on the given query. Accessible only to users with roles `admin`, `sysadmin`, or `accrual`.
 - [GET /ecm/v1/conditions](https://api-cargosoft.redocly.app/products/ecm-api/2026.2/openapi/ecm/getavailableconditions.md): Returns the list of available conditions with metadata and allowed values.
 - [GET /ecm/v1/billingCategories{modePart}](https://api-cargosoft.redocly.app/products/ecm-api/2026.2/openapi/ecm/getbillingcategories.md): Returns billing categories. If `mode` is provided (e.g. `/billingCategories/SEA`), only billing categories for that transport mode are returned. If omitted (simply `/billingCategories`), all billi
 - [GET /ecm/v1/calculationBases](https://api-cargosoft.redocly.app/products/ecm-api/2026.2/openapi/ecm/getcalculationbases.md): Returns available calculation bases.
 - [GET /ecm/v1/packageTypes{loadTypePart}](https://api-cargosoft.redocly.app/products/ecm-api/2026.2/openapi/ecm/getpackagetypes.md): Returns package types. If `loadType` is provided (e.g. `/packageTypes/full` or `/packageTypes/less`), only package types for that load type are returned. If omitted (simply `/packageTypes`), all p
 - [GET /ecm/v1/addresses/{companyFunction}](https://api-cargosoft.redocly.app/products/ecm-api/2026.2/openapi/ecm/getaddresses.md): Returns company address codes for companies with the provided company function. Company function is required and can be one of the following: [ customer, oceanCarrier, airline, bargeCarrier, courier,
 - [POST /ecm/v1/locations](https://api-cargosoft.redocly.app/products/ecm-api/2026.2/openapi/ecm/suggestlocations.md): Returns a list of matching locations (e.g., seaports, airports, cities) based on the provided input text and optional filters.
 - [POST /ecm/v1/quotations/adhoc](https://api-cargosoft.redocly.app/products/ecm-api/2026.2/openapi/ecm/createadhocquotation.md): Creates a new ad-hoc quotation for a customer. Requires roles `admin`, `sysadmin`, or `accrual`.
 - [POST /ecm/v1/quotations/general](https://api-cargosoft.redocly.app/products/ecm-api/2026.2/openapi/ecm/creategeneralquotation.md): Creates a new general quotation for a customer. Requires roles `admin`, `sysadmin`, or `accrual`.
