החזר מס - עשה זאת בעצמך

בחירת לקוח

CGT API Documentation

Authentication: All endpoints require an API key to be set in the X-API-Key header. The API key can be obtained in the account settings menu. It is available to users with the API developer account profile.
URL Encoding: All parameters should be properly URL encoded when making API requests. Special characters, spaces, and non-ASCII characters must be encoded according to URL encoding standards.

Table of Contents

Account Operations

GET Get Basic Info

/api/v1/getBasicInfo
Get basic information about the current software version and the user.
Response:
{ "productVersion": "Beta Version 2025_1.58", "userEmail": "johnsmith@gmail.com", "userRole": "ROLE_API" }

GET Get Configuration Data

/api/v1/getConfigurationData
Get the configuration data for the application.
Response: A JSON string with the configuration data
View examples of JSON configuration data structure

File Operations

POST Upload File

/api/v1/uploadFile
Upload a file to the customer's account. Supports multipart/form-data with file and metadata.

Parameters:

file (MultipartFile) *Required
The file to upload
metadata (UploadFileDto) *Required
JSON metadata containing:
{ "customerDataEntryName": "string (0-100 chars)", "password": "string (0-100 chars)", "replacedFileId": "string (0-32 chars)", "imageHash": "string (0-32 chars)" }
Response: A JSON string with all the data of all forms
View examples of JSON structure
Note: This endpoint is used for uploading documents like tax forms, receipts, and other financial documents.

GET Get Files Info

/api/v1/getFilesInfo
Get information about files associated with a specific customer data entry.

Query Parameters:

customerDataEntryName (String) *Required
Name of the customer data entry (0-100 characters)
Response: JSON string containing file information
View examples of JSON structure

POST Parse File

/api/v1/parseFile
Parse a file and extract form data from it. Does not save the data to the account.

Parameters:

file (MultipartFile) *Required
The file to parse
metadata (UploadFileDto) Optional
JSON metadata containing password for encrypted files
Response: The form of the parsed file in the form of a JSON string
View examples of JSON structure

DELETE Delete Form

/api/v1/deleteForm
Delete a specific form from the customer's account.

Query Parameters:

fileId (String) *Required
ID of the file to delete (0-100 characters)
customerDataEntryName (String) *Required
Name of the customer data entry (0-100 characters)
Response: "Form deleted successfully"

DELETE Delete All Forms

/api/v1/deleteAllForms
Delete all forms from a specific customer data entry.

Query Parameters:

customerDataEntryName (String) *Required
Name of the customer data entry (0-100 characters)
Response: "All forms deleted successfully"

Form Operations

POST Create Form

/api/v1/createForm
Create a new empty form for the given customer.

Request Body:

{ "customerDataEntryName": "string (0-100 chars)", "formType": "string", "identificationNumber": "string" }
Response: The updated list of forms as a JSON string
View examples of JSON structure

POST Update Form

/api/v1/updateForm
Update the form of a customer data entry or create a new one. A form is created if fileId in the form data is empty/null or missing. The formAsJSON is a JSON string of the form.

Request Body:

{ "customerDataEntryName": "string (0-100 chars)", "formAsJSON": { // JSON object representing the form data } }
Response: The updated list of forms as a JSON string
View examples of JSON structure

Customer Operations

GET Get Customer Data Entry Names

/api/v1/getCustomerDataEntryNames
Get all customer data entry names for the current user.
Response: A JSON string of all customer data entry names
[ { "name": "שמוליק כהן", "modified": { "$date": "2025-09-05T17:20:36.208Z" }, "dbver": 8 } ]

POST Change Customer Data Entry Name

/api/v1/changeCustomerDataEntryName
Change the name of a customer data entry or create a new one if fromCustomerDataEntryName is empty.

Request Body:

{ "fromCustomerDataEntryName": "string (0-100 chars)", "toCustomerDataEntryName": "string (1-100 chars)" }
Response: A JSON string of all customer data entry names
[ { "name": "שמוליק כהן", "modified": { "$date": "2025-09-05T17:20:36.208Z" }, "dbver": 8 } ]

POST Duplicate Customer Data Entry

/api/v1/duplicateCustomerDataEntry
Duplicate an existing customer data entry with a new name.

Request Body:

{ "fromCustomerDataEntryName": "string (1-100 chars)", "toCustomerDataEntryName": "string (1-100 chars)" }
Response: A JSON string of all customer data entry names
[ { "name": "שמוליק כהן", "modified": { "$date": "2025-09-05T17:20:36.208Z" }, "dbver": 8 } ]

DELETE Delete Customer

/api/v1/deleteCustomer
Delete a customer data entry and all associated forms.

Query Parameters:

customerDataEntryName (String) *Required
Name of the customer data entry to delete (0-100 characters)
Response: A JSON string listing all the customer data entry names
[ { "name": "שמוליק כהן", "modified": { "$date": "2025-09-05T17:20:36.208Z" }, "dbver": 8 } ]

Tax Operations

POST Process Files

/api/v1/processFiles
Process uploaded files for tax calculation.

Request Body:

{ "customerDataEntryName": "string (0-100 chars)" }
Response: A JSON string containing all messages generated during processing
{ "processingWarnings": [ "^LossesTransferred הפסדים של 3790 לשנה 2023 יכולים להיות מועברים לשנה הבאה. חשוב להגיש את טופס 1344.\n\n" ], "processingInformation": [ "^TotalChildren סך כל הילדים לפי תעודת זהות שמואל קלייב לשנת מס 2023: 0. נא לבדוק.\n\n", "^TotalChildren סך כל הילדים לפי תעודת זהות שמואל קלייב לשנת מס 2024: 0. נא לבדוק.\n\n" ] }

GET Get Results Info

/api/v1/getResultsInfo
Get information about processing results for a customer data entry.

Query Parameters:

customerDataEntryName (String) *Required
Name of the customer data entry (0-100 characters)
Response: JSON string containing results information
[ { "file": { "fileName": "1301_2024.dat", "fileId": "68bd3510788a34ac0ed1ef51" } }, { "file": { "fileName": "1322_2024_filled.pdf", "fileId": "68bd3510788a34ac0ed1ef53" } }, { "file": { "fileName": "1344_2024_filled.pdf", "fileId": "68bd3510788a34ac0ed1ef55" } }, { "file": { "fileName": "TaxAnalysis_2024.xlsx", "fileId": "68bd3510788a34ac0ed1ef57" } }, { "messages": { "processingWarnings": [ "^LossesTransferred הפסדים של 3790 לשנה 2023 יכולים להיות מועברים לשנה הבאה. חשוב להגיש את טופס 1344.\n\n" ], "processingInformation": [ "^TotalChildren סך כל הילדים לפי תעודת זהות שמואל קלייב לשנת מס 2023: 0. נא לבדוק.\n\n", "^TotalChildren סך כל הילדים לפי תעודת זהות שמואל קלייב לשנת מס 2024: 0. נא לבדוק.\n\n" ] } } ]

GET Download Results File

/api/v1/downloadResultsFile
Download a results file for a specific customer data entry. The list of files available to down load can be obtained from getResultsInfo.

Query Parameters:

fileName (String) *Required
Name of the file to download (0-100 characters)
customerDataEntryName (String) *Required
Name of the customer data entry (0-100 characters)
Response: The specified results file of the given customer

POST Calculate Tax

/api/v1/calculateTax
Calculate tax for a specific tax year and customer data entry. This API call can take around 10 seconds to complete. It may not be available in the future.

Request Body:

{ "customerDataEntryName": "string (0-100 chars)", "taxYear": 2024 }
Response: JSON string containing tax calculation results
[ { "spouse": "5,233", "registered": "298,373", "total": "303,606", "title": "סה\"כ הכנסות" }, { "spouse": " ", "registered": " ", "total": " ", "title": "סה''כ ניכויים" }, { "spouse": "5,233", "registered": "298,373", "total": "303,606", "title": "הכנסה חייבת" }, { "spouse": "523", "registered": "44,515", "total": "45,038", "title": "מס ברוטו" }, { "spouse": "-6,534 ", "registered": "-6,534 ", "total": " ", "title": "זיכוי תושב " }, { "spouse": "-1,452 ", "registered": " ", "total": " ", "title": "זיכוי אישה " }, { "spouse": "-96 ", "registered": " ", "total": " ", "title": "זיכוי 45.א " }, { "spouse": " ", "registered": "-105 ", "total": " ", "title": "זיכוי תרומה סעיף 46 " }, { "spouse": "-366 ", "registered": "-5,454 ", "total": " ", "title": "זיכוי ספר " }, { "spouse": " ", "registered": "-4,331 ", "total": " ", "title": "זיכוי גיל 60 " }, { "spouse": "-8,448", "registered": "-16,424", "total": " ", "title": "סה''כ זיכויים" }, { "spouse": " ", "registered": "28,091", "total": "28,091", "title": "מס מגיע" }, { "spouse": " ", "registered": " ", "total": "-38,127", "title": "ניכויים במקור" }, { "spouse": " ", "registered": " ", "total": "-10,036", "title": "מס לאחר ניכוי במקור" } ]

Error Handling

Error Responses: All endpoints return appropriate HTTP status codes:

Rate Limiting

Rate Limits: API endpoints may be subject to rate limiting to ensure fair usage and system stability.

Base URL

Production: https://srv.taxesil.top:8443/api/v1