Official documentation for the ArmSoft Trade Public API.
The ArmSoft Trade Public API provides programmatic access to:
- Products: Product catalog management with CRUD operations
- Product Measure Units: Alternative measurement units management
- Multi-language Support: Armenian (hy-AM), English (en-US), Russian (ru-RU)
β
RESTful design with JSON responses
β
API Key authentication (header-based)
β
Comprehensive error handling
β
OpenAPI/Swagger specification
β
Multi-language support
β
Built on ASP.NET Core 10 / C# 13
Contact your ArmSoft administrator to obtain an API key.
curl -X GET "https://api.armsoft.am/trade/v1/directories/products/PROD001" \
-H "apiKey: your-api-key-here" \
-H "Accept-Language: hy-AM"{
"id": 12345,
"code": "PROD001",
"name": "Sample Product",
"baseUnitMeasure": "PCS",
"vat": true,
"showInPriceLists": true
}All API requests require an API key in the request header:
apiKey: your-api-key-here
Accept-Language: hy-AMAPI Key Types:
- Full Access: Complete CRUD operations on all resources
- Limited Access: Restricted to specific operations (e.g., online store)
π Full Authentication Guide
https://api.armsoft.am/trade/v{version}
Current version: v1
| Method | Endpoint | Description |
|---|---|---|
| POST | /directories/products/list |
Get all products with filters |
| GET | /directories/products/{code} |
Get product by code |
| POST | /directories/products |
Create new product |
| PUT | /directories/products/{code} |
Update product |
| DELETE | /directories/products/{code} |
Delete product |
| Method | Endpoint | Description |
|---|---|---|
| GET | /directories/productsgroups |
Get all product groups |
| GET | /directories/productsgroups/{code} |
Get product group by code |
| POST | /directories/productsgroups |
Create new product group |
| PUT | /directories/productsgroups/{code} |
Update product group |
| DELETE | /directories/productsgroups/{code} |
Delete product group |
| Method | Endpoint | Description |
|---|---|---|
| POST | /directories/products/measureunits/list |
Get all measure units |
| GET | /directories/products/{productCode}/measureunits/{unitCode} |
Get measure unit |
| POST | /directories/products/measureunits |
Create measure unit |
| PUT | /directories/products/{productCode}/measureunits/{unitCode} |
Update measure unit |
| DELETE | /directories/products/{productCode}/measureunits/{unitCode} |
Delete measure unit |
| Method | Endpoint | Description |
|---|---|---|
| POST | /directories/barcodes/list |
Get all barcodes with filters |
| POST | /directories/barcodes/nextpage |
Get next page of barcodes |
| GET | /directories/barcodes/{code} |
Get barcode by code |
| POST | /directories/barcodes |
Create new barcode |
| PUT | /directories/barcodes/{code} |
Update barcode |
| DELETE | /directories/barcodes/{code} |
Delete barcode |
| Method | Endpoint | Description |
|---|---|---|
| GET | /directories/cashdesks |
List all cash desks |
| GET | /directories/cashdesks/{code} |
Get cash desk by code |
| POST | /directories/cashdesks |
Create new cash desk |
| PUT | /directories/cashdesks/{code} |
Update cash desk |
| DELETE | /directories/cashdesks/{code} |
Delete cash desk |
| Method | Endpoint | Description |
|---|---|---|
| GET | /directories/partnersgroups |
Get all partners groups |
| GET | /directories/partnersgroups/{code} |
Get partner group by code |
| POST | /directories/partnersgroups |
Create new partner group |
| PUT | /directories/partnersgroups/{code} |
Update partner group |
| DELETE | /directories/partnersgroups/{code} |
Delete partner group |
| Method | Endpoint | Description |
|---|---|---|
| POST | /directories/partners/list |
Get all partners with filters |
| GET | /directories/partners/{code} |
Get partner by code |
| POST | /directories/partners |
Create new partner |
| PUT | /directories/partners/{code} |
Update partner |
| DELETE | /directories/partners/{code} |
Delete partner |
| POST | /directories/partners/contracts/list |
Get partner contracts |
| POST | /directories/partners/contracts |
Create new contract |
| GET | /directories/partners/{partnerCode}/contracts/{contractCode} |
Get contract |
| PUT | /directories/partners/{partnerCode}/contracts/{contractCode} |
Update contract |
| DELETE | /directories/partners/{partnerCode}/contracts/{contractCode} |
Delete contract |
| Method | Endpoint | Description |
|---|---|---|
| GET | /directories/pricelisttypes |
List all price list types |
| GET | /directories/pricelisttypes/{code} |
Get price list type by code |
| POST | /directories/pricelisttypes |
Create new price list type |
| PUT | /directories/pricelisttypes/{code} |
Update price list type |
| DELETE | /directories/pricelisttypes/{code} |
Delete price list type |
| Method | Endpoint | Description |
|---|---|---|
| GET | /directories/storages |
Get all storages |
| GET | /directories/storages/{code} |
Get storage by code |
| POST | /directories/storages |
Create new storage |
| PUT | /directories/storages/{code} |
Update storage |
| DELETE | /directories/storages/{code} |
Delete storage |
| Method | Endpoint | Description |
|---|---|---|
| POST | /journals/alldocuments |
Get all documents journal rows |
| POST | /journals/alldocuments/nextpage |
Next page for documents journal |
| POST | /journals/ecrchecks |
Get ECR checks journal rows |
| POST | /journals/ecrchecks/nextpage |
Next page for ECR checks journal |
| Method | Endpoint | Description |
|---|---|---|
| POST | /reports/partnersbalances |
Partner balances report |
| POST | /reports/partnersbalances/nextpage |
Partner balances next page |
| POST | /reports/productsbalances |
Product balances report |
| POST | /reports/productsbalances/nextpage |
Product balances next page |
| POST | /reports/productsbalances/short |
Products balances short report |
| POST | /reports/productsbalances/short/nextpage |
Products balances short next page |
| POST | /reports/pricelist |
Price list report |
| POST | /reports/pricelist/nextpage |
Price list next page |
| POST | /reports/salesanalysis |
Sales analysis report |
| POST | /reports/salesanalysis/nextpage |
Sales analysis next page |
| POST | /reports/bonusbalances |
Bonus balances report |
| POST | /reports/bonusbalances/nextpage |
Bonus balances next page |
π Code Examples
| Document | Description |
|---|---|
| Getting Started | Installation and setup guide |
| Authentication | API key authentication details |
| API Reference | Complete endpoint documentation |
| Products API | Detailed Products endpoint reference |
| Measure Units API | Measure Units endpoint reference |
| Pagination | Pagination and filtering guide |
| Localization | Multi-language support details |
| Error Handling | Error codes and responses |
| Changelog | Version history and changes |
Interactive API documentation available via Swagger:
- Swagger UI:
https://api.armsoft.am/trade/swagger - OpenAPI Spec: openapi/openapi.yaml
Import the OpenAPI specification into:
- Postman
- SwaggerHub
- Any OpenAPI-compatible tool
Set the Accept-Language header to receive localized responses:
| Language | Code | Example |
|---|---|---|
| Armenian | hy-AM |
Accept-Language: hy-AM |
| English | en-US |
Accept-Language: en-US |
| Russian | ru-RU |
Accept-Language: ru-RU |
| Code | Description |
|---|---|
| 200 | OK - Successful request |
| 201 | Created - Resource created successfully |
| 400 | Bad Request - Invalid request data |
| 401 | Unauthorized - Invalid or missing API key |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Resource doesn't exist |
| 405 | Method Not Allowed |
| 409 | Conflict - Resource conflict (e.g., duplicate) |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error |
| 503 | Service Unavailable |
API version is specified in the URL:
/trade/v1/directories/products
- Current version: v1
- Backward compatibility maintained within major versions
Β© 2026 ArmSoft - Armenian Software. All rights reserved.
This documentation is provided for API integration purposes. For licensing of the ArmSoft Trade system, contact ArmSoft.
ArmSoft is a leading provider of enterprise resource planning (ERP) solutions for businesses in Armenia and beyond. The Trade system is designed for small and medium enterprises to manage their trade operations efficiently.
This repository includes machine-readable index files for AI tools and web crawlers:
- llms.txt β structured index of all docs and endpoints
- llms-full.txt β full inline content for AI tools that don't follow links