Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

ArmSoft Accountant Public API Documentation

API Version .NET OpenAPI Sync Swagger

πŸ”— Online documentation

Official documentation for the ArmSoft Accountant Public API.

πŸ“‹ Overview

The ArmSoft Accountant Public API provides programmatic access to:

  • Directories: Partners, materials, services, employees and storages
  • Documents: Invoices, retail sales, transfer invoices, memorial orders, payment orders, storage input/output orders, materials movement, materials kitting, overhead expense allocation, received services, fixed asset acquisition and disposal, cash input/output orders
  • Journals: All documents, invoices, ECR checks
  • Reports: Accounts balances and turnover, transactions, partners balances and transactions, materials balances and operations, purchases
  • Multi-language Support: Armenian (hy-AM), English (en-US), Russian (ru-RU)

Key Features

βœ… 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

πŸš€ Quick Start

1. Get Your API Key

Contact your ArmSoft administrator to obtain an API key.

2. Make Your First Request

curl -X GET "https://api.armsoft.am/accountant/v1/directories/materials/1001" \
 -H "apiKey: your-api-key-here" \
 -H "Accept-Language: hy-AM"

3. Response

{
 "id": 100001,
 "code": "1001",
 "name": "Sample material",
 "unitMeasure": "001",
 "account": "2110",
 "vat": true,
 "isClosed": false
}

πŸ” Authentication

All API requests require an API key in the request header:

apiKey: your-api-key-here
Accept-Language: hy-AM

API Key Types:

  • Full Access: Complete CRUD operations on all resources
  • Limited Access: Restricted to read-only operations (directories, single documents, journals, reports)

πŸ“– Full Authentication Guide

πŸ“š API Reference

Base URL

https://api.armsoft.am/accountant/v{version}

Current version: v1

Partners Endpoints

Method Endpoint Description
POST /directories/partners/list Get all partners with filters
POST /directories/partners/list/nextpage Get next page of partners
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

Materials Endpoints

Method Endpoint Description
POST /directories/materials/list Get all materials with filters
POST /directories/materials/list/nextpage Get next page of materials
GET /directories/materials/{code} Get material by code
POST /directories/materials Create new material
PUT /directories/materials/{code} Update material
DELETE /directories/materials/{code} Delete material

Services Endpoints

Method Endpoint Description
POST /directories/services/list Get all services with filters
POST /directories/services/list/nextpage Get next page of services
GET /directories/services/{code} Get service by code
POST /directories/services Create new service
PUT /directories/services/{code} Update service
DELETE /directories/services/{code} Delete service

Employees Endpoints

Method Endpoint Description
POST /directories/employees/list Get all employees with filters
POST /directories/employees/list/nextpage Get next page of employees
GET /directories/employees/{code} Get employee by code
POST /directories/employees Create new employee
PUT /directories/employees/{code} Update employee
DELETE /directories/employees/{code} Delete employee

Storages Endpoints

Method Endpoint Description
GET /directories/storages Get all storages (optional ?showAlsoClosed=false hides closed ones)
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

Documents Endpoints

Every document type supports the same four calls.

Method Endpoint Description
POST /documents/{document} Create the document
GET /documents/{document}/{isn} Get the document by ISN
PUT /documents/{document}/{isn} Update the document
DELETE /documents/{document}/{isn} Delete the document
Document {document} Reference
Invoice invoice invoice.md
Retail Sale retailsale retailsale.md
Transfer Invoice transferinvoice transferinvoice.md
Memorial Order memorialorder memorialorder.md
Payment Order paymentorder paymentorder.md
Storage Input Order storageinputorder storageinputorder.md
Storage Output Order storageoutputorder storageoutputorder.md
Materials Movement materialsmovement materialsmovement.md
Materials Kitting materialskitting materialskitting.md
Overhead Expense Allocation overheadexpenseallocation overheadexpenseallocation.md
Received Service receivedservice receivedservice.md
Fixed Asset Acquisition fixedassetacquisition fixedassetacquisition.md
Fixed Asset Disposal Act fixedassetdisposalact fixedassetdisposalact.md
Cash Input Order cashinputorder cashinputorder.md
Cash Output Order cashoutputorder cashoutputorder.md

Journals Endpoints

Method Endpoint Description
POST /journals/alldocuments Get all documents journal rows
POST /journals/alldocuments/nextpage Next page for the documents journal
POST /journals/invoices Get invoice documents journal rows
POST /journals/invoices/nextpage Next page for the invoices journal
POST /journals/ecrchecks Get ECR checks journal rows
POST /journals/ecrchecks/nextpage Next page for the ECR checks journal

Reports Endpoints

Method Endpoint Description
POST /reports/accountsbalances Accounts balances report
POST /reports/accountsbalances/nextpage Accounts balances next page
POST /reports/accountsturnover Accounts turnover report
POST /reports/accountsturnover/nextpage Accounts turnover next page
POST /reports/transactions Transactions journal report
POST /reports/transactions/nextpage Transactions next page
POST /reports/partnersbalances Partners balances report
POST /reports/partnersbalances/nextpage Partners balances next page
POST /reports/partnerstransactions Partners transactions report
POST /reports/partnerstransactions/nextpage Partners transactions next page
POST /reports/materialsbalances Materials balances report
POST /reports/materialsbalances/nextpage Materials balances next page
POST /reports/materialsoperationsjournal Materials operations journal report
POST /reports/materialsoperationsjournal/nextpage Materials operations journal next page
POST /reports/storageinputordersandreceivedservices Storage input orders and received services report
POST /reports/storageinputordersandreceivedservices/nextpage Storage input orders and received services next page
POST /reports/calculateddata Calculated data (wages) report
POST /reports/calculateddata/nextpage Calculated data next page

System

Method Endpoint Description
GET /api/Version API version (no API key required)

πŸ“– Code Examples

πŸ“– Documentation

Document Description
Getting Started Installation and setup guide
Authentication API key authentication details
API Reference Complete endpoint documentation
Directories API Partners, materials, services, employees, storages
Documents API Accounting document endpoints
Journals API Journal endpoints
Reports API Report endpoints
Pagination Pagination and filtering guide
Localization Multi-language support details
Error Handling Error codes and responses
Changelog Version history and changes

πŸ› οΈ OpenAPI Specification

Interactive API documentation available via Swagger:

Import the OpenAPI specification into:

  • Postman
  • SwaggerHub
  • Any OpenAPI-compatible tool

πŸ€– Auto-Generated Documentation

This repository maintains automatically synchronized API documentation:

  • swagger.json β€” Live OpenAPI specification fetched from https://api.armsoft.am/accountant/swagger/v1/swagger.json
  • docs/api-reference.md β€” Auto-generated Markdown reference documentation

How it works

A GitHub Actions workflow (.github/workflows/sync-swagger.yml) can be run from the Actions tab to:

  1. Fetch the latest swagger.json from the live API
  2. Compare it with the committed version
  3. If changes are detected:
    • Update swagger.json
    • Regenerate docs/api-reference.md using widdershins
    • Commit and push the changes automatically

Manual sync

To manually trigger a documentation sync:

  1. Go to the Actions tab
  2. Click "Run workflow" β†’ "Run workflow"

The workflow runs in ~30 seconds and updates the docs if changes are detected.

Note: If the API endpoint ever requires authentication, add an API_TOKEN secret to the repository settings. The workflow includes commented placeholders for this.

🌍 Multi-Language Support

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

πŸ“Š HTTP Status Codes

Code Description
200 OK - Successful request
201 Created - Resource created successfully
400 Bad Request - Invalid request data
401 Unauthorized - Missing or invalid API key
403 Forbidden - Public API disabled for the key, or 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

πŸ”„ Versioning

API version is specified in the URL:

/accountant/v1/directories/materials
  • Current version: v1
  • Backward compatibility maintained within major versions

πŸ“œ License

Β© 2026 ArmSoft - Armenian Software. All rights reserved.

This documentation is provided for API integration purposes. For licensing of the ArmSoft Accountant system, contact ArmSoft.

🏒 About ArmSoft

ArmSoft is a leading provider of enterprise resource planning (ERP) solutions for businesses in Armenia and beyond. The Accountant system is designed for small and medium enterprises to manage their accounting operations efficiently.


πŸ€– AI & LLM Usage

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

About

Official documentation for the ArmSoft Accountant Public API.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /