User guide
Quick Start Guide
Case notes
Table component
FAQ
Search
Dashboard
Deleted Documents and Access Log
Solving a task
AI Assistant
Manuals
Substitution and Vacation
Suspending, resuming, archiving and deleting a case
Case variables, history and graph
Basic Terms
Uploading Documents, Folders and Revisions
News
Favorites
Navigating the interface
Dashboard widgets
Case Detail
News/Announcements in Team assistant
Case list
Logging In and Out
Account Settings
Task List
Mobile app settings
Reports and Charts
Searching and Listing Documents
Handing Over, Taking Over and Tasks to Pull
Bulk Tasks
Printing a Case
Creating and Editing an Overview
What Is TAS
Form Fields
Tablet Interface and NFC
Overviews
Creating a New Case
Case Events
Case Permissions
Subscribing to an overview by email
Administrator Guide
Platform guide
Administration
Crons
Authentication and Synchronization
SMTP OAuth authentication
LDAP, SAML, Entra ID and NFC: Settings
Configuring authentication modules
Authentication
Vault
DMS attributes
Service Operations
Mobile App Setup for Your Environment
Scheme
XML Process Import
HR agenda and agenda handover
Logs
Archiving
Scripts
Sequences
System Status
News Management
Migrations
Configuration
Plugins
Email Queue
Service Console
AI monitoring
Shared Files
Settings
CSP Headers
CSV Files
Scheduled Tasks
Processing Queues
Maintenance
Administration Menu
Licenses
Dynamic Tables
Usage Statistics
Access Token Settings & Session Expiration
Visual Identity
Template
Prints
Tasks
Task calculations
Automatic task completion and cancellation
Email Task and Notifications
Task types
Smart Event task
Instructions, Sections and Testing a Task
General task settings and solver
Multi-instance
Planning: start, branching and due date
Dynamic conditions: builder
Variable assignment and sections
Variables
Class diagram, object state import and alias candidates
Document list
Text and Multiline text
Checkbox
Number
Variables: overview and common settings
Lists (texts, numbers, dates)
Dynamic Rows
Date
Dynamic list
Sequence
Dynamic Table
Shredding Process
Template graph
Template Tab
Template List
Importing, Exporting and Copying a Template
Template Headers
Case statuses
Roles
Connecting to a different database
Diagnosing services
Hyper-V: Isolated NAT Network with Port Forwarding
Users
Translations
NFC Integration
Events and Rules
AXIOS API
Plans
Axios with Vault
Users
Axios with SSL Certificate
User Detail
Calculations & Functions
Form condition
Other dynamic conditions
Optimization of API calls on dynamic conditions
Filtering in a dynamic sheet using dynamic conditions
Dynamic Conditions: Script
Dynamic Rows: Script
Calculations
Dynamic Tables
Printing and File Generation
Documents in Calculations — Complete Guide
Printing and File Generation in Calculations
DOCX document creation
Other Calculations
How and when calculations run
Calculations API reference: the lib library
Calculations API reference: variables and case
Global Scripts and React Scripts
Integrations
MS Graph
MS Graph - cron configuration
MS Graph v2 (from v5.7.102)
MS Graph - preparing the mailbox
MS Graph (email)
ISDOC.PDF
DocuSign
TAS call module - TAS 2 TAS (process creation via API)
DB View
DocuSign and electronic signatures
ERP and other integrations
Smart Events for Integrations
TAS Forms
TAS Forms
Activating the module on the environment
TAS Forms - secret creation guide for Docker Swarm
Advanced Features & Tips
Filtering in a dynamic sheet using a URL parameter (static)
Optimizing Overviews with a Large Number of Cases
API Documentation
Product
Technical Changelog
Business Changelog
Version Upgrade Guide
Upgrade to v5.19
Upgrade to TAS 5.19 - Key Changes and Removed Features
Upgrading TAS 5.17 to 5.19 – Technical Part (DevOps)
Upgrate to v5.17
Upgrade to TAS 5.17 - Key Changes and Removed Features
Asset Migration from FE to Backend (5.17 Upgrade) — DevOps
Upgrading to v5.7
Lodash upgrade v4.17.x (>v5.5)
Main changes and deprecated features (v5.3 > v5.7)
Highlighting variables in Read-only status (>v5.7.58)
Upgrading to 5.3
Dynamic conditions migration
PDF printing adjustment
Editing Task Description vs Task Instructions
Transpiling forEach to a for loop
Rendering HTML on Caseoverview
Differences between TAS4 and TAS5 - a complete overview
Best Practices for Upgrading from v4 to v5
Using validation functions
Technical details
Server prerequisites
Security and Data Protection
Security
TAS Operations Runbook
Technological architecture
News / Important information
Microsoft Disabling Basic Auth for SMTP
End of EWS support and transition to Microsoft Graph
Adjustment in EWS after MS Exchange update (29.04.2025)
Security notices
Getting Started
- All Categories /
- Administrator Guide
- API Documentation /
- REST API: Authentication and Basic Calls
REST API: Authentication and Basic Calls
The REST API lets an external application create cases, work with tasks and variables, upload documents and read TAS data. This chapter describes how to connect to the API, how lists and filters work and what error responses look like. It is intended for integrators and administrators who are preparing an integration. The addresses and parameters correspond to TAS version 5.19.12.
The API has no common prefix such as
/api or /rest. The paths in this chapter (e.g. /tasks) are appended directly to the address of your TAS installation, for example https://vase-tas.cz/tasks.Authentication
TAS accepts three kinds of authentication token, all in the same header:
Authorization: Bearer <token>| Kind | Where the token comes from | When to use it |
|---|---|---|
| API token | Administration › API Access › API Tokens | Long-term server-to-server integration without OAuth. |
| OAuth access token | POST /oauth/token (OAuth client) | New integrations, short-lived tokens, applications that need user consent. |
| Session (cookie) | Signing in through the browser | Only for calls from the TAS web interface itself, not for external integrations. |
TAS recognises all three kinds by the content of the token and handles them the same way – the call runs with the permissions of the user the token represents (for an API token and a confidential OAuth client, this is the assigned system user; for an OAuth client with user consent, it is the user who approved the access). How to obtain a token or client and how to work with it is described in detail in the article API tokens and OAuth clients in practice.
The header name can be renamed per installation; the default name, valid in the vast majority of installations, is Authorization.
Paging, filtering and sorting
List endpoints (for example GET /tasks) accept the following query string parameters:
| Parameter | Meaning |
|---|---|
limit | Number of records returned. If omitted, the installation's default limit applies. |
offset | How many records to skip from the start. |
order | Comma-separated columns to sort by, e.g. order=createdAt,name. Dot notation across a relation can also be used, e.g. order=owner.name. |
sort | Sort direction for each column in order, comma-separated: asc or desc. A column without a matching direction is sorted in ascending order. |
filter | Filter condition, see the syntax below. |
total_count | When true (default), the response includes the total number of records. |
only_count | When true, only { "items": [], "totalCount": N } is returned, without data. |
columns | Limits the returned columns to those listed. |
distinct | Returns only distinct records. |
includeDeleted | Includes deleted records in the result. |
nullsLast | Sorts empty values to the end (PostgreSQL only). |
disable_accent | Turns off accent-insensitive comparison when filtering. |
Filter syntax
A condition has the form pole<operátor>"hodnota" (field, operator, value); conditions can be combined with <and> / <or> and grouped in parentheses:
| Operator | Meaning |
|---|---|
<eq> | equals |
<ne> | does not equal |
<gt> | greater than |
<lt> | less than |
<ge> | greater than or equal to |
<le> | less than or equal to |
<like> | contains (LIKE); the value may contain % |
<nlike> | does not contain |
<in> | is one of the comma-separated values |
<nin> | is none of the values |
<isn> | is empty (NULL) |
<isnn> | is not empty |
curl "https://vase-tas.cz/tasks?filter=(name<like>\"%Objednávka%\"<or>state<eq>\"Open\")<and>ownerId<eq>\"123\"&order=dueDate&sort=asc&limit=20" \
-H "Authorization: Bearer <token>"Field names in the filter and in
order/sort are entity properties in camelCase (e.g. dueDate), not database column names. TAS does convert uppercase letters and underscores automatically, but camelCase is the safe choice across versions.Error format
A failed call returns an error code (400, 401, 403, 404, 409, 500 …) and the body:
{
"error": {
"createdAt": "2026-10-31T08:15:00.000Z",
"message": "Unauthorized.",
"codeName": "UNAUTHORIZED",
"error": "Unauthorized",
"status": 401,
"statusCode": 401,
"chain": null,
"meta": {}
}
}codeName is a machine-readable error code, message is text for display or logging. For an authentication error, the response may also contain sessionExpired: true.
Most frequently used endpoints
Creating a case from a header
curl -X POST "https://vase-tas.cz/processes/activate/61" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"header_id": 2270}'61 is the template ID (tproc_id), header_id is the ID of the specific header from which the case is created. The response contains the ID of the created case and the first task waiting on the case:
{
"result": true,
"IPROC_ID": 27500,
"NEXT_ITASK_ID": 420999,
"NEXT_ITASK_NAME": "Vyplnění objednávky",
"taskQueue": [{ "ITASK_ID": 420999, "ITASK_NAME": "Vyplnění objednávky", "IPROC_ID": 27500 }]
}To find out which headers the signed-in user (or the API token's user) may use, call GET /template-processes/to-start.
Task list
curl "https://vase-tas.cz/tasks?filter=itaskStateId<eq>\"1\"&limit=50" \
-H "Authorization: Bearer <token>"Returns the tasks that the user represented by the token is allowed to see, with the paging and filter described above. To read a single task, use GET /tasks/:id.
Completing a task
curl -X POST "https://vase-tas.cz/tasks/finish/420999" \
-H "Authorization: Bearer <token>"The task must be in progress for the user/token making the call; otherwise TAS responds with an insufficient permissions error. The response contains information about the next task the case has moved to.
Reading and writing task variables
curl "https://vase-tas.cz/tasks/420999/variables" \
-H "Authorization: Bearer <token>"curl -X POST "https://vase-tas.cz/tasks/420999/variables" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '[{"id": 15321, "value": "IKEA"}]'id is the ID of the variable on the task (ivar_id), not the ID of the template variable. Writing requires that the task is being handled by the user/token making the call.
The similar endpoints
GET and POST /processes/:iprocId/variables read and write variables at the level of the whole case. Writing (POST) is allowed only for administrators – with a regular user API token, it fails with an insufficient permissions error. For writing from a regular integration, use task variables.Uploading a document to a case
curl -X POST "https://vase-tas.cz/dms/upload" \
-H "Authorization: Bearer <token>" \
-F "iprocId=27500" \
-F "filename=Objednavka.pdf" \
-F "file=@./Objednavka.pdf"The file is uploaded as multipart/form-data. Instead of iprocId, you can specify itaskId if you want to attach the document to a specific task. The caller must have permission to write documents to the case.
Related: API tokens and OAuth clients in practice, MCP server, API Access.