Overview
The Scoro API is an interface for accessing your Scoro account data using HTTP and JSON. The API makes it easy to create web and desktop applications that integrate with your account.
Some potential application ideas:
- Billing for your application or service
- Custom import tools (SalesForce, QuickBooks, CSV, etc.)
- Revenue analysis
- Service URL
The Scoro API has a single point of entry, derived from your account URL
Full url depends on the info requested.
Sample URL
https://#companyname#.scoro.ee/api/v2
Please note the use of https:// in the URL above. All API communication is encrypted over HTTPS. Any non-secure requests are automatically rejected, so we recommend establishing a test connection with the secure API entry point before sending sensitive data.
Full address to send JSON requests looks like this
Full request url
https://#companyname#.scoro.ee/api/#module#(/#action#)(/#id#)
where
#companyname#
is the subdomain
#module#
is the module accessed ("contacts")
#action#
(optional) what to do with the selected object. Possible options are ("modify", "delete", "view"),
see each module for a list of available actions
#id#
(optional) what object to get
Release notes
Here are current changes in API.
Changes in 20.4
- Users endpoint's is_active field is deprecated. New field status should be used for requiring user's status.
- Fields status_name and status added to custom modules.
- Webhooks endpoint has now domain validation.
- Tasks Project_id field has validation that it must be an Integer.
- Added validation to Time entries for duration fields. Duration field expected input is (HH:ii:ss).
Changes in 20.3
- Bookmarks endpoint updated: If the site has "companies and persons as separate modules" and a request to /v2/bookmarks/list/ is made asking for contacts bookmarks then both companies bookmarks and people bookmarks are returned. If the site has "companies and persons in one list" and a request to /v2/bookmarks/list/ is made asking for contacts bookmarks then only contacts bookmarks are returned.
- Field start_datetime added to Tasks.
- Modification of calendar events' time entries has been limited to invoice_line_id field in Time entries API.
- New API endpoint for Sent e-mails.
- New API endpoint for Project phases.
- New API endpoint for Client profiles
- Field project_phase_id is added to Calendar events and Tasks.
- Inactive tax rates are now returned with vatCodes list request. Time entries API.
- Field related_companies added to Contacts.
- Modify request support added to Price list endpoint.
Changes in 20.2
- Field amount2 removed from Bill lines.
- Fields recognition_date, payment_type and dateofpayment added to Bills.
- Field product_id is added to Activities.
Changes in 20.1
- Fields sales_finance_account_id and purchases_finance_account_id added to Products.
- Fields reference_number added to Bills.
- Field shipment_date is added to Orders and Quotes.
- Fields generation_type and scheduled_invoice_id added to Invoices.
- New API endpoint for Finance Accounts.
- New API endpoint for PDF Templates. It allows to request all the templates that your site has. Available as a list action.
- New pdf generation action for the following modules: Invoices, Prepayment invoices, Quotes, Purchase orders, Orders. Generated PDF files are available only for 30 days after the generation.
- Field status_name added to Projects, Tasks, Calendar events view response.
- Option detailed_response can be used in the API request object for list request to have the same response as view request would return for Bills, Orders, Prepayments, Quotes, Scheduled Invoices, Purchase orders, Invoices, Contacts, Projects, Tasks, Products.
- Field means_of_contact can be used as filter option when user_token or apiKey is used for Contacts.
Changes in 19.10
- Added support for specifying task's completion time to setDone action in Tasks.
Changes in 19.9
- Fields finance_account_symbol, finance_account_name added to Invoices, Prepayment invoices, Scheduled invoices, Bills.
- Fields company_name, person_name, project_name, owner_email, vat_code added to Bills, Prepayment invoices, Scheduled invoices, Purchase orders, Orders.
- Fields product_name, product_code, finance_object_name, finance_object_symbol, project_name, vat_code added to Bill lines, Prepayment invoice lines, Scheduled invoice lines, Purchase order lines, Order lines.
- Fields currency_rate added to Bills, Prepayment invoices, Scheduled invoices.
- Fields company_address added to Orders, Prepayment invoices, Scheduled invoices.
Changes in 19.8
- Fields created_date added to Bills, Invoices, Orders, Prepayments, Quotes, Scheduled Invoices, Purchase orders.
- User Authorization endpoint is updated with 2-step verification support.
Changes in 19.5
- Fields default_type, use_supplier, default_doer_id and unit added to Products.
- Fields doer_id and is_internal added to Invoice lines, Order lines, Quote lines, Prepayment lines and Scheduled invoice lines.
- Field search_name added to Contacts. It will return contact's full name.
- Field invoice_no added to Receipts.
- Receipt Groups and Receipt Accounts endpoint supports access with user token.
- Fields company_name, person_name, company_address, project_name, owner_email, vat_code, currency_rate and status_name added to Quotes.
- Fields product_name, product_code, finance_account_name, finance_object_name, finance_object_symbol, supplier_name, project_name and vat_code added to Quote lines.
- Field prepayment_id added to Invoices.
- Field buying_price in Products will now change the buying price in the price list specified with price_list (similarly to price field).
Changes in 19.4
- Fields relation_type, owners and actors added to Webhooks.
- Fields company_name, person_name, company_address, project_name, owner_email, vat_code, currency_rate, paid_sum and receivable_sum added to Invoices.
- Fields product_name, product_code, finance_account_name, finance_object_name, finance_object_symbol, supplier_name, project_name, and vat_code added to Invoice lines.
Changes in 19.2
- Fields product_accounts and account_id added to Products.
Changes in 19.1
- Field event_type added to Time entries.
- Field calendar_event_id added to Time entries.
- Field time_entry_type added to Time entries.
- Field full_name added to Users.
Changes in 18.10
- Custom fields API endpoint added. It allows to request a list of custom fields that your site has.
Changes in 18.9
- Field dates added to Invoice lines and Scheduled invoice lines.
Changes in 18.8
- Field is_chargeable added to Bills
- The lang parameter is now optional. If it is not specified then the sites default language is used (users default language is used if the request is made using user_token).
- Field account_id added to Price lists
- Field project_accounts added to Projects It will return all company accounts that project is accessible from.
Changes in 18.7
- Field parent_name added to Activities
Changes in 18.6
- Field estimated_closing_date added to Quotes
Changes compared to previous version v1
- From now on the API version is not related to Scoro version
- Events endpoint is removed and replaced by Tasks and Calendar events endpoints
- Tasks endpoint's assigned_to field is deprecated. New field related_users should be used for assigning users to task.
- Filtering dates field names have changed. Previously were 'from' and 'to'. From this version 'from_date' and 'to_date'
- Products module now lists all products not only active ones
- Datetime fields are returned with timezone now
- Custom field structure has been changed. Now custom fields parameter contains an array of objects
- Time entries can be added, modified and deleted through time entries endpoint now.
- Dates for Order lines is returned as an object.
- Custom modules have now endpoints in API. In order to see them in the documentation, log into your Scoro account and navigate to https://#companyname#.scoro.ee/api/v2.
- Added API endpoint for Scheduled Invoices.
- Added API endpoints for Properties, Meters and Readings.
- Added API endpoints for Relation types.
- Field related_objects on Relations contains relation objects, which display contact ID, relation name, relation comment.
- Projects view and modify requests are supporting project users now.
- Projects requests are supporting project estimated duration.
- VAT Codes api now supports modify and delete requests.
- Invoices api quote_id and order_id are now type of Array.
- Bills api supports is_chargeable flag.
- Invoices api supports new fields company_name, person_name, company_address, project_name, owner_email, vat_code, currency_rate, paid_sum and receivable_sum.
- Invoice lines api supports new fields product_name, product_code, finance_account_name, finance_object_name, finance_object_symbol, supplier_name, project_name and vat_code.
- Invoices api supports new field prepayment_id.
Request Limits
By default, all accounts have a request limit of 50 000 API requests per day. Additionally, a maximum of 100 results will be returned for list methods, regardless of the value sent with the per_page parameter. The page paramater can be used to request additional items.
Sample request with per_page and page parameters
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"per_page": 50,
"page": 2,
"detailed_response": true,
"request": []
}
Sample request with user_token
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"per_page": 50,
"page": 2,
"detailed_response": true,
"request": []
}
Representation Formats
All API requests are composed of light-weight JSON delivered as an HTTP POST request to the endpoint URL.
All JSON should be UTF-8 encoded.
Date and time values are of the form YYYY-MM-DDTHH:MM:SS+0000.
When not providing timezone info in the value then site default timezone is used.
Booleans are either 1 (true) or 0 (false).
Fields denoting percentages are passed as whole values, not decimals (e.g. 5 for five percent).
All requests should contain at least the following values:
- apiKey OR user_token- a unique key used for authentication
- company_account_id - specifies which company account's data is used
The apiKey and company_account_id values are listed in Settings > External Connections > API.
It is also recommended (but not required) that you specify the lang parameter for each response.
If the lang parameter is not set then the response is returned in sites default language.
If the lang parameter is not set and request is made using a user_token then the response is returned in users default language.
Sample request in PHP using cURL
<?php
define('API_KEY', 'API_hash');
define('BASE_URL', 'https://#companyname#.scoro.ee/api');
$fields = array(
'apiKey' => API_KEY,
'lang' => 'eng',
'company_account_id' => 'sample',
'per_page' => '10'
);
$fieldsJson = json_encode($fields);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, BASE_URL.'/contacts');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fieldsJson);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
if ($result) {
$contacts = json_decode($result, true);
?><pre><?print_r($contacts);?></pre><?
}
?>
Responses
All responses are wrapped in a top-level response element. The status attribute will let you know whether the request succeeded or failed. Status can be OK or ERROR. The statusCode attribute can contain the following values:
Status code | Response message | Description |
---|---|---|
200 | Success |
If data was requested, it will be available
in the data field at the top level of the response body.
|
400 | Invalid request | This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again. |
401 | No authorization | A valid API key was not provided with the request, so the API could not associate a user with the request. |
403 | Forbidden | The API key was wrong. |
408 | Request timed out | The maximum execution time of the request was reached. |
500 | Server error | There was a problem on our end. |
503 | Service unavailable | API usage has been temporarily suspended. Try again later. |
In the event of an error, the response body will contain an messages
field at the top level. This contains an array of at least one error message
Missing authorization header
Request
https://#companyname#.scoro.ee/api/contacts
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Response
HTTP/1.1 200
{
"status": "ERROR",
"statusCode": "401",
"messages": {
"error": [
"Missing Api Key"
]
}
}
Bad request parameters
Request
https://#companyname#.scoro.ee/api/contacts
{
"apiKey": "wrong",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Response
HTTP/1.1 200
{
"status": "ERROR",
"statusCode": "403",
"messages": {
"error": [
"Wrong Api Key"
]
}
}
There was a problem on our end
Request
https://#companyname#.scoro.ee/api/contacts
{
"apiKey": "API_hash",
"lang": "abc",
"company_account_id": "tutorial",
"request": {}
}
Response
HTTP/1.1 200
{
"status": "ERROR",
"statusCode": "500",
"messages": {
"error": [
"Language code[lang] missing or wrong"
]
}
}
Filters
List results can be filtered by adding a filter object to the request. This filter object should have field names as keys and search words as values. If filtering by a range the value should be another object containing from and/or to field.
Filter results
https://#companyname#.scoro.ee/api/contacts
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"filter": {
"name": "Sample%"
}
}
Filtering by range
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"filter": {
"modified_date": {
"from_date": "2013-02-01",
"to_date": "2013-02-28"
}
}
}
Filtering by custom fields
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"filter": {
"custom_fields": {
"field1": "value1",
"field2": "value2"
}
}
}
Filtering with deleted entries
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"include_deleted": "1",
"filter": {
"modified_date": {
"from_date": "2013-02-01",
"to_date": "2013-02-28"
}
}
}
Custom fields
The field custom_fields contains the values for custom fields related to the main object. Custom_fields is structured as an array of objects with the following keys: id, name, value and type. Custom fields are not included for list requests.
Example custom_fields structure:
{
"...": "...",
"custom_fields": [
{
"id": "c_field1",
"name": "Field 1",
"value": "Value 1",
"type": "text"
},
{
"id": "c_field2",
"name": "Field 2",
"value": 123,
"type": "number"
}
]
}
To add/modify custom field values use an array of values
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "e238865f83e2b04c09c5c8b39696d37sc",
"request": {
"name": "New Name",
"addresses": [
{
"street": "Reading 13",
"zipcode": "123"
}
],
"custom_fields": [
{
"id": "c_field1",
"value": "Value 1"
},
{
"id": "c_field2",
"value": 123
}
]
}
}
Bookmarks
Used only for user based API and with list requests
Example request with bookmark object:
{
"user_token": "userToken",
"lang": "eng",
"company_account_id": "tutorial",
"bookmark": {
"bookmark_filter_ignored": "true"
},
"request": {}
}
Bookmark field | Data type | Supported modules | Description |
---|---|---|---|
bookmark_filter_ignored | boolean | all | Can ignore bookmark filters and retrieve all objects that user can see. Will override all other bookmark options. |
bookmark_id | integer | all | Bookmark Id |
bookmark_users | array[integer] | all | User Ids to be used for filtering data |
bookmark_projects | array[integer] | calendar,tasks | Project Ids to be used for filtering data |
bookmark_statuses | array[string] | calendar,tasks,projects | Project Ids to be used for filtering data |
bookmark_resources | array[integer] | calendar | Resource Ids to be used for filtering data |
bookmark_activities | array[integer] | calendar,tasks | Activity Ids to be used for filtering data |
bookmark_dates | mixed[date] | calendar,tasks | Takes two required parameters "from_date" and "to_date" which you can filter the objects by. Value of "*" is general. |
bookmark_tags | mixed | contacts,projects | Takes list of tag Ids to be used for filtering data. |
bookmark_priorities | mixed | tasks | Takes list of priority Ids to be used for filtering data. |
bookmark_categories | array[integer] | contacts | Takes list of category Ids to be used for filtering data. |
bookmark_keywords | string | all | Takes a text string to be used for filtering data. |
bookmark_types | string | contacts | Takes a text string to be used for filtering data. |
bookmark_client_profiles | array[integer] | contacts | Takes list of client profile Ids to be used for filtering data. |
bookmark_due_dates | mixed[integer] | tasks | Takes two parameters "from" and "to". Are used for filtering out objects based on their due date. |
Timezones
Contacts have their own timezone field. List of available timezones are shown here
Name | Code |
---|---|
(GMT-12:00) International Date Line West | Etc/GMT+12 |
(GMT-11:00) Midway Island, Samoa | Pacific/Apia |
(GMT-10:00) Hawaii | Pacific/Honolulu |
(GMT-09:00) Alaska | America/Anchorage |
(GMT-08:00) Pacific Time (US & Canada); Tijuana | America/Los_Angeles |
(GMT-07:00) Arizona | America/Phoenix |
(GMT-07:00) Mountain Time (US & Canada) | America/Denver |
(GMT-07:00) Chihuahua, La Paz, Mazatlan | America/Chihuahua |
(GMT-06:00) Central America | America/Managua |
(GMT-06:00) Saskatchewan | America/Regina |
(GMT-06:00) Guadalajara, Mexico City, Monterrey | America/Mexico_City |
(GMT-06:00) Central Time (US & Canada) | America/Chicago |
(GMT-05:00) Indiana (East) | America/Indiana/Indianapolis |
(GMT-05:00) Bogota, Lima, Quito | America/Bogota |
(GMT-05:00) Eastern Time (US & Canada) | America/New_York |
(GMT-04:00) Caracas, La Paz | America/Caracas |
(GMT-04:00) Santiago | America/Santiago |
(GMT-04:00) Atlantic Time (Canada) | America/Halifax |
(GMT-03:30) Newfoundland | America/St_Johns |
(GMT-03:00) Buenos Aires, Georgetown | America/Argentina/Buenos_Aires |
(GMT-03:00) Greenland | America/Godthab |
(GMT-03:00) Brasilia | America/Sao_Paulo |
(GMT-02:00) Mid-Atlantic | America/Noronha |
(GMT-01:00) Cape Verde Is. | Atlantic/Cape_Verde |
(GMT-01:00) Azores | Atlantic/Azores |
(GMT) Casablanca, Monrovia | Africa/Casablanca |
(CET) Central European Time | CET |
(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London | Europe/London |
(GMT+01:00) West Central Africa | Africa/Lagos |
(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna | Europe/Berlin |
(GMT+01:00) Brussels, Copenhagen, Madrid, Paris | Europe/Paris |
(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb | Europe/Sarajevo |
(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague | Europe/Belgrade |
(GMT+02:00) Harare, Pretoria | Africa/Johannesburg |
(GMT+02:00) Jerusalem | Asia/Jerusalem |
(GMT+02:00) Athens | Europe/Athens |
(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius | Europe/Helsinki |
(GMT+02:00) Cairo | Africa/Cairo |
(GMT+02:00) Bucharest | Europe/Bucharest |
(GMT+03:00) Istanbul, Minsk | Europe/Istanbul |
(GMT+03:00) Nairobi | Africa/Nairobi |
(GMT+03:00) Kuwait, Riyadh | Asia/Riyadh |
(GMT+03:00) Moscow, St. Petersburg, Volgograd | Europe/Moscow |
(GMT+03:00) Baghdad | Asia/Baghdad |
(GMT+03:30) Tehran | Asia/Tehran |
(GMT+04:00) Abu Dhabi, Muscat | Asia/Muscat |
(GMT+04:00) Baku, Tbilisi, Yerevan | Asia/Tbilisi |
(GMT+04:30) Kabul | Asia/Kabul |
(GMT+05:00) Islamabad, Karachi, Tashkent | Asia/Karachi |
(GMT+05:00) Ekaterinburg | Asia/Yekaterinburg |
(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi | Asia/Kolkata |
(GMT+05:45) Kathmandu | Asia/Kathmandu |
(GMT+06:00) Sri Jayawardenepura | Asia/Colombo |
(GMT+06:00) Astana, Dhaka | Asia/Dhaka |
(GMT+06:00) Almaty, Novosibirsk | Asia/Novosibirsk |
(GMT+06:30) Rangoon | Asia/Rangoon |
(GMT+07:00) Bangkok, Hanoi, Jakarta | Asia/Bangkok |
(GMT+07:00) Krasnoyarsk | Asia/Krasnoyarsk |
(GMT+08:00) Perth | Australia/Perth |
(GMT+08:00) Taipei | Asia/Taipei |
(GMT+08:00) Kuala Lumpur, Singapore | Asia/Singapore |
(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi | Asia/Hong_Kong |
(GMT+08:00) Irkutsk, Ulaan Bataar | Asia/Irkutsk |
(GMT+09:00) Osaka, Sapporo, Tokyo | Asia/Tokyo |
(GMT+09:00) Seoul | Asia/Seoul |
(GMT+09:00) Yakutsk | Asia/Yakutsk |
(GMT+09:30) Darwin | Australia/Darwin |
(GMT+09:30) Adelaide | Australia/Adelaide |
(GMT+10:00) Guam, Port Moresby | Pacific/Guam |
(GMT+10:00) Brisbane | Australia/Brisbane |
(GMT+10:00) Vladivostok | Asia/Vladivostok |
(GMT+10:00) Hobart | Australia/Hobart |
(GMT+10:00) Canberra, Melbourne, Sydney | Australia/Sydney |
(GMT+11:00) Magadan, Solomon Is., New Caledonia | Asia/Magadan |
(GMT+12:00) Fiji, Kamchatka, Marshall Is. | Pacific/Fiji |
(GMT+12:00) Auckland, Wellington | Pacific/Auckland |
(GMT+13:00) Nuku'alofa | Pacific/Tongatapu |
User Authorization
This API endpoint is used to retrieve an user_token value. Every other user based request sent to Scoro should contain user_tokenName | Type | Description |
---|---|---|
token | String | user token received after successful authorization |
username | String | users Scoro username |
password | String | users Scoro password |
device_id | String | device id to identify current device in Scoro. For example Instance ID https://developers.google.com/instance-id/ |
device_type | String | device type to identify OS like "android" or "iOS" |
device_name | String | device name to describe current device in Scoro |
device_token | String | token to identify a device. It is not a required field. |
verification_token | String | This token is used in Verify action to identify the user who is about to be verified. Not to be mixed up with user token that is necessary for Scoro API requests. Only used if site has 2-step verification enabled. |
auth_method_type | string | Used for indicating 2-step verification type. Possible value: phone. Only used if site has 2-step verification enabled. |
auth_method_value | string | User's mobile number that is used for 2-step verification. Only used if site has 2-step verification enabled. |
can_be_trusted | boolean | Indicates whether device from which user logs in to Scoro is trusted or not. Only used if site has 2-step verification enabled. |
device_id_token | string | Unique ID that is given to device to identify this particular device in other requests. Only used if site has 2-step verification enabled. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/userAuth/modify/(#id)Description:
Getting user token. Request returns user token with user's basic settings.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {},
"username": "juhan",
"password": "someverysecurepassword",
"device_type": "android",
"device_name": "My phone",
"device_id": "123456789987654321"
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"token": "e238865f83e2b04c09c5c8b39696d37c",
"settings": {
"user_id": 1,
"master_company_account": "tutorial",
"first_day_of_week": 1,
"timezone": "Europe\/Helsinki",
"locale_clock": "12",
"locale_date": "%m\/%d\/%Y",
"locale_number": {
"thousandSeparator": "",
"decimalSeparator": "."
},
"company_accounts": [
{
"account_id": "tutorial",
"account_name": "Tutorial account"
}
]
}
}
}
Description:
Getting verification token when 2-step verification is enabled for site.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {},
"username": "juhan",
"password": "someverysecurepassword",
"device_type": "android",
"device_name": "My phone",
"device_id": "123456789987654321"
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"verification_token": "12321312",
"auth_method_type": "phone",
"auth_method_value": "55555555",
"can_be_trusted": "1",
"device_id_token": "1241241141"
}
}
Description:
If 2-step verification enabled and you have trusted the device then sending correct device_id_token with request returns user token with user's basic settingsExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {},
"username": "juhan",
"password": "someverysecurepassword",
"device_type": "android",
"device_name": "My phone",
"device_id": "123456789987654321",
"device_id_token": "214141214"
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"token": "e238865f83e2b04c09c5c8b39696d37c",
"settings": {
"user_id": 1,
"master_company_account": "tutorial",
"first_day_of_week": 1,
"timezone": "Europe\/Helsinki",
"locale_clock": "12",
"locale_date": "%m\/%d\/%Y",
"locale_number": {
"thousandSeparator": "",
"decimalSeparator": "."
},
"company_accounts": [
{
"account_id": "tutorial",
"account_name": "Tutorial account"
}
]
}
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/userAuth/delete/(#id)Description:
Invalidating current users tokenExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null
}
Request URL:
https://#companyname#.scoro.ee/api/v2/userAuth/versionCheckDescription:
Checking whether site supports API version 2. Successful result will return object with statusCode 200 and if the Api v2 is not supported then statusCode 400 will be returnedExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": {
"access": "true"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/userAuth/verifyDescription:
Available when 2-step verification is enabled for site. This endpoint is used for verifying code that is sent to your approved device. After successful verification user token with user's basic settings are returned.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"verification_token": "123124123",
"device_id_token": "23121412",
"auth_method_code": "144",
"is_trusted": "0"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"token": "e238865f83e2b04c09c5c8b39696d37c",
"settings": {
"user_id": 1,
"master_company_account": "tutorial",
"first_day_of_week": 1,
"timezone": "Europe\/Helsinki",
"locale_clock": "12",
"locale_date": "%m\/%d\/%Y",
"locale_number": {
"thousandSeparator": "",
"decimalSeparator": "."
},
"company_accounts": [
{
"account_id": "tutorial",
"account_name": "Tutorial account"
}
]
}
}
}
Company account
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
company_name | String | The name of the company |
alternative_name | String | The alternative name of the company |
address | Array | Array of objects containing the following address fields: country (3-letter ISO 3166 code), county, municipality, city, street, zipcode. |
String | Email address | |
website | String | Website address |
phone | String | Company phone number |
fax | String | Company fax number |
reg_no | String | Company registration number |
vat_no | String | Company Tax/VAT number |
site_version | String | Current version of the site |
base_currency | String | Base currency |
active_currencies | Array | Active currencies |
language | String | Site's default language |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/companyAccount/listDescription:
Getting list of site data.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "xxxxxx"
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"company_name": "Company Name",
"alternative_name": "Company Alternative Name",
"address": [
{
"country": "est",
"county": null,
"city": "Tallinn",
"street": "Street 15",
"zipcode": "10110"
}
],
"email": "someemail.com",
"website": "www.companywebsite.com",
"phone": "5252525252",
"fax": "",
"reg_no": "123789456",
"vat_no": "123454321",
"site_version": "19.5",
"base_currency": "EUR",
"active_currencies": [
"EUR",
"GBP",
"USD"
],
"language": "est"
}
]
}
Contacts
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
contact_id | Integer | Contact ID |
name | String | contact first name or company name |
lastname | String | contact last name. Used only for persons |
search_name | String | contact full name. Not used on modify requests. |
contact_type | String | possible values are "person" or "company". If none specified "company" is used |
id_code | String | code for company or person |
bankaccount | String | Contact bank account |
birthday | Date (YYYY-mm-dd) | can be without a year |
position | String | working position. CEO, manager etc. |
comments | String | Contact comment. |
sex | String | Possible values are "NULL", "F", "M" |
vatno | String | VAT number |
timezone | String | timezone codes to use are shown here |
manager_id | Integer | Contact manager ID. |
manager_email | String | Contact manager email. Available in view request. |
is_supplier | Boolean | If the company is a supplier or not. |
is_client | Boolean | If the contact is a client or not. |
client_profile_id | Integer | ID of the client profile |
created_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when contact was created. |
modified_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when contact was last modified. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when contact was deleted. |
addresses | Array | Array of objects containing the following address fields: country (3-letter ISO 3166 code), county, municipality, city, street, zipcode. Not used on company based API list requests. |
means_of_contact | Object | Object containing any of the following fields: mobile, phone, email, website, skype, fax. Values can be strings or arrays if contact has multiple means of contact. Values will always be returned as arrays. |
tags | Array | Array of contact tags. Not used on list requests. |
reference_no | String | Reference number for contact. |
cat_id | Integer | Category id for contact. |
cat_name | String | Category name for contact. |
contact_users | Array | Contact related users. |
related_companies | Array | Array of objects containing the related_company_id and related_company_name fields. Filled only for contacts of type person. |
permissions | Array | Object user permissions. Used only for user based API |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/contacts/listDescription:
Get list of contacts with user token. Providing bookmark object to the request will filter the results based on the values provided. Adding detailed_response flag returns all fields available in view request.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Description:
Get basic data for the list by adding "basic_data" to the request object. Bookmark object is optional.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"basic_data": "1",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Description:
Get list of contacts with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/contacts/modify/(#id)Description:
Modify specific contact or create a new one with user token. User needs to have permission to modify existing contact. Adding "return_data" parameter will control if object data will be returned with successful request.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {
"name": "New Name",
"addresses": [
{
"street": "Reading 13",
"zipcode": "123"
}
]
}
}
Description:
Modify specific contact or create a new one with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {
"name": "New Name",
"addresses": [
{
"street": "Reading 13",
"zipcode": "123"
}
]
}
}
Description:
Addresses parameter supports an array of address objects. Address object contains following parameters: street, zipcode, city, municipality, county, country. To modify existing address then contacts_addresses_id needs to be included in address object. In order to delete the existing address then provide only contacts_addresses_id in address object, contacts_addresses_id with all the other parameters empty or leave the address off from the request.Request URL:
https://#companyname#.scoro.ee/api/v2/contacts/view/(#id)Description:
Get specific contact object with user token. User needs to have permission to view the object.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Description:
Get specific contact object with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/contacts/delete/(#id)Description:
Delete specific contact with user token. User needs to have permissions to delete the contactExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Description:
Delete specific contact with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/contacts/filtersDescription:
Getting filters for module. Empty request object returns all filters for the module. Supplying list of bookmark fields to the request body and using per_page and page parameters will give remaining of the filter records.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"values": [
{
"item_id": 1,
"item_name": "John Smith"
}
],
"selected_value": {
"item_id": [
1
],
"item_name": "My contacts"
},
"settings": {
"filter_id": "bookmark_users",
"total_count": 1,
"filter_name": "Users",
"type": "type_checkbox"
}
}
]
}
Description:
Getting specific filter valuesExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"page": "1",
"per_page": "50",
"request": {
"fields": [
"bookmark_users",
"bookmark_projects"
]
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/contacts/getRelatedObjects/(#id)Description:
Get all related objects of another object. "modules" parameter in request object allows to filter results by module. "modules" parameter accepts an array of module names. Currently supported modules are contacts, tasks, calendar, projects, invoices, prepayments, bills, expenses, quotes, orders, files. User based API also supports planned_activities and past_activities.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"tasks": {
"items": [],
"totals": []
},
"calendar": {
"items": [],
"totals": []
},
"projects": {
"items": [],
"totals": []
},
"invoices": {
"items": [],
"totals": []
},
"prepayments": {
"items": [],
"totals": []
},
"bills": {
"items": [],
"totals": []
},
"quotes": {
"items": [],
"totals": []
},
"orders": {
"items": [],
"totals": []
},
"files": {
"items": [],
"totals": []
}
}
}
Request URL
https://#companyname#.scoro.ee/api/contacts
Getting contacts list
https://#companyname#.scoro.ee/api/contacts/
Request
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial"
}
Response
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"contact_id": "1",
"name": "",
"id_code": "12345678",
"bankaccount": null,
"birthday": null,
"position": null,
"comments": null,
"sex": null,
"vatno": null
}
]
}
Adding new contact
https://#companyname#.scoro.ee/api/contacts/modify
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"name": "Testing 123",
"lastname": "",
"bankaccount": null,
"birthday": "0000-00-00",
"position": "",
"comments": "",
"sex": null,
"id_code": null,
"is_client": null,
"is_supplier": null,
"vatno": null
}
}
Adding new contact
https://#companyname#.scoro.ee/api/contacts/modify
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"contact_id": "236",
"name": "Testing 123",
"id_code": "",
"bankaccount": null,
"birthday": null,
"position": null,
"comments": null,
"sex": null,
"vatno": null
}
}
Relations
This API can be used to list, modify and delete relations between objects (for example companies and persons).Every request must provide the type of relation to operate on. Supported relation types:
- contacts - relations between contacts (companies or persons)
Modify requests: will add relations between object_id and values in related_objects
Delete requests: if related_objects is specified will delete only those relations, otherwise all relations are removed from object_id
Name | Type | Description |
---|---|---|
object_id | Integer | Main object ID |
related_objects | Object | Object containing related objects by types. Each relation object has the following fields: {"id": #id#,"relation": #relation_name#, "comment" :#comment#, "is_default": #is_default#} Relation field value has both sides of the relation and is separated by a "_" sign. The first half shows the relation of object defined by the "object_id" parameter. The second half shows what relation the related object has. Relation value "company_person" is a systemic relation type between a company and person. |
type | String | Relation objects type. Required on every request. |
custom_fields | Object | Custom fields. Only filled on view requests. |
Getting list of company's related contacts
https://#companyname#.scoro.ee/api/v2/relations/
Request
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"object_id": 1,
"type": "contacts"
}
}
Response
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": {
"object_id": 5,
"related_objects": {
"person": [
{
"id": 4,
"relation": "company_person",
"is_default": "1",
"name": "Person Name"
}
],
"company": [
{
"id": 2,
"relation": "customer_sub-customer",
"is_default": "0",
"name": "Company Name"
}
]
}
}
}
Adding related company to a company
https://#companyname#.scoro.ee/api/v2/relations/modify
Request
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"object_id": 5,
"related_objects": [
{
"id": 6,
"relation": "customer_sub-customer",
"comment": "Comment for related contact"
},
{
"id": 16,
"relation": "company_person",
"is_default": "1"
}
],
"type": "contacts"
}
}
Response
{
"status": "OK",
"statusCode": "200",
"messages": null
}
Deleting relation between two contacts
https://#companyname#.scoro.ee/api/v2/relations/delete
Request
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"object_id": 7,
"related_objects": [
8
],
"type": "contacts"
}
}
Response
{
"status": "OK",
"statusCode": "200",
"messages": null
}
Relation types
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
relation_name | String | Relation systemic name |
relation_side_one | String | Relation first side name |
relation_side_two | String | Relation second side name |
relation_object_type | String | Object type for which the relation can be set |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/relationTypes/listDescription:
Getting list of relation types.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"relation_name": "company_subsidiary",
"relation_side_one": "Company",
"relation_side_two": "Subsidiary",
"relation_object_type": "company"
},
{
"relation_name": "partner_partner",
"relation_side_one": "Partner",
"relation_side_two": "Partner",
"relation_object_type": "persons"
}
]
}
Calendar events
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
address | String | Event address. |
start_datetime | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Events start time. |
end_datetime | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Events end time. |
full_day_event | Boolean | If this is a full day event. |
status | String | Event status. Possible values: busy, free, tentative, outofoffice. |
status_name | String | Status name. Available in view request. |
cal_user | Array | Users related with this event. Populated only on view requests. For modify requests it takes an array of user Id-s |
resources | Array | Array of resources related to calendar event. Populated only on view requests. |
related_task_id | Integer | Related Task ID. Used when calendar event is related to a task |
activity_id | Integer | Activity ID |
activity_type | String | Activity type. Not filterable. |
event_id | Integer | Event ID |
event_name | String | Event name. |
description | String | Event description. |
is_personal | Boolean | If event is personal or work related. |
project_id | Integer | Related project ID. |
project_phase_id | Integer | Related project phase ID. If project phase ID is in input, then related project ID is automatically populated. |
project_name | String | Related project name. Used only for user based API. |
company_id | Integer | Related company ID. |
company_name | String | Related company name. Used only for user based API. |
person_id | Integer | Related person ID. |
person_name | String | Related person name. Used only for user based API. |
invoice_id | Integer | Related invoice ID. |
order_id | Integer | Related order ID. |
quote_id | Integer | Related quote ID. |
purchase_order_id | Integer | Related purchase order ID. |
rent_order_id | Integer | Related rental order ID. |
bill_id | Integer | Related bill ID. |
duration_planned | Time (HH:ii:ss) | Events or tasks planned duration. Rounded to the nearest minute. |
billable_hours | Time (HH:ii:ss) | Events billable duration. Rounded to nearest minute. |
owner_id | Integer | User ID of the user that is responsible for the event. |
owner_email | String | User email of the user that is responsible for the event. Available in view request. |
modified_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when event was last modified. |
created_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Created date. Cannot be modified through API. |
permissions | Array | Object user permissions. Used only for user based API |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/calendar/listDescription:
Get list of calendar events with user token. Providing bookmark object to the request will filter the results based on the values provided.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Description:
Get basic data for the list by adding "basic_data" to the request object. Bookmark object is optional.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"basic_data": "1",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Description:
Get list of calendar events with API key.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/calendar/modify/(#id)Description:
Modify specific calendar event or create a new one with user token. User needs to have permission to modify existing event. Adding "return_data" parameter will control if object data will be returned with successful request.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {
"event_name": "New Name"
}
}
Description:
Modify specific calendar event or create a new one with API key.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {
"event_name": "New Name"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/calendar/view/(#id)Description:
Get specific calendar event object with user token. User needs to have permission to view the object.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Description:
Get specific calendar event object with API key.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/calendar/delete/(#id)Description:
Delete specific calendar event with user token. User needs to have permissions to delete the event.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Description:
Delete specific calendar event with API key.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/calendar/filtersDescription:
Getting filters for module. Empty request object returns all filters for the module. Supplying list of bookmark fields to the request body and using per_page and page parameters will give remaining of the filter records.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"values": [
{
"item_id": 1,
"item_name": "Test User"
}
],
"selected_value": {
"item_id": {
"1": "1"
},
"item_name": "Test User"
},
"settings": {
"filter_id": "bookmark_users",
"total_count": 51,
"filter_name": "Users",
"type": "type_checkbox"
}
}
]
}
Description:
Getting specific filter valuesExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"page": "1",
"per_page": "50",
"request": {
"fields": [
"bookmark_users",
"bookmark_projects"
]
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/calendar/getRelatedObjects/(#id)Description:
Get all related objects of another object. "modules" parameter in request object allows to filter results by module. "modules" parameter accepts an array of module names. Currently supported modules are persons, companies, projects, invoices, bills, quotes, orders, files.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"persons": {
"items": [],
"totals": []
},
"companies": {
"items": [],
"totals": []
},
"projects": {
"items": [],
"totals": []
},
"invoices": {
"items": [],
"totals": []
},
"bills": {
"items": [],
"totals": []
},
"quotes": {
"items": [],
"totals": []
},
"orders": {
"items": [],
"totals": []
},
"files": {
"items": [],
"totals": []
}
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/calendar/checkDescription:
Getting availability of users or resources. Also, supports users(Array) parameter and resources(Array) parameter. Duration(xx:xx) and start_dates(Array) are required.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"duration": "09:00",
"start_dates": [
"2016-12-01 09:00:00"
]
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"availability": {
"2016-12-01 09:00:00": {
"users": {
"1": {
"user_id": 1,
"cal_status": "busy",
"resource_id": 48,
"start_datetime": "2016-12-01 13:00:00",
"overlapping_events": 4
}
},
"resources": {}
}
}
}
}
Request URL
https://#companyname#.scoro.ee/api/v2/calendar
Comments
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
comment_id | String | Comment id |
parent_id | Integer | Parent (comment) id |
comment | String | Comment content |
user_id | Integer | Comment owner id |
modified_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Modified datetime |
permissions | Array | Object user permissions. Used only for user based API list request |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/comments */listDescription:
Sample list request for module "tasks" with id "123". Including "html" parameter with value 0 to request will strip html tags from comment content.Example request body:
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"module": "tasks",
"object_id": "123"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"comment_id": 301,
"comment": "Example comment"
},
{
"comment_id": 302,
"comment": "Example comment 2"
}
]
}
Request URL:
https://#companyname#.scoro.ee/api/v2/comments */modify/(#id)Description:
Sample add request for module "tasks" with id "123"Example request body:
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"module": "tasks",
"object_id": "123",
"comment": "Example"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": {}
}
Description:
Sample modify request for module "tasks" with id "123"Example request body:
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"module": "tasks",
"object_id": "123",
"comment": "Example changed"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": {}
}
Description:
Sample add request (reply to a comment) for module "tasks" with id "123"Example request body:
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"module": "tasks",
"object_id": "123",
"comment": "Example changed",
"parent_id": "122"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/comments */delete/(#id)Description:
Sample delete request (/delete/{comment_id})Example request body:
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": {}
}
Tasks
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
is_completed | Boolean | Is completed. |
datetime_completed | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Tasks completion time. Has value if task is completed. |
assigned_to | Integer | Deprecated User ID of the user performing the assigned task. |
related_users | Array | Array of user IDs that the task is assigned to. If empty array is submitted then task is set as unassigned. |
related_users_emails | Array | Array of user emails that the task is assigned to. |
duration_actual | Time (HH:ii:ss) | Tasks actual duration. This field is read only - it is calculated based on task time entries. |
start_datetime | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Tasks start date. |
datetime_due | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Tasks due date. |
status | String | Possible values: task_status1, task_status2, task_status3, task_status4. |
status_name | String | Status name. Available in view request. |
time_entries | Array | Array of tasks' time entries. Populated only on view requests. |
sortorder | Integer | Task sort order in list. |
ete_id | Integer | Task time entry id. Value will be filled only when task time entry is separately in the user based list request, else its value will be 0. |
activity_id | Integer | Activity ID |
activity_type | String | Activity type. Not filterable. |
event_id | Integer | Event ID |
event_name | String | Event name. |
description | String | Event description. |
is_personal | Boolean | If event is personal or work related. |
project_id | Integer | Related project ID. |
project_phase_id | Integer | Related project phase ID. If project phase ID is in input, then related project ID is automatically populated. |
project_name | String | Related project name. Used only for user based API. |
company_id | Integer | Related company ID. |
company_name | String | Related company name. Used only for user based API. |
person_id | Integer | Related person ID. |
person_name | String | Related person name. Used only for user based API. |
invoice_id | Integer | Related invoice ID. |
order_id | Integer | Related order ID. |
quote_id | Integer | Related quote ID. |
purchase_order_id | Integer | Related purchase order ID. |
rent_order_id | Integer | Related rental order ID. |
bill_id | Integer | Related bill ID. |
duration_planned | Time (HH:ii:ss) | Events or tasks planned duration. Rounded to the nearest minute. |
billable_hours | Time (HH:ii:ss) | Events billable duration. Rounded to nearest minute. |
owner_id | Integer | User ID of the user that is responsible for the event. |
owner_email | String | User email of the user that is responsible for the event. Available in view request. |
modified_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when event was last modified. |
created_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Created date. Cannot be modified through API. |
permissions | Array | Object user permissions. Used only for user based API |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/tasks/listDescription:
Get list of tasks with user token. Providing bookmark object to the request will filter the results based on the values provided. Adding detailed_response flag returns all fields available in view request.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Description:
Get basic data for the list by adding "basic_data" to the request object. Bookmark object is optional.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"basic_data": "1",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Description:
Get list of tasks with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/tasks/modify/(#id)Description:
Modify specific task or create a new one with user token. Adding "return_data" parameter will control if object data will be returned with successful request.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {
"event_name": "New Name"
}
}
Description:
Modify specific task or create a new one with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {
"event_name": "New Name"
}
}
Description:
Time entries: To delete a task time entry then add is_deleted = "1" to the time entry parameters list. Otherwise, add only the time entries that you want to add or modify.Request URL:
https://#companyname#.scoro.ee/api/v2/tasks/view/(#id)Description:
Get specific task object with user tokenExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Description:
Get specific task object with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/tasks/delete/(#id)Description:
Delete specific task with user tokenExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Description:
Delete specific task with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/tasks/filtersDescription:
Getting filters for module. Empty request object returns all filters for the module. Supplying list of bookmark fields to the request body and using per_page and page parameters will give remaining of the filter records.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"values": [
{
"item_id": 1,
"item_name": "John Smith"
}
],
"selected_value": {
"item_id": [
1
],
"item_name": "My tasks"
},
"settings": {
"filter_id": "bookmark_users",
"total_count": 1,
"filter_name": "Users",
"type": "type_checkbox"
}
}
]
}
Request URL:
https://#companyname#.scoro.ee/api/v2/tasks/sortingDescription:
Setting sort order for tasks. Requests expects an array of task Ids.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {
"taskIds": [
"111111",
"333333",
"2222222"
]
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null
}
Request URL:
https://#companyname#.scoro.ee/api/v2/tasks/getRelatedObjects/(#id)Description:
Get all related objects of another object. "modules" parameter in request object allows to filter results by module. "modules" parameter accepts an array of module names. Currently supported modules are persons, companies, projects, invoices, bills, quotes, orders, files, time_entries.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"persons": {
"items": [],
"totals": []
},
"companies": {
"items": [
{
"contact_id": 30,
"name": "Tutorial O\u00dc",
"lastname": "",
"contact_type": "company",
"id_code": "1287230",
"bankaccount": "22100092134",
"birthday": null,
"position": "",
"comments": "",
"sex": null,
"vatno": "98235349873",
"timezone": null,
"manager_id": 1,
"is_supplier": "",
"is_client": "1",
"modified_date": "2012-09-28 15:30:00",
"addresses": null,
"means_of_contact": null,
"tags": null,
"reference_no": "",
"custom_fields": null,
"is_deleted": null
}
],
"totals": {
"totalCount": 1
}
},
"projects": {
"items": [],
"totals": {}
},
"invoices": {
"items": [],
"totals": []
},
"bills": {
"items": [],
"totals": []
},
"quotes": {
"items": [],
"totals": []
},
"orders": {
"items": [],
"totals": []
},
"files": {
"items": [],
"totals": []
}
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/tasks/setDone/(#id)Description:
Setting task as done. Use completed_datetime parameter in request to specify task's completion time (will default to current time if value not provided).Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"completed_datetime": "2016-03-25T15:47:20+02:00"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null
}
Request URL
https://#companyname#.scoro.ee/api/v2/tasks
Time entries
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
time_entry_id | Integer | Time entry ID. |
description | String | Description. |
title | String | Time Entry title. It will be constructed dynamically based on description and activity id values. |
user_id | Integer | Related user ID. |
activity_id | Integer | Related activity ID. |
invoice_line_id | Integer | Related invoice line ID. |
event_id | Integer | Related event ID. |
event_type | String | Event type, task or cal. |
calendar_event_id | Integer | Calendar event id for consolidated time entry. |
time_entry_type | String | Time entry type, task or cal. |
start_datetime | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Planned start date and time. |
end_datetime | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Planned end date and time. |
duration | Time (HH:ii:ss) | Time entry duration. Rounded to the nearest minute. |
billable_duration | Time (HH:ii:ss) | Billable duration for time entry. Only used if site has billable hours feature activated. Rounded to the nearest minute. |
is_completed | Boolean | Is the time entry completed or not. |
is_confirmed | Boolean | Is the time entry confirmed or not. |
is_billable | Boolean | Is the time entry billable or not. |
completed_datetime | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Date and time when the time entry was completed. Will be set to current time, if time entry is completed and no datetime provided. |
permissions | Array | Object user permissions. Used only for user based API |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/timeEntries/setDone/(#id)Description:
Setting time entry as done.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null
}
Request URL:
https://#companyname#.scoro.ee/api/v2/timeEntries/modify/(#id)Description:
Adding new and modifying current time entries. Event ID is mandatory for new time entries. Adding "return_data" parameter will control if object data will be returned with successful request. You can only modify invoice_line_id value on time entries related to calendar events. Use the calendar API to modify the event itself if you need to change anything else.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"event_id": "1"
}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": {
"time_entry_id": 1,
"description": "",
"title": "",
"user_id": 1,
"activity_id": 0,
"invoice_line_id": 0,
"event_id": 1,
"event_type": "task",
"calendar_event_id": 0,
"time_entry_type": "task",
"start_datetime": "2016-03-25T15:47:20+02:00",
"duration": "00:30:00",
"billable_duration": "00:25:00",
"is_completed": 1,
"completed_datetime": "2016-03-25T15:47:20+02:00",
"is_deleted": 0
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/timeEntries/delete/(#id)Description:
Deleting time entry.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null
}
Request URL:
https://#companyname#.scoro.ee/api/v2/timeEntries/listDescription:
Listing time entries.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"time_entry_id": 1,
"description": "",
"title": "",
"user_id": 1,
"activity_id": 0,
"invoice_line_id": 0,
"event_id": 1,
"event_type": "task",
"calendar_event_id": 0,
"time_entry_type": "task",
"start_datetime": "2017-03-13T18:00:00+02:00",
"duration": "01:00:00",
"billable_duration": "00:00:00",
"is_completed": 0,
"is_confirmed": 0,
"is_billable": 0,
"completed_datetime": null,
"is_deleted": 0,
"deleted_date": null
}
]
}
Request URL:
https://#companyname#.scoro.ee/api/v2/timeEntries/view/(#id)Description:
View time entry.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": {
"time_entry_id": 1,
"description": "",
"title": "",
"user_id": 3,
"activity_id": 0,
"invoice_line_id": 0,
"event_id": 48,
"event_type": "task",
"calendar_event_id": 0,
"time_entry_type": "task",
"start_datetime": "2010-03-16T11:00:00+02:00",
"duration": "01:30:00",
"billable_duration": "00:00:00",
"is_completed": 0,
"is_confirmed": 0,
"is_billable": 0,
"completed_datetime": null,
"is_deleted": 0,
"deleted_date": null
}
}
Event Resources
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
resource_id | Integer | Event resource ID. |
resource_name | String | Event resource name. |
resource_color | String | Event resource colour set in Scoro. Format is in hex "#ffffff" |
modified_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when resource was last modified. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/eventsResources/listRequest URL:
https://#companyname#.scoro.ee/api/v2/eventsResources/view/(#id)Request URL
https://#companyname#.scoro.ee/api/eventsResources
Invoices
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
payment_type | String | Payment type, possible values are banktransfer, cash, cardpayment, credit, barter |
fine | String | Fine percent per day |
quote_id | Array | Related quote ID-s. |
order_id | Array | Related order ID-s. |
prepayment_id | Array | Related prepayment ID-s. |
credited_invoices | Array | Credited invoices ID-s. Multiple invoices can be linked with one credit invoice. |
prepayment_sum | Float | Prepayment sum (only for view command). |
real_estate_id | Integer | Related real estate ID. |
reference_no | String | Invoice reference number. |
company_name | String | Name of the related company. Available in view/modify request. |
person_name | String | Name of the related contact person. Available in view/modify request. |
company_address | Object | Object with the following address fields: country (3-letter ISO 3166 code), county, municipality, city, street, zipcode, full_address. Available in view request. |
project_name | String | Name of the related project. Not shown in response if each document line has a different related project. Available in view/modify request. |
owner_email | String | E-mail of the user that is responsible for the document. Available in view request. |
vat_code | String | VAT code. Only used if line based VAT setting is not activated. Available in view/modify request. |
currency_rate | Decimal (25,15) | Exchange rate when invoice is issued. Indicates the invoice currency against the base currency. For example if the base currency is EUR and invoice currency is GBP then 1 GBP = X EUR. (X = currency_rate). Available in view request. |
paid_sum | Decimal (15,2) | Received amount. Available in view request. |
receivable_sum | Decimal (15,2) | Receivable amount. Available in view request. |
generation_type | String | Possible values manual (created by user) or automated (generated by scheduled invoice rule). Available in view request. |
scheduled_invoice_id | Integer | Recurring invoice ID. Available in view request. |
id | Integer | Document ID |
no | Integer | Document number. |
discount | Float | Overall discount. |
discount2 | Float or None | First additional discount. |
discount3 | Float or None | Second additional discount. |
sum | Decimal (15,2) | Total sum after discounts without VAT. This value is ignored on modify and calculated from rows instead. |
vat_sum | Decimal (15,2) | Total VAT sum. This value is ignored on modify and calculated from rows instead. |
vat | Decimal(5,3) | VAT percent. Only used if line based VAT setting is not activated. |
vat_code_id | Integer | Invoice default vat_code_id |
company_id | Integer | ID of the related client. |
person_id | Integer | ID of the related contact person. |
company_address_id | Integer | If a company has multiple addresses, use this field to set which address is used on the document. If company_address_id is not specified, default address will be used. |
interested_party_id | Integer | ID of the interested party. Only used if site has interested party feature activated. |
interested_party_address_id | Integer | See company_address_id. Only used if site has interested party feature activated. |
project_id | Integer | ID of the related project. If ID is -1 then each document line can have a different related project. |
currency | String | Used currency. The default currency for site is used on modify if currency is missing or invalid. |
owner_id | Integer | User ID of the user that is responsible for the document. |
date | Date (YYYY-mm-dd) | Document date |
deadline | Date (YYYY-mm-dd) | Document deadline |
status | String | Status of the document(paid, unpaid) |
description | String | Document description |
account_id | String | Related company account. The account from the main request object is used on modify. |
is_sent | Boolean | If document is sent. (Cannot unset when document is sent via Scoro) |
lines | Array | Document lines. Lines will be null for list request and is only filled for view requests. |
modified_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date when document was last modified. |
created_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date and time when document was created. |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/invoices/listDescription:
Get list of invoices with API key. Adding detailed_response flag returns all fields available in view request.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Description:
Get list of invoices with user token. Providing bookmark object to the request will filter the results based on the values provided.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/invoices/modify/(#id)Description:
Modify specific invoice or add a new one.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"date": "2018-04-01",
"deadline": "2018-04-14",
"currency": "EUR",
"no": "123",
"company_id": "1",
"company_name": "Test",
"description": "Description",
"owner_id": "1",
"owner_username": "tester",
"payment_type": "cash",
"fine": 0.6,
"discount": "10",
"lines": [
{
"project_id": "1",
"vat": "20",
"product_id": "1",
"price": "100",
"amount": "2",
"unit": "h",
"depot_amounts": [
{
"depot_id": 1,
"amount": 1,
"serial_no": "A123"
},
{
"depot_id": 2,
"amount": 1,
"serial_no": "A321"
}
],
"dates": {
"2018-10-01": 1,
"2018-10-02": 1
}
},
{
"project_id": "1",
"vat": "20",
"product_id": "1",
"price": "50",
"amount": "5",
"unit": "h"
}
]
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/invoices/view/(#id)Description:
View specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/invoices/delete/(#id)Description:
Delete specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/invoices/pdf/(#id)Description:
Generates PDF. Generated PDF files are available only for 30 days after the generation.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"template_id": "99"
}
}
Request URL
https://#companyname#.scoro.ee/api/invoices
Invoice lines
Invoice lines do not have direct endpoints via API.You can retrive info about invoice lines by making a view request to get info about an existing invoice.
You can add and modify invoice lines by making a modify request to add or modify an invoice.
Data about invoice lines gets passed along in invoice objects lines field.
Name | Type | Description |
---|---|---|
depot_amounts | Array | Array of objects containing the fields depot_id, amount, serial_no for each depot from which products should be taken. |
dates | Object | Object with dates as keys and amounts as values. Empty on list requests. Available only if "Show dates on invoice lines" setting is turned on. |
product_name | String | Name of the product. Available in view/modify request. |
product_code | String | Product code. Only used if "Product code" addon is activated. Available in view/modify request. |
finance_account_name | String | Name of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view request. |
finance_object_name | String | Name of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view/modify request. |
finance_object_symbol | String | Symbol of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view/modify request. |
supplier_name | String | Name of the contact supplying the product on this line. Only used if "Use margin" setting is activated. |
project_name | String | Name of the related project. Available in view/modify request. |
vat_code | String | VAT code. Only used if "Use line based tax rates" setting is activated. Available in view/modify request. |
id | Integer | Document line ID |
product_id | Integer | ID of the product. |
comment | String | Line comment. |
comment2 | String | Second line comment. Only used if "Use additional comments on lines" setting is activated. |
price | Decimal (15,4) | Unit price. |
amount | Decimal (15,2) | Amount. |
amount2 | Decimal (15,2) | Additional amount. Only used if "Use additional amount" setting is activated. |
discount | Float | Line discount. Only used if "Use line based discount" setting is activated. |
sum | Decimal (15,2) | Line sum without VAT. |
vat | Decimal (5,2) | Line tax percent. Only used if "Use line based tax rates" setting is activated. |
vat_code_id | Integer | Line tax id. Only used if "Use line based tax rates" setting is activated. |
unit | String | Unit name. |
finance_object_id | Integer | ID of the related accounting object. Only used if "Use accounting objects" setting is activated. |
finance_account_id | Integer | ID of the related finance account. Only used if "Use finance accounts" setting is activated. |
finance_account_symbol | String | Symbol of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view request. |
cost | Decimal(15,4) | Line cost. Only used if "Use margin" setting is activated. When user based API is used then user must have "Margin and markup" permission. |
supplier_id | Integer | ID of the contact supplying the product on this line. Only used if "Use margin" setting is activated. |
doer_id | Integer | ID of the user doing the work. |
is_internal | Boolean | Shows whether line is counted as internal or external. |
project_id | Integer | ID of the related project. |
custom_fields | Object | Custom fields. Only filled on view requests. |
Prepayments
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
fine | String | Fine percent per day |
quote_id | Integer | Related quote ID. |
order_id | Integer | Related order ID. |
prepayment_percent | Float | Percent to pay in advance. |
id | Integer | Document ID |
no | Integer | Document number. |
discount | Float | Overall discount. |
discount2 | Float or None | First additional discount. |
discount3 | Float or None | Second additional discount. |
sum | Decimal (15,2) | Total sum after discounts without VAT. This value is ignored on modify and calculated from rows instead. |
vat_sum | Decimal (15,2) | Total VAT sum. This value is ignored on modify and calculated from rows instead. |
vat | Decimal(5,3) | VAT percent. Only used if line based VAT setting is not activated. |
vat_code_id | Integer | Invoice default vat_code_id |
vat_code | String | VAT code. Only used if line based VAT setting is not activated. Available in view request. |
company_id | Integer | ID of the related client. |
company_name | String | Name of the related company. Available in view request. |
company_address | Object | Object with the following address fields: country (3-letter ISO 3166 code), county, municipality, city, street, zipcode, full_address. Available in view request. |
person_id | Integer | ID of the related contact person. |
person_name | String | Name of the related contact person. Available in view request. |
company_address_id | Integer | If a company has multiple addresses, use this field to set which address is used on the document. If company_address_id is not specified, default address will be used. |
interested_party_id | Integer | ID of the interested party. Only used if site has interested party feature activated. |
interested_party_address_id | Integer | See company_address_id. Only used if site has interested party feature activated. |
project_id | Integer | ID of the related project. If ID is -1 then each document line can have a different related project. |
project_name | String | Name of the related project. Not shown in response if each document line has a different related project. Available in view request. |
currency | String | Used currency. The default currency for site is used on modify if currency is missing or invalid. |
owner_id | Integer | User ID of the user that is responsible for the document. |
owner_email | String | E-mail of the user that is responsible for the document. Available in view request. |
date | Date (YYYY-mm-dd) | Document date |
deadline | Date (YYYY-mm-dd) | Document deadline |
status | String | Status of the document(paid, unpaid) |
description | String | Document description |
account_id | String | Related company account. The account from the main request object is used on modify. |
is_sent | Boolean | If document is sent. (Cannot unset when document is sent via Scoro) |
currency_rate | Decimal (25,15) | Exchange rate when invoice is issued. Indicates the invoice currency against the base currency. For example if the base currency is EUR and invoice currency is GBP then 1 GBP = X EUR. (X = currency_rate). Available in view request. |
lines | Array | Document lines. Lines will be null for list request and is only filled for view requests. |
modified_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date when document was last modified. |
created_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date and time when document was created. |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/invoices/prepayments/listDescription:
Get list of prepayments with API key. Adding detailed_response flag returns all fields available in view request.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Description:
Get list of prepayments with user token. Providing bookmark object to the request will filter the results based on the values provided.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/invoices/prepayments/modify/(#id)Description:
Modify specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"description": "New description"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/invoices/prepayments/view/(#id)Description:
View specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/invoices/prepayments/delete/(#id)Description:
Delete specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/prepayments/pdf/(#id)Description:
Generates PDF. Generated PDF files are available only for 30 days after the generation.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"template_id": "99"
}
}
Request URL
https://#companyname#.scoro.ee/api/invoices/prepayments
Prepayment lines
Prepayment lines do not have direct endpoints via API.You can retrive info about prepayment lines by making a view request to get info about an existing prepayment.
You can add and modify prepayment lines by making a modify request to add or modify a prepayment.
Data about prepayment lines gets passed along in prepayment objects lines field.
Name | Type | Description |
---|---|---|
id | Integer | Document line ID |
product_id | Integer | ID of the product. |
product_name | String | Name of the product. Available in view request. |
product_code | String | Product code. Only used if "Product code" addon is activated. Available in view request. |
comment | String | Line comment. |
comment2 | String | Second line comment. Only used if "Use additional comments on lines" setting is activated. |
price | Decimal (15,4) | Unit price. |
amount | Decimal (15,2) | Amount. |
amount2 | Decimal (15,2) | Additional amount. Only used if "Use additional amount" setting is activated. |
discount | Float | Line discount. Only used if "Use line based discount" setting is activated. |
sum | Decimal (15,2) | Line sum without VAT. |
vat | Decimal (5,2) | Line tax percent. Only used if "Use line based tax rates" setting is activated. |
vat_code_id | Integer | Line tax id. Only used if "Use line based tax rates" setting is activated. |
unit | String | Unit name. |
finance_object_id | Integer | ID of the related accounting object. Only used if "Use accounting objects" setting is activated. |
finance_object_name | String | Name of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view request. |
finance_object_symbol | String | Symbol of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view request. |
finance_account_id | Integer | ID of the related finance account. Only used if "Use finance accounts" setting is activated. |
finance_account_name | String | Name of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view request. |
finance_account_symbol | String | Symbol of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view request. |
cost | Decimal(15,4) | Line cost. Only used if "Use margin" setting is activated. When user based API is used then user must have "Margin and markup" permission. |
supplier_id | Integer | ID of the contact supplying the product on this line. Only used if "Use margin" setting is activated. |
doer_id | Integer | ID of the user doing the work. |
is_internal | Boolean | Shows whether line is counted as internal or external. |
project_id | Integer | ID of the related project. |
project_name | String | Name of the related project. Available in view request. |
vat_code | String | VAT code. Only used if "Use line based tax rates" setting is activated. Available in view request. |
custom_fields | Object | Custom fields. Only filled on view requests. |
Scheduled Invoices
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
payment_type | String | Payment type, possible values are banktransfer, cash, cardpayment, credit, barter |
fine | String | Fine percent per day |
quote_id | Integer | Related quote ID. |
order_id | Integer | Related order ID. |
real_estate_id | Integer | Related real estate ID. |
deadline_days | Integer | Invoice deadline in days. |
generate_type | String | Scheduled invoice generation type(last_day_of_month, monthly, quarterly, single, yearly) |
calculate_line_dates | Boolean | Allows calculating line dates on invoices automatically. Calculated line dates are based on scheduled invoice's invoice date and generate_type |
next_generation_date | Date (YYYY-mm-dd) | Date when the next invoice will be generated |
last_generation_date | Date (YYYY-mm-dd) | Determines the last date of an invoice. Possible values: "0000-00-00" for indefinite or a certain date. |
mark_paid_from_prepayment | Boolean | If the client has prepayment balance, then the invoice will use it |
auto_send | Boolean | Send invoice automatically to the client |
lang | String | Language of the invoices that are generated |
message | String | Content of the e-mail |
mail_from_name | String | Email alias name |
mail_from | String | Invoice e-mail from address |
cc | String | CC address of the email that will be sent with the invoice |
bcc | String | BCC address of the email that will be sent with the invoice |
use_signature | Boolean | Use the invoice owner's signature for the email |
default_template_id | Integer | ID of the invoice PDF template that will be used |
id | Integer | Document ID |
discount | Float | Overall discount. |
discount2 | Float or None | First additional discount. |
discount3 | Float or None | Second additional discount. |
sum | Decimal (15,2) | Total sum after discounts without VAT. This value is ignored on modify and calculated from rows instead. |
vat_sum | Decimal (15,2) | Total VAT sum. This value is ignored on modify and calculated from rows instead. |
vat | Decimal(5,3) | VAT percent. Only used if line based VAT setting is not activated. |
vat_code_id | Integer | Invoice default vat_code_id |
vat_code | String | VAT code. Only used if line based VAT setting is not activated. Available in view request. |
company_id | Integer | ID of the related client. |
company_name | String | Name of the related company. Available in view request. |
company_address | Object | Object with the following address fields: country (3-letter ISO 3166 code), county, municipality, city, street, zipcode, full_address. Available in view request. |
person_id | Integer | ID of the related contact person. |
person_name | String | Name of the related contact person. Available in view request. |
company_address_id | Integer | If a company has multiple addresses, use this field to set which address is used on the document. If company_address_id is not specified, default address will be used. |
interested_party_id | Integer | ID of the interested party. Only used if site has interested party feature activated. |
interested_party_address_id | Integer | See company_address_id. Only used if site has interested party feature activated. |
project_id | Integer | ID of the related project. If ID is -1 then each document line can have a different related project. |
project_name | String | Name of the related project. Not shown in response if each document line has a different related project. Available in view request. |
currency | String | Used currency. The default currency for site is used on modify if currency is missing or invalid. |
owner_id | Integer | User ID of the user that is responsible for the document. |
owner_email | String | E-mail of the user that is responsible for the document. Available in view request. |
status | String | Status of the document(active, tentative, archived) |
description | String | Document description |
account_id | String | Related company account. The account from the main request object is used on modify. |
is_sent | Boolean | If document is sent. (Cannot unset when document is sent via Scoro) |
currency_rate | Decimal (25,15) | Exchange rate when invoice is issued. Indicates the invoice currency against the base currency. For example if the base currency is EUR and invoice currency is GBP then 1 GBP = X EUR. (X = currency_rate). Available in view request. |
lines | Array | Document lines. Lines will be null for list request and is only filled for view requests. |
modified_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date when document was last modified. |
created_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date and time when document was created. |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/invoices/scheduledInvoices/listDescription:
Adding detailed_response flag returns all fields available in view request.Request URL:
https://#companyname#.scoro.ee/api/v2/invoices/scheduledInvoices/modify/(#id)Request URL:
https://#companyname#.scoro.ee/api/v2/invoices/scheduledInvoices/view/(#id)Request URL:
https://#companyname#.scoro.ee/api/v2/invoices/scheduledInvoices/delete/(#id)Request URL
https://#companyname#.scoro.ee/api/invoices/scheduledInvoices
Scheduled invoice lines
Scheduled invoice lines do not have direct endpoints via API.You can retrive info about scheduled invoice lines by making a view request to get info about an existing scheduled invoice.
You can add and modify scheduled invoice lines by making a modify request to add or modify a scheduled invoice.
Data about scheduled invoice lines gets passed along in scheduled invoice objects lines field.
Name | Type | Description |
---|---|---|
dates | Object | Object with dates as keys and amounts as values. Empty on list requests. Available only if "Show dates on invoice lines" setting is turned on and scheduled invoice's Issue interval is "Single" |
id | Integer | Document line ID |
product_id | Integer | ID of the product. |
product_name | String | Name of the product. Available in view request. |
product_code | String | Product code. Only used if "Product code" addon is activated. Available in view request. |
comment | String | Line comment. |
comment2 | String | Second line comment. Only used if "Use additional comments on lines" setting is activated. |
price | Decimal (15,4) | Unit price. |
amount | Decimal (15,2) | Amount. |
amount2 | Decimal (15,2) | Additional amount. Only used if "Use additional amount" setting is activated. |
discount | Float | Line discount. Only used if "Use line based discount" setting is activated. |
sum | Decimal (15,2) | Line sum without VAT. |
vat | Decimal (5,2) | Line tax percent. Only used if "Use line based tax rates" setting is activated. |
vat_code_id | Integer | Line tax id. Only used if "Use line based tax rates" setting is activated. |
unit | String | Unit name. |
finance_object_id | Integer | ID of the related accounting object. Only used if "Use accounting objects" setting is activated. |
finance_object_name | String | Name of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view request. |
finance_object_symbol | String | Symbol of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view request. |
finance_account_id | Integer | ID of the related finance account. Only used if "Use finance accounts" setting is activated. |
finance_account_name | String | Name of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view request. |
finance_account_symbol | String | Symbol of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view request. |
cost | Decimal(15,4) | Line cost. Only used if "Use margin" setting is activated. When user based API is used then user must have "Margin and markup" permission. |
supplier_id | Integer | ID of the contact supplying the product on this line. Only used if "Use margin" setting is activated. |
doer_id | Integer | ID of the user doing the work. |
is_internal | Boolean | Shows whether line is counted as internal or external. |
project_id | Integer | ID of the related project. |
project_name | String | Name of the related project. Available in view request. |
vat_code | String | VAT code. Only used if "Use line based tax rates" setting is activated. Available in view request. |
custom_fields | Object | Custom fields. Only filled on view requests. |
Receipt Groups
This means the request must not contain id on modify requests.
Name | Type | Description |
---|---|---|
id | Integer | Receipt group ID |
date | Date (YYYY-mm-dd) | Receipt date. |
contact_id | Integer | Related contact ID. |
sum | Decimal (15,2) | Receipt sum. |
currency | String | ISO 4217 currency code. System default is used if no currency given. |
sales_doc_type | String | doc type for receipt. Possible values "invoices", "bills", "expenses". Default "invoices". |
receipt_account_id | Integer | Receipt account ID. |
receipts | Array | Receipts. |
modified_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date when receipt group was last modified. |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/receipts/listRequest URL:
https://#companyname#.scoro.ee/api/v2/receipts/modifyRequest URL:
https://#companyname#.scoro.ee/api/v2/receipts/delete/(#id)Request URL
https://#companyname#.scoro.ee/api/receipts
Sample list request for all receipts for contact id 1
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"filter": {
"contact_id": "1"
}
}
Sample add new receiptGroup request
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"date": "2013-10-18",
"contact_id": "12",
"sum": "123.00",
"currency": "EUR",
"receipts": [
{
"date": "2013-10-18",
"invoice_id": "96",
"sum": "100.00"
},
{
"date": "2013-10-18",
"invoice_id": "102",
"sum": "23.00"
}
]
}
}
Receipts
Receipts do not have direct endpoints via API.You can add receipts by making a modify request to a receipt groups endpoint.
Data about receipts gets passed along in receipt group objects receipts field.
Name | Type | Description |
---|---|---|
receipt_id | Integer | Receipt ID. |
date | Date (YYYY-mm-dd) | Receipt date. |
invoice_id | Integer | Related invoice ID. |
invoice_no | String | Related invoice no. Returned only for modify request. |
prepayment_id | Integer | Related prepayment invoice ID. |
sum | Decimal (15,2) | Receipt sum. |
sales_doc_type | String | doc type for receipt. Possible values "invoices", "bills", "expenses". Default "invoices". |
contact_id | Integer | Related contact ID. |
contact_name | String | Related contact name. |
Receipt Accounts
Name | Type | Description |
---|---|---|
id | Integer | Receipt account ID. |
name | String | Name of the service provider. |
type | String | Type of service provider. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/receiptAccounts/listRequest URL
https://#companyname#.scoro.ee/api/v2/receiptAccounts
Sample list request for receipt account with id 1
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"filter": {
"id": "1"
}
}
Quotes
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
confirmed_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Quote confirmed date. |
estimated_closing_date | Date (YYYY-mm-dd) | Date when quote is estimated to be set to closed status. |
company_name | String | Name of the related company. Available in view/modify request. |
person_name | String | Name of the related contact person. Available in view/modify request. |
company_address | Object | Object with the following address fields: country (3-letter ISO 3166 code), county, municipality, city, street, zipcode, full_address. Available in view request. |
project_name | String | Name of the related project. Not shown in response if each document line has a different related project. Available in view/modify request. |
owner_email | String | E-mail of the user that is responsible for the document. Available in view request. |
vat_code | String | VAT code. Only used if line based VAT setting is not activated. Available in view/modify request. |
currency_rate | Decimal (25,15) | Exchange rate when invoice is issued. Indicates the invoice currency against the base currency. For example if the base currency is EUR and invoice currency is GBP then 1 GBP = X EUR. (X = currency_rate). Available in view request. |
status_name | String | Status name. Available in view request. |
shipment_date | Date (YYYY-mm-dd) | Quote shipment date |
id | Integer | Document ID |
no | Integer | Document number. |
discount | Float | Overall discount. |
discount2 | Float or None | First additional discount. |
discount3 | Float or None | Second additional discount. |
sum | Decimal (15,2) | Total sum after discounts without VAT. This value is ignored on modify and calculated from rows instead. |
vat_sum | Decimal (15,2) | Total VAT sum. This value is ignored on modify and calculated from rows instead. |
vat | Decimal(5,3) | VAT percent. Only used if line based VAT setting is not activated. |
vat_code_id | Integer | Invoice default vat_code_id |
company_id | Integer | ID of the related client. |
person_id | Integer | ID of the related contact person. |
company_address_id | Integer | If a company has multiple addresses, use this field to set which address is used on the document. If company_address_id is not specified, default address will be used. |
interested_party_id | Integer | ID of the interested party. Only used if site has interested party feature activated. |
interested_party_address_id | Integer | See company_address_id. Only used if site has interested party feature activated. |
project_id | Integer | ID of the related project. If ID is -1 then each document line can have a different related project. |
currency | String | Used currency. The default currency for site is used on modify if currency is missing or invalid. |
owner_id | Integer | User ID of the user that is responsible for the document. |
date | Date (YYYY-mm-dd) | Document date |
deadline | Date (YYYY-mm-dd) | Document deadline |
status | String | Status of the document(approved, completed, declined, incomplete, pending, ready) |
description | String | Document description |
account_id | String | Related company account. The account from the main request object is used on modify. |
is_sent | Boolean | If document is sent. (Cannot unset when document is sent via Scoro) |
lines | Array | Document lines. Lines will be null for list request and is only filled for view requests. |
modified_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date when document was last modified. |
created_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date and time when document was created. |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/quotes/listDescription:
Get list of quotes with API key. Adding detailed_response flag returns all fields available in view request.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Description:
Get list of quotes with user token. Providing bookmark object to the request will filter the results based on the values provided.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/quotes/modify/(#id)Description:
Modify specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"date": "2018-04-01",
"deadline": "2018-04-14",
"currency": "EUR",
"no": "123",
"company_id": "1",
"company_name": "Test",
"description": "Description",
"owner_id": "1",
"discount": "10",
"lines": [
{
"project_id": "1",
"vat": "20",
"product_id": "1",
"price": "100",
"amount": "2",
"unit": "h",
"dates": {
"2018-10-01": 1,
"2018-10-02": 1
}
},
{
"project_id": "1",
"vat": "20",
"product_id": "1",
"price": "50",
"amount": "5",
"unit": "h"
}
]
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/quotes/view/(#id)Description:
View specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/quotes/delete/(#id)Description:
Delete specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/quotes/pdf/(#id)Description:
Generates PDF. Generated PDF files are available only for 30 days after the generation.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"template_id": "99"
}
}
Request URL
https://#companyname#.scoro.ee/api/quotes
Quote lines
Quote lines do not have direct endpoints via API.You can retrive info about quote lines by making a view request to get info about an existing quote.
You can add and modify quote lines by making a modify request to add or modify a quote.
Data about quote lines gets passed along in quote objects lines field.
Name | Type | Description |
---|---|---|
dates | Object | Object with dates as keys and amounts as values. Empty on list requests. |
is_confirmed | boolean | Quote line confirmation state |
product_name | String | Name of the product. Available in view/modify request. |
product_code | String | Product code. Only used if "Product code" addon is activated. Available in view/modify request. |
finance_account_name | String | Name of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view request. |
finance_object_name | String | Name of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view/modify request. |
finance_object_symbol | String | Symbol of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view/modify request. |
supplier_name | String | Name of the contact supplying the product on this line. Only used if "Use margin" setting is activated. |
project_name | String | Name of the related project. Available in view/modify request. |
vat_code | String | VAT code. Only used if "Use line based tax rates" setting is activated. Available in view/modify request. |
id | Integer | Document line ID |
product_id | Integer | ID of the product. |
comment | String | Line comment. |
comment2 | String | Second line comment. Only used if "Use additional comments on lines" setting is activated. |
price | Decimal (15,4) | Unit price. |
amount | Decimal (15,2) | Amount. |
amount2 | Decimal (15,2) | Additional amount. Only used if "Use additional amount" setting is activated. |
discount | Float | Line discount. Only used if "Use line based discount" setting is activated. |
sum | Decimal (15,2) | Line sum without VAT. |
vat | Decimal (5,2) | Line tax percent. Only used if "Use line based tax rates" setting is activated. |
vat_code_id | Integer | Line tax id. Only used if "Use line based tax rates" setting is activated. |
unit | String | Unit name. |
finance_object_id | Integer | ID of the related accounting object. Only used if "Use accounting objects" setting is activated. |
finance_account_id | Integer | ID of the related finance account. Only used if "Use finance accounts" setting is activated. |
finance_account_symbol | String | Symbol of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view request. |
cost | Decimal(15,4) | Line cost. Only used if "Use margin" setting is activated. When user based API is used then user must have "Margin and markup" permission. |
supplier_id | Integer | ID of the contact supplying the product on this line. Only used if "Use margin" setting is activated. |
doer_id | Integer | ID of the user doing the work. |
is_internal | Boolean | Shows whether line is counted as internal or external. |
project_id | Integer | ID of the related project. |
custom_fields | Object | Custom fields. Only filled on view requests. |
Orders
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
quote_id | Integer | Related quote ID. |
shipment_date | Date (YYYY-mm-dd) | Order shipment date |
id | Integer | Document ID |
no | Integer | Document number. |
discount | Float | Overall discount. |
discount2 | Float or None | First additional discount. |
discount3 | Float or None | Second additional discount. |
sum | Decimal (15,2) | Total sum after discounts without VAT. This value is ignored on modify and calculated from rows instead. |
vat_sum | Decimal (15,2) | Total VAT sum. This value is ignored on modify and calculated from rows instead. |
vat | Decimal(5,3) | VAT percent. Only used if line based VAT setting is not activated. |
vat_code_id | Integer | Invoice default vat_code_id |
vat_code | String | VAT code. Only used if line based VAT setting is not activated. Available in view request. |
company_id | Integer | ID of the related client. |
company_name | String | Name of the related company. Available in view request. |
company_address | Object | Object with the following address fields: country (3-letter ISO 3166 code), county, municipality, city, street, zipcode, full_address. Available in view request. |
person_id | Integer | ID of the related contact person. |
person_name | String | Name of the related contact person. Available in view request. |
company_address_id | Integer | If a company has multiple addresses, use this field to set which address is used on the document. If company_address_id is not specified, default address will be used. |
interested_party_id | Integer | ID of the interested party. Only used if site has interested party feature activated. |
interested_party_address_id | Integer | See company_address_id. Only used if site has interested party feature activated. |
project_id | Integer | ID of the related project. If ID is -1 then each document line can have a different related project. |
project_name | String | Name of the related project. Not shown in response if each document line has a different related project. Available in view request. |
currency | String | Used currency. The default currency for site is used on modify if currency is missing or invalid. |
owner_id | Integer | User ID of the user that is responsible for the document. |
owner_email | String | E-mail of the user that is responsible for the document. Available in view request. |
date | Date (YYYY-mm-dd) | Document date |
deadline | Date (YYYY-mm-dd) | Document deadline |
status | String | Status of the document(approved, completed, declined, incomplete, pending) |
description | String | Document description |
account_id | String | Related company account. The account from the main request object is used on modify. |
is_sent | Boolean | If document is sent. (Cannot unset when document is sent via Scoro) |
lines | Array | Document lines. Lines will be null for list request and is only filled for view requests. |
modified_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date when document was last modified. |
created_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date and time when document was created. |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/orders/listDescription:
Get list of orders with API key. Adding detailed_response flag returns all fields available in view request.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Description:
Get list of orders with user token. Providing bookmark object to the request will filter the results based on the values provided.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/orders/modify/(#id)Description:
Modify specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"date": "2018-04-01",
"deadline": "2018-04-14",
"currency": "EUR",
"no": "123",
"company_id": "1",
"company_name": "Test",
"description": "Description",
"owner_id": "1",
"discount": "10",
"lines": [
{
"project_id": "1",
"vat": "20",
"product_id": "1",
"price": "100",
"amount": "2",
"unit": "h",
"dates": {
"2018-10-01": 1,
"2018-10-02": 1
}
},
{
"project_id": "1",
"vat": "20",
"product_id": "1",
"price": "50",
"amount": "5",
"unit": "h"
}
]
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/orders/view/(#id)Description:
View specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/orders/delete/(#id)Description:
Delete specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/orders/pdf/(#id)Description:
Generates PDF. Generated PDF files are available only for 30 days after the generation.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"template_id": "99"
}
}
Request URL
https://#companyname#.scoro.ee/api/orders
Order lines
Order lines do not have direct endpoints via API.You can retrive info about order lines by making a view request to get info about an existing order.
You can add and modify order lines by making a modify request to add or modify a order.
Data about order lines gets passed along in order objects lines field.
Name | Type | Description |
---|---|---|
dates | Object | Object with dates as keys and amounts as values. Empty on list requests. |
id | Integer | Document line ID |
product_id | Integer | ID of the product. |
product_name | String | Name of the product. Available in view request. |
product_code | String | Product code. Only used if "Product code" addon is activated. Available in view request. |
comment | String | Line comment. |
comment2 | String | Second line comment. Only used if "Use additional comments on lines" setting is activated. |
price | Decimal (15,4) | Unit price. |
amount | Decimal (15,2) | Amount. |
amount2 | Decimal (15,2) | Additional amount. Only used if "Use additional amount" setting is activated. |
discount | Float | Line discount. Only used if "Use line based discount" setting is activated. |
sum | Decimal (15,2) | Line sum without VAT. |
vat | Decimal (5,2) | Line tax percent. Only used if "Use line based tax rates" setting is activated. |
vat_code_id | Integer | Line tax id. Only used if "Use line based tax rates" setting is activated. |
unit | String | Unit name. |
finance_object_id | Integer | ID of the related accounting object. Only used if "Use accounting objects" setting is activated. |
finance_object_name | String | Name of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view request. |
finance_object_symbol | String | Symbol of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view request. |
finance_account_id | Integer | ID of the related finance account. Only used if "Use finance accounts" setting is activated. |
cost | Decimal(15,4) | Line cost. Only used if "Use margin" setting is activated. When user based API is used then user must have "Margin and markup" permission. |
supplier_id | Integer | ID of the contact supplying the product on this line. Only used if "Use margin" setting is activated. |
doer_id | Integer | ID of the user doing the work. |
is_internal | Boolean | Shows whether line is counted as internal or external. |
project_id | Integer | ID of the related project. |
project_name | String | Name of the related project. Available in view request. |
vat_code | String | VAT code. Only used if "Use line based tax rates" setting is activated. Available in view request. |
custom_fields | Object | Custom fields. Only filled on view requests. |
Bills
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
no | String | Document number. |
is_chargeable | Boolean | Shows if bill is chargeable to the client. |
dateofpayment | Date (YYYY-mm-dd) | Date of payment. |
payment_type | String | Payment type, possible values are banktransfer, cash, cardpayment, credit, barter. |
recognition_date | Date (YYYY-mm-dd) | Recognition date. |
reference_no | String | Reference number, Available in view/modify request. Not filterable. |
id | Integer | Document ID |
discount | Float | Overall discount. |
discount2 | Float or None | First additional discount. |
discount3 | Float or None | Second additional discount. |
sum | Decimal (15,2) | Total sum after discounts without VAT. This value is ignored on modify and calculated from rows instead. |
vat_sum | Decimal (15,2) | Total VAT sum. This value is ignored on modify and calculated from rows instead. |
vat | Decimal(5,3) | VAT percent. Only used if line based VAT setting is not activated. |
vat_code_id | Integer | Invoice default vat_code_id |
vat_code | String | VAT code. Only used if line based VAT setting is not activated. Available in view request. |
company_id | Integer | ID of the related client. |
company_name | String | Name of the related company. Available in view request. |
person_id | Integer | ID of the related contact person. |
person_name | String | Name of the related contact person. Available in view request. |
company_address_id | Integer | If a company has multiple addresses, use this field to set which address is used on the document. If company_address_id is not specified, default address will be used. |
project_id | Integer | ID of the related project. If ID is -1 then each document line can have a different related project. |
project_name | String | Name of the related project. Not shown in response if each document line has a different related project. Available in view request. |
currency | String | Used currency. The default currency for site is used on modify if currency is missing or invalid. |
owner_id | Integer | User ID of the user that is responsible for the document. |
owner_email | String | E-mail of the user that is responsible for the document. Available in view request. |
date | Date (YYYY-mm-dd) | Document date |
deadline | Date (YYYY-mm-dd) | Document deadline |
status | String | Status of the document(paid, unpaid) |
description | String | Document description |
account_id | String | Related company account. The account from the main request object is used on modify. |
currency_rate | Decimal (25,15) | Exchange rate when invoice is issued. Indicates the invoice currency against the base currency. For example if the base currency is EUR and invoice currency is GBP then 1 GBP = X EUR. (X = currency_rate). Available in view request. |
lines | Array | Document lines. Lines will be null for list request and is only filled for view requests. |
modified_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date when document was last modified. |
created_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date and time when document was created. |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/bills/listDescription:
Get list of bills with API key. Adding detailed_response flag returns all fields available in view request.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Description:
Get list of bills with user token. Providing bookmark object to the request will filter the results based on the values provided.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/bills/modify/(#id)Description:
Modify specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"description": "New description"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/bills/view/(#id)Description:
View specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/bills/delete/(#id)Description:
Delete specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Bill lines
Bill lines do not have direct endpoints via API.You can retrive info about bill lines by making a view request to get info about an existing bill.
You can add and modify bill lines by making a modify request to add or modify a bill.
Data about bill lines gets passed along in bill objects lines field.
Name | Type | Description |
---|---|---|
id | Integer | Document line ID |
product_id | Integer | ID of the product. |
product_name | String | Name of the product. Available in view request. |
product_code | String | Product code. Only used if "Product code" addon is activated. Available in view request. |
comment | String | Line comment. |
comment2 | String | Second line comment. Only used if "Use additional comments on lines" setting is activated. |
price | Decimal (15,4) | Unit price. |
amount | Decimal (15,2) | Amount. |
discount | Float | Line discount. Only used if "Use line based discount" setting is activated. |
sum | Decimal (15,2) | Line sum without VAT. |
vat | Decimal (5,2) | Line tax percent. Only used if "Use line based tax rates" setting is activated. |
vat_code_id | Integer | Line tax id. Only used if "Use line based tax rates" setting is activated. |
unit | String | Unit name. |
finance_object_id | Integer | ID of the related accounting object. Only used if "Use accounting objects" setting is activated. |
finance_object_name | String | Name of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view request. |
finance_object_symbol | String | Symbol of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view request. |
finance_account_id | Integer | ID of the related finance account. Only used if "Use finance accounts" setting is activated. |
finance_account_name | String | Name of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view request. |
finance_account_symbol | String | Symbol of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view request. |
project_id | Integer | ID of the related project. |
project_name | String | Name of the related project. Available in view request. |
vat_code | String | VAT code. Only used if "Use line based tax rates" setting is activated. Available in view request. |
custom_fields | Object | Custom fields. Only filled on view requests. |
Expenses
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
id | Integer | Document ID |
no | Integer | Document number. |
due_date | Date (YYYY-mm-dd) | Document due date |
recognition_date | Date (YYYY-mm-dd) | The date when the document will be recognized. Only used when “Use recognition date for bills and expenses“ setting is enabled. |
owner_id | Integer | User ID of the user that is the owner of the document. |
comment | String | Document comment |
is_chargeable | Boolean | Shows if expense is chargeable to the client. |
is_reimbursable | Boolean | Shows if the expense is reimbursable. Only available when “Use reimbursable expenses“ setting is activated. |
owner_name | String | Name of the expense owner. Available in view request. |
owner_email | String | E-mail of the user that is owner of the document. Available in view request. |
company_id | Integer | The ID of the related issuer. |
status | String | Status of the document (paid, unpaid). This value is ignored when modifying and it comes from added payments.(paid, unpaid) |
sum | Decimal (15,2) | Total sum after discounts without tax. This value is ignored when modifying and calculated from rows instead. |
tax_sum | Decimal (15,2) | Total tax sum. This value is ignored when modifying and calculated from rows instead. |
tax_percentage | Decimal(5,3) | Document tax percentage. Only used if “Use line based tax rates“ setting is not activated. |
tax_code_id | Integer | Document tax id. Only used if “Use line based tax rates“ setting is not activated. |
tax_code | String | Document tax code. Only used if “Use line based tax rates“ setting is not activated. Available in view request. |
account_id | String | Related company account. The account from the main request object is used to modify. |
modified_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date when the document was last modified. This value is ignored when modifying. |
created_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date and time when the document was created.This value is ignored when modifying. |
custom_fields | Object | Custom fields. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when the object was deleted. This value is ignored when modifying. |
company_name | String | Name of the related company. Available in view request. |
person_id | Integer | ID of the related contact person. |
person_name | String | Name of the related contact person. Available in view request. |
project_id | Integer | ID of the related project. If ID is -1 then each document line can have a different related project. |
project_name | String | Name of the related project. Not shown in response if each document line has a different related project. Available in view request. |
currency | String | Used currency. The default currency for site is used on modify if currency is missing or invalid. |
date | Date (YYYY-mm-dd) | Document date |
currency_rate | Decimal (25,15) | Exchange rate when invoice is issued. Indicates the invoice currency against the base currency. For example if the base currency is EUR and invoice currency is GBP then 1 GBP = X EUR. (X = currency_rate). Available in view request. |
lines | Array | Document lines. Lines will be null for list request and is only filled for view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/expenses/listDescription:
Get list of expenses with API key. Adding detailed_response flag returns all fields available in view request.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Description:
Get list of expenses with user token. Providing bookmark object to the request will filter the results based on the values provided.Example request body:
{
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"lang": "eng",
"company_account_id": "tutorial",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/expenses/modify/(#id)Description:
Modify specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"include_deleted": 0,
"detailed_response": 1,
"request": {
"comment": "new comment",
"date": "2020-01-20",
"company_id": 5,
"recognition_date": "2020-01-20",
"is_chargeable": "1",
"is_reimbursable": "1",
"currency": "GBP",
"lines": [
{
"product_id": 4,
"price": "60.000000",
"quantity": "2.000000",
"tax_percentage": "20",
"tax_code_id": "5",
"tax_code": "3",
"project_id": 1,
"custom_fields": [
{
"id": "c_dateofpurchase",
"name": "Date of purchase",
"value": "2020-01-20",
"type": "datetime"
},
{
"id": "c_linkedtask",
"name": "Linked task",
"value": 1111,
"type": "relation_with_model"
}
]
}
]
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/expenses/view/(#id)Description:
View specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/expenses/delete/(#id)Description:
Delete specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Expense lines
Expense lines do not have direct endpoints via API.You can retrive info about expense lines by making a view request to get info about an existing expense.
You can add and modify expense lines by making a modify request to add or modify a expense.
Data about expense lines gets passed along in expense objects lines field.
Name | Type | Description |
---|---|---|
id | Integer | Document line ID |
description | String | Line description. |
additional_description | String | Second line description. Only used if "Use secondary product/service description on lines" setting is activated. |
quantity | Decimal (15,2) | Quantity. |
additional_quantity | Decimal (15,2) | Additional quantity. Only used if "Use secondary quantity" setting is activated. |
sum | Decimal (15,2) | Line sum without tax. This value is ignored when modifying and calculated from price and quantity instead. |
tax_percentage | Decimal (5,2) | Line tax percent. Only used if "Use line based tax rates" setting is activated. |
tax_code_id | Integer | Line tax id. Only used if "Use line based tax rates" setting is activated. |
tax_code | String | Tax code. Only used if "Use line based tax rates" setting is activated. Available in view request. |
accounting_object_id | Integer | ID of the related accounting object. Only used if "Use accounting objects" setting is activated. |
accounting_object_name | String | Name of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view request. |
accounting_object_symbol | String | Symbol of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view request. |
custom_fields | Object | Custom fields. |
product_id | Integer | ID of the product. |
product_name | String | Name of the product. Available in view request. |
product_code | String | Product code. Only used if "Product code" addon is activated. Available in view request. |
price | Decimal (15,4) | Unit price. |
unit | String | Unit name. |
finance_account_id | Integer | ID of the related finance account. Only used if "Use finance accounts" setting is activated. |
finance_account_name | String | Name of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view request. |
finance_account_symbol | String | Symbol of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view request. |
project_id | Integer | ID of the related project. |
project_name | String | Name of the related project. Available in view request. |
Purchase orders
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
quote_id | Integer | Related quote ID. |
order_id | Integer | Related order ID. |
real_estate_id | Integer | Related real estate ID. |
delivery_address_id | Integer | Delivery address id |
delivery_date | Date (YYYY-mm-dd) | Document delivery date |
confirmed_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when document was confirmed. |
modified_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when document was last modified. |
id | Integer | Document ID |
no | Integer | Document number. |
discount | Float | Overall discount. |
discount2 | Float or None | First additional discount. |
discount3 | Float or None | Second additional discount. |
sum | Decimal (15,2) | Total sum after discounts without VAT. This value is ignored on modify and calculated from rows instead. |
vat_sum | Decimal (15,2) | Total VAT sum. This value is ignored on modify and calculated from rows instead. |
vat | Decimal(5,3) | VAT percent. Only used if line based VAT setting is not activated. |
vat_code_id | Integer | Invoice default vat_code_id |
vat_code | String | VAT code. Only used if line based VAT setting is not activated. Available in view request. |
company_id | Integer | ID of the related client. |
company_name | String | Name of the related company. Available in view request. |
person_id | Integer | ID of the related contact person. |
person_name | String | Name of the related contact person. Available in view request. |
company_address_id | Integer | If a company has multiple addresses, use this field to set which address is used on the document. If company_address_id is not specified, default address will be used. |
interested_party_id | Integer | ID of the interested party. Only used if site has interested party feature activated. |
interested_party_address_id | Integer | See company_address_id. Only used if site has interested party feature activated. |
project_id | Integer | ID of the related project. If ID is -1 then each document line can have a different related project. |
project_name | String | Name of the related project. Not shown in response if each document line has a different related project. Available in view request. |
currency | String | Used currency. The default currency for site is used on modify if currency is missing or invalid. |
owner_id | Integer | User ID of the user that is responsible for the document. |
owner_email | String | E-mail of the user that is responsible for the document. Available in view request. |
date | Date (YYYY-mm-dd) | Document date |
status | String | Status of the document() |
description | String | Document description |
account_id | String | Related company account. The account from the main request object is used on modify. |
is_sent | Boolean | If document is sent. (Cannot unset when document is sent via Scoro) |
lines | Array | Document lines. Lines will be null for list request and is only filled for view requests. |
created_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date and time when document was created. |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/purchaseOrders/listDescription:
Get list of purchase orders with API key. Adding detailed_response flag returns all fields available in view request.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Description:
Get list of purchase orders with user token. Providing bookmark object to the request will filter the results based on the values provided.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/purchaseOrders/modify/(#id)Description:
Modify specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"description": "New description"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/purchaseOrders/view/(#id)Description:
View specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/purchaseOrders/delete/(#id)Description:
Delete specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/purchaseOrders/pdf/(#id)Description:
Generates PDF. Generated PDF files are available only for 30 days after the generation.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"template_id": "99"
}
}
Purchase order lines
Purchase order lines do not have direct endpoints via API.You can retrive info about purchase order lines by making a view request to get info about an existing purchase order.
You can add and modify purchase order lines by making a modify request to add or modify a purchase order.
Data about purchase order lines gets passed along in purchase order objects lines field.
Name | Type | Description |
---|---|---|
id | Integer | Document line ID |
product_id | Integer | ID of the product. |
product_name | String | Name of the product. Available in view request. |
product_code | String | Product code. Only used if "Product code" addon is activated. Available in view request. |
comment | String | Line comment. |
comment2 | String | Second line comment. Only used if "Use additional comments on lines" setting is activated. |
price | Decimal (15,4) | Unit price. |
amount | Decimal (15,2) | Amount. |
amount2 | Decimal (15,2) | Additional amount. Only used if "Use additional amount" setting is activated. |
discount | Float | Line discount. Only used if "Use line based discount" setting is activated. |
sum | Decimal (15,2) | Line sum without VAT. |
vat | Decimal (5,2) | Line tax percent. Only used if "Use line based tax rates" setting is activated. |
vat_code_id | Integer | Line tax id. Only used if "Use line based tax rates" setting is activated. |
unit | String | Unit name. |
finance_object_id | Integer | ID of the related accounting object. Only used if "Use accounting objects" setting is activated. |
finance_object_name | String | Name of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view request. |
finance_object_symbol | String | Symbol of the related accounting object. Only used if "Use accounting objects" setting is activated. Available in view request. |
finance_account_id | Integer | ID of the related finance account. Only used if "Use finance accounts" setting is activated. |
project_id | Integer | ID of the related project. |
project_name | String | Name of the related project. Available in view request. |
vat_code | String | VAT code. Only used if "Use line based tax rates" setting is activated. Available in view request. |
custom_fields | Object | Custom fields. Only filled on view requests. |
Products
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
product_id | Integer | Product ID |
code | String | Product code. |
name | String | Product name in the language specified in request object. This field is used for view and list requests only. Modify requests should put the names to the field "names" as an Array (see example). |
price | Decimal (15,4) | Product price. Price list id can be specified in the "price_list" field of the request object. Default price list will be used if "price_list" field is not set. |
buying_price | Decimal (15,4) | Product buying price. Price list id can be specified in the "price_list" field of the request object. Default price list will be used if "price_list" field is not set. When user based API is used then user must have "Margin and markup" permission. |
price_list | Integer | Product price list. Will be used when setting prices for the product. If not set then default price list will be used. |
description | String | Product description. Modify requests support descriptions in multiple languages (see example). |
description2 | String | Product additional description. Modify requests support additional descriptions in multiple languages (same as description field). |
unit | String | Unit name. Only units that are listed in Scoro are supported. |
tag | String | Product tag. |
url | String | Product URL. |
default_type | String | Product default type. Possible values are "inhouse" or "outsourced". Default value is "inhouse". |
use_supplier | Boolean | Use this if you want to use a supplier, but still have the income and cost allocated as internal in project detailed view and WIP report. Only works with default_type field filled with "inhouse". |
default_doer_id | Integer | Product default doer id. This field expects Scoro user ID. Default value is 0. |
supplier_id | Integer | Product supplier ID. Only used if extra field "Supplier" is activated. |
productgroup_id | Integer | Product group ID. Only used if "Use product extras" setting is activated. |
is_active | Boolean | If product is active or deactivated. |
is_service | Boolean | If product is service or not. |
default_vat_code_id | Integer | Default vat code. This applies to both default sales tax and purchases tax if aforementioned |
default_sales_tax_id | Integer | Default sales vat code. This only applies to sales documents. |
default_purchases_tax_id | Integer | Default purchases vat code. This only applies to purchase documents. |
accounting_object_id | Integer | Product default accounting object. Only used if "Use accounting objects" setting is activated. |
depots_total_amount | Decimal (15,4) | Total amount in all depots. Only used if site has "Depot" feature. To modify depot amounts use the depot_amounts field. |
depot_amounts | Object | Amounts for each depot (depot ID as key and amount as value). Only used if site has "Depot" feature. This will be null on list requests. |
pictures | Array | Product pictures. Only used if "Use product extras" setting is activated. This will be null on list requests. |
modified_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date when project was last modified. |
account_id | String | Related company account. |
product_accounts | Array | Product related accounts. Product is shared between those accounts. Available for view and modify requests. |
sales_finance_account_id | Integer | Product related sales finance account id. Available for view and modify requests. |
purchases_finance_account_id | Integer | Product related purchases finance account id. Available for view and modify requests. |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Description:
Adding detailed_response flag returns all fields available in view request.Request URL:
https://#companyname#.scoro.ee/api/v2/products/modify/(#id)Request URL:
https://#companyname#.scoro.ee/api/v2/products/view/(#id)Description:
Sample responseExample request body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": {
"product_id": 1,
"code": "987654321",
"name": "Test product 1",
"price": "321.540000",
"buying_price": "23.4500",
"description": "Product description",
"description2": "Product description 2",
"unit": "h",
"tag": null,
"url": "http:\/\/www.scoro.com",
"supplier_id": 100,
"productgroup_id": 0,
"is_active": "1",
"is_service": "0",
"default_vat_code_id": 3,
"default_sales_tax_id": 3,
"default_purchases_tax_id": 9,
"accounting_object_id": 0,
"pictures": [],
"modified_date": "2018-12-20 13:31:12",
"account_id": "testAccount",
"product_accounts": [
"testAccount",
"testAccount2"
],
"custom_fields": [],
"is_deleted": 0,
"deleted_date": "0000-00-00 00:00:00"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/products/delete/(#id)Request URL
https://#companyname#.scoro.ee/api/products
Sample modify request using price list id 1
https://#companyname#.scoro.ee/api/products/modify
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"product_id": "151",
"code": "987654321",
"price": "321.54",
"price_list": "1",
"names": {
"est": "Toode1",
"eng": "Product1"
},
"description": {
"est": "Kirjeldus1",
"eng": "Description1"
}
}
}
Sample view request using price list id 2
https://#companyname#.scoro.ee/api/products/modify
{
"apiKey": "API_hash",
"lang": "est",
"company_account_id": "tutorial",
"request": {
"price_list": 2
}
}
Sample modify request with depot amounts
https://#companyname#.scoro.ee/api/products/modify
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"price": "123.45",
"names": {
"est": "Toode",
"eng": "Product"
},
"depot_amounts": {
"1": "5.00",
"2": "2.00"
}
}
}
Product groups
This API endpoint supports requests authenticated by apiKey.Name | Type | Description |
---|---|---|
id | Integer | Product group ID |
parent_group_id | Integer | Parent product group ID. 0 if this group has no parent group. |
name | String | Group name in the language specified in request object. |
comments | String | Productgroup description. |
pcs_per_package | Integer | Products in this productgroup. |
account_name | String | Account for external connections. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/productGroups/listRequest URL:
https://#companyname#.scoro.ee/api/v2/productGroups/modify/(#id)Request URL:
https://#companyname#.scoro.ee/api/v2/productGroups/view/(#id)Request URL
https://#companyname#.scoro.ee/api/productGroups
Price lists
This API endpoint supports requests authenticated by apiKey.Name | Type | Description |
---|---|---|
id | Integer | Price list ID |
name | String | Price list name. |
currency | String | Price list currency. |
account_id | String | Related company account. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/priceLists/listRequest URL:
https://#companyname#.scoro.ee/api/v2/priceLists/modify/(#id)Description:
Sample price list add or modify requestExample request body:
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"name": "New price list",
"currency": "EUR"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/priceLists/view/(#id)Request URL
https://#companyname#.scoro.ee/api/priceLists
Depot
This API endpoint supports requests authenticated by apiKey.Name | Type | Description |
---|---|---|
depot_id | Integer | Depot ID. |
depot_name | String | Depot name. |
comments | String | Depot comments/description. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/depot/listRequest URL:
https://#companyname#.scoro.ee/api/v2/depot/view/(#id)Request URL
https://#companyname#.scoro.ee/api/depot
Projects
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
project_id | Integer | Project ID |
no | String | Project number. |
project_name | String | Project name. |
description | String | Project description. |
company_id | Integer | Related company ID. |
company_name | String | Related company name. Only available for user based API |
is_personal | Boolean | If project is personal or business related. |
is_private | Boolean | If project is public or only for project members |
color | String | Project color identifier. Format is in hex "#ffffff" |
status | String | Project status. Possible values: pending, inprogress, cancelled, completed, future, additional1, additional2, additional3, additional4 |
status_name | String | Status name. Available in view request. |
manager_id | Integer | Project manager ID. |
manager_email | String | Project manager email. Available in view request. |
date | Date (YYYY-mm-dd) | Project start date. |
deadline | Date (YYYY-mm-dd) | Project deadline. |
duration | Time (HH:ii:ss) | Project estimated duration. |
account_id | String | Related account. Empty if project is shared between all active accounts. |
budget_type | String | Project budget type. Possible values: quote, simple, advanced. Used only for list and view requests. |
modified_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when project was last modified. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when project was deleted. |
tags | Array | Array of project tags. Not used on list requests. |
permissions | Array | Object user permissions. Used only for user based API |
project_users | Array | Project related users. It is used only for modify and view requests. |
project_accounts | Array | Project related accounts. Project is shared between those accounts. |
stripDescription | Boolean | Deprecated Can use this argument on view requests. Strips HTML from project description field. Default value for this is true. |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/projects/listDescription:
Get list of objects with user token. Providing bookmark object to the request will filter the results based on the values provided. Adding detailed_response flag returns all fields available in view request.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Description:
Get basic data for the list by adding "basic_data" to the request object. Bookmark object is optional.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"basic_data": "1",
"request": {},
"bookmark": {
"bookmark_id": "111"
}
}
Description:
Get list of objects with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/projects/modify/(#id)Description:
Modify specific object or create a new one with user token. User needs to have permission to modify existing object. Adding "return_data" parameter will control if object data will be returned with successful request.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {
"project_name": "Project Name",
"company_id": 34,
"is_private": 0,
"status": "inprogress",
"manager_id": 10,
"deadline": "2019-12-1",
"duration": "00:10:00",
"project_accounts": [
{
"id": "company_account_1"
},
{
"id": "company_account_2"
}
]
}
}
Description:
Modify specific object or create a new one with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {
"project_name": "Project Name",
"company_id": 34,
"is_private": 0,
"status": "inprogress",
"manager_id": 10,
"deadline": "2019-12-1",
"duration": "00:10:00",
"project_accounts": [
{
"id": "company_account_1"
},
{
"id": "company_account_2"
}
]
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/projects/view/(#id)Description:
Get specific object with user token. User needs to have permission to view the object.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Description:
Get specific object with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/projects/delete/(#id)Description:
Delete specific object with user token. User needs to have permissions to delete the objectExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Description:
Delete specific contact with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/projects/filtersDescription:
Getting filters for module. Empty request object returns all filters for the module. Supplying list of bookmark fields to the request body and using per_page and page parameters will give remaining of the filter records.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"values": [
{
"item_id": 1,
"item_name": "John Smith"
}
],
"selected_value": {
"item_id": [
1
],
"item_name": "My projects"
},
"settings": {
"filter_id": "bookmark_users",
"total_count": 1,
"filter_name": "Users",
"type": "type_checkbox"
}
}
]
}
Description:
Getting specific filter valuesExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"page": "1",
"per_page": "50",
"request": {
"fields": [
"bookmark_users",
"bookmark_projects"
]
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/projects/getRelatedObjects/(#id)Description:
Get all related objects of another object. "modules" parameter in request object allows to filter results by module. "modules" parameter accepts an array of module names. Currently supported modules are users, contacts, companies, tasks, calendar, invoices, prepayments, bills, expenses, quotes, orders, files, budgets. User based API also supports planned_activities and past_activities.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"companies": {
"items": [],
"totals": []
},
"contacts": {
"items": [],
"totals": []
},
"tasks": {
"items": [],
"totals": []
},
"calendar": {
"items": [],
"totals": []
},
"invoices": {
"items": [],
"totals": []
},
"prepayments": {
"items": [],
"totals": []
},
"bills": {
"items": [],
"totals": []
},
"quotes": {
"items": [],
"totals": []
},
"orders": {
"items": [],
"totals": []
},
"files": {
"items": [],
"totals": []
},
"budgets": {
"items": [],
"totals": []
}
}
}
Request URL
https://#companyname#.scoro.ee/api/projects
Project phases
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
id | Integer | Project phase's ID. |
project_id | Integer | Project's ID. |
type | String | Possible values are "phase", "milestone" and "phase_milestone". |
title | String | Project phase's title. |
start_date | Date (YYYY-mm-dd) | Project phase's start date. |
end_date | Date (YYYY-mm-dd) | Project phase's end date. |
ordering | Integer | Project phase's order in list. |
quote_line_id | Integer | Related quote line ID. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/projectPhases/listDescription:
Getting list of project phases.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"id": 1,
"project_id": 3,
"type": "phase",
"title": "Analysis",
"start_date": "2020-03-04",
"end_date": "2020-03-18",
"ordering": 0,
"quote_line_id": 0
},
{
"id": 2,
"project_id": 3,
"type": "phase",
"title": "Development",
"start_date": "2020-03-19",
"end_date": "2020-07-22",
"ordering": 1,
"quote_line_id": 0
}
]
}
Activities
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
activity_id | Integer | Activity id |
name | String | Activity type's name in the language specified in request object. |
parent_id | Integer | Activity type's group id |
parent_name | String | Activity type's group name in the language specified in request object. |
is_group | Boolean | Is activity group |
is_active | Boolean | If Activity is active or deactivated. |
product_id | Integer | Product id that is connected to this activity type. |
modified_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when activity was last modified. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/activities/listDescription:
Getting list of activities.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"activity_id": 1,
"name": "API",
"is_active": "1",
"parent_id": 105,
"parent_name": "API Group",
"is_group": "0",
"product_id": 2,
"modified_date": "1970-01-01T02:00:00+02:00"
}
]
}
Addresses
This API endpoint supports requests authenticated by either user_token or apiKey.Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/addresses/listDescription:
Getting list of addresses that are present in used site. "Types" parameter is required in request object. We are supporting following types: country, county, municipality, city, street, zipcodeExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"types": [
"country",
"city",
"street",
"county",
"municipality",
"zipcode"
]
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"country": [
{
"country_code": "afg",
"country_name": "Afghanistan"
}
],
"city": [
{
"city": ""
}
],
"street": [
{
"street": ""
}
],
"county": [
{
"county": ""
}
],
"municipality": [
{
"municipality": ""
}
],
"zipcode": [
{
"zipcode": ""
}
]
}
}
Bookmarks
This API endpoint supports requests authenticated by user_token.Name | Type | Description |
---|---|---|
bookmark_id | Integer | Bookmark ID |
module | String | Name of the module related to the bookmark. Example values: tasks, invoices, contacts. |
title | String | Bookmark name |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/bookmarks/listDescription:
Getting list of bookmarks for the module.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"module": "tasks"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"bookmark_id": 2346,
"title": "Test Bookmark"
}
]
}
Categories
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
cat_id | Integer | Category ID |
cat_name | String | Category name |
symbol | String | Category symbol |
description | String | Category description |
modified_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when resource was last modified. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/categories/listDescription:
Getting list of categories.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"cat_id": 1,
"cat_name": "A - Cat",
"symbol": "A",
"description": ""
}
]
}
Search
This API endpoint supports requests authenticated by user_token.Name | Type | Description |
---|---|---|
module | String | System module name. |
module_title | String | Module title in requested language. |
search_data | Array | [id,name] associated with module from current request. |
results_left | Integer | Amount of remaining undisplayed results. |
custom_fields | Object | Custom fields. Only filled on view requests. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/search */listDescription:
Sample list request for search_phrase "example"Example request body:
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"search_phrase": "example"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"modules": [
"quotes"
],
"module_title": "Quotes",
"search_data": [
{
"name": "500",
"id": "30"
}
]
},
{
"module": "companies",
"module_title": "Companies",
"search_data": [
{
"name": "example",
"id": "1"
}
]
}
]
}
Description:
Sample full search list request for search_phrase "example"Example request body:
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"search_phrase": "example",
"full_result": "true"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"modules": [
"invoices"
],
"module_title": "Invoices",
"search_data": [
{
"name": "12",
"id": "12"
},
{
"name": "123",
"id": "123"
}
],
"results_left": 0
},
{
"module": "companies",
"module_title": "Companies",
"search_data": [
{
"name": "example1",
"id": "71"
},
{
"name": "example2",
"id": "23"
}
],
"results_left": 42
}
]
}
Description:
Sample module based list request for search_phrase "example" and module "companies".Example request body:
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"search_phrase": "example",
"full_result": "true",
"modules": [
"companies"
]
}
}
Files
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
file_id | Integer | File ID |
hash | String | File hash, used for accessing file from Scoro via url |
file_name | String | Filename |
file_location | String | File path |
file_size | String | File size in bytes |
uploaded_by | Integer | User ID |
category_id | Integer | File category ID |
repository | String | possible values are "local" - stored in Scoro, "ftp" |
file_type | String | default is "other" |
is_private | Boolean | the file is uploaded as private and not visible by all |
is_public | Boolean | the file is uploaded to a public folder, enabling direct access |
rel_type | String | Related object type. Should be filled for only addRelation/removeRelation request |
rel_id | Integer | Related object id. Should be filled for only addRelation/removeRelation request |
relations | Array | Related object ids by type. Is filled only for view request. |
permissions | Array | Object user permissions. Used only for user based API list request |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/files/listRequest URL:
https://#companyname#.scoro.ee/api/v2/files/modify/(#id)Description:
File uploading format is described in the following File Upload section.Request URL:
https://#companyname#.scoro.ee/api/v2/files/view/(#id)Request URL:
https://#companyname#.scoro.ee/api/v2/files/delete/(#id)Request URL:
https://#companyname#.scoro.ee/api/v2/files/download/(#id)Description:
Downloading a file. Returns a binary content of the file.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/files */addRelation/(#id)Description:
Adding a relation for an existing file.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"rel_type": "tasks",
"rel_id": "123"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": {
"success": {
"263bb0cff70e3b83a46b11b60257a6d5": "File relation added"
}
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/files */removeRelation/(#id)Description:
Removing file relation from an object.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"rel_type": "tasks",
"rel_id": "123"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": {
"success": {
"263bb0cff70e3b83a46b11b60257a6d5": "File relation removed"
}
}
}
File Upload
Name | Type | Description |
---|---|---|
size | Integer | total size of file being uploaded (original file size, not base64 string) |
name | String | file name |
chunk_no | Integer | number of chunk currently being uploaded |
chunks_total | Integer | total number of chunks |
chunk_data | String | base64 encoded String that cannot be bigger than 5000000 bytes |
uploaded_by | Integer | User ID |
Uploading
https://#companyname#.scoro.ee/api/files/modify
Request
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"chunks_total": 3,
"name": "file.txt",
"size": 8782513,
"repository": "local",
"chunk_no": 1,
"chunk_data": "base64EncodedString"
}
}
Response
{
"status": "OK",
"statusCode": "200",
"messages": {
"success": {
"db85db7d88d02b9887cf1c2e7d721640": "File chunk received(1 of 3)"
}
}
}
Response when the last chunk has been uploaded
https://#companyname#.scoro.ee/api/files/modify
Request
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"chunks_total": 3,
"name": "file.txt",
"size": 8782513,
"repository": "local",
"chunk_no": 3,
"chunk_data": "base64EncodedString"
}
}
Response
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"file_name": "file.txt",
"file_id": 87,
"file_type": "other",
"file_hash": "5qb8tfh4u80004kwks0cc4gw0cgwwc84"
}
}
Notifications
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
id | Integer | Notification ID. |
structure_id | Integer | Main module item ID. |
structure_id2 | Integer | Related module item ID. |
remind_type | String | Remind via: scoro or email. |
module | String | Notification module name. Example values are tasks, tasks | comments etc |
user_id | Integer | User ID where notification was sent to. |
notifier_id | Integer | User ID where notification was sent from. |
date_added | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Notification added time. |
status | String | Notification status. Possible values are unread, read. |
date_read | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Notification read date. |
action | String | Notification action type. Possible values are add, edit, delete. |
notification_action_text | String | Notification action text. For example, "added comment to" |
notification_title_text | String | Notification title text. |
checked | Boolean | Used only for modify request for setting the time when user last checked notifications. Possible values: true |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/notifications/listDescription:
Get a list of notifications.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/notifications/modify/(#id)Description:
Set last notifications checked date.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {
"checked": "true"
}
}
Description:
Set notification as read or unread.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {
"status": "read"
}
}
Description:
Add notification to a comment. In this example: structure_id is task id and structure_id2 is comment idExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {
"structure_id": 10,
"structure_id2": 20,
"remind_type": "scoro",
"module": "tasks|comments",
"user_id": 2,
"status": "unread",
"action": "edit"
}
}
Description:
Add notification and send as email. User has to have an email set.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {
"structure_id": 10,
"remind_type": "email",
"module": "tasks",
"user_id": 2,
"status": "unread",
"action": "add"
}
}
Statuses
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
status_id | Integer | Status ID |
status_name | String | Status name |
color | String | Status color identifier |
module | String | Status module |
is_default | boolean | Shows if status is selected by default when creating new objects. |
modified_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when resource was last modified. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/statuses/listDescription:
Getting list of statuses for the modules. Empty request parameter will return all statuses for modules.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"filter": {
"module": [
"tasks"
]
}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"status_id": "task_status0",
"status_name": "TEst",
"color": "#a47ae2"
}
]
}
Tags
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
tag_id | Integer | Tag ID |
tag_name | String | Tag name |
parent_id | Integer | Tag parent ID |
parent_name | String | Tag parent name |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/tags/listDescription:
Getting list of tags for the module. Request expects 'type' parameter.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"type": "contacts"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"tag_id": 1,
"tag_name": "Test Tag",
"parent_id": 2,
"parent_name": "Test Parent"
}
]
}
Webhooks
This API endpoint supports requests authenticated by user_token.To validate webhook domain, please add scoro.txt file to domain root or path folder to validate you own and/or have permission for sending requests to that domain.
Name | Type | Description |
---|---|---|
module | String | Module name (calendar, tasks, projects, companies, persons, invoices, prepayments, bills, orders, quotes). |
action | String | Action type (any, create, modify, delete). |
relation_type | String | Relation type. Potential values: (calendar) created_by, participated_by | (tasks) created_by, assigned_to, responsible_user | (projects) created_by, managed_by, with_member | (companies, persons, invoices, prepayments, bills, orders, quotes) owned_by |
owners | array | Potential values: user_id, any, me. Default is current user. |
actors | array | Potential values: user_id, any, me. Default is any user. |
url | String | URL where the webhook should POST the affected entity. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/webhooks/subscribeDescription:
Subscribing to webhook for notifications when a task is created.Example request body:
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"module": "tasks",
"action": "create",
"url": "https:\/\/example.com\/test",
"relation_type": "assigned_to",
"owners": [
1,
2,
3
],
"actors": [
"me"
]
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"url": "https:\/\/example.com\/test"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/webhooks/unsubscribeDescription:
Unsubscribe from webhook notifications to specified URL when a task is created.Example request body:
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"module": "tasks",
"action": "create",
"url": "https:\/\/example.com\/test",
"relation_type": "created_by"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null
}
Request URL
https://#companyname#.scoro.ee/api/webhooks
Users
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
id | Integer | User ID. |
username | String | Username. |
firstname | String | First name. |
lastname | String | Last name. |
full_name | String | User full name. |
initials | String | Initials. |
String | Email address. | |
is_active | Boolean | Deprecated If user is active or deactivated. |
status | String | User status. Possible values: active, inactive, pending, awaiting |
birthday | Date (YYYY-mm-dd) | Users birthday. |
category | String | User category. Possible values: user, admin. |
position | String | User job/position. |
user_picture | String | User profile image URL. Available only for "list" and "view" actions |
role_id | Integer | User role ID. |
user_groups_ids | Array | User groups ID-s. |
country_id | String | User country ID. |
gsm | String | User phone number. |
timezone | String | User timezone |
modified_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when user was last modified. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/users/listDescription:
Getting users list with user token. Returns array of user objects.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"id": 1,
"username": "test",
"firstname": "test",
"lastname": "test",
"initials": "T1",
"email": "test[at]scoro.com",
"is_active": 1,
"status": "active",
"birthday": "1970-01-01",
"position": "Manager",
"category": "admin"
},
{
"id": 2,
"username": "test2",
"firstname": "test2",
"lastname": "test2",
"initials": "T2",
"email": "test2[at]scoro.com",
"is_active": 1,
"status": "active",
"birthday": "1980-01-01",
"position": "Manager 2",
"category": "admin"
}
]
}
Description:
Getting users object by ID with API key. Returns array of user objects.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"id": 1,
"username": "test",
"firstname": "test",
"lastname": "test",
"initials": "T1",
"email": "test[at]scoro.com",
"is_active": 1,
"status": "active",
"birthday": "1970-01-01",
"position": "Manager",
"category": "admin"
},
{
"id": 2,
"username": "test2",
"firstname": "test2",
"lastname": "test2",
"initials": "T2",
"email": "test2[at]scoro.com",
"is_active": 1,
"status": "active",
"birthday": "1980-01-01",
"position": "Manager 2",
"category": "admin"
}
]
}
Request URL:
https://#companyname#.scoro.ee/api/v2/users/view/(#id)Description:
Getting users object by ID with user tokenExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"id": 1,
"username": "test",
"firstname": "test",
"lastname": "test",
"initials": "TT",
"email": "test[at]scoro.com",
"is_active": 1,
"status": "active",
"birthday": "1970-01-01",
"category": "admin",
"position": "Manager"
}
}
Description:
Getting users object by ID with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"id": 1,
"username": "test",
"firstname": "test",
"lastname": "test",
"initials": "TT",
"email": "test[at]scoro.com",
"is_active": 1,
"status": "active",
"birthday": "1970-01-01",
"category": "admin",
"position": "Manager"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/users */settings/(#id)Description:
Getting currently logged in users settings with its company accountsExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"user_id": 1,
"master_company_account": "tutorial",
"first_day_of_week": 1,
"timezone": "Europe\/Helsinki",
"locale_clock": "12",
"locale_date": "%m\/%d\/%Y",
"locale_number": {
"thousandSeparator": "",
"decimalSeparator": "."
},
"company_accounts": [
{
"account_id": "tutorial"
}
]
}
}
Request URL
https://#companyname#.scoro.ee/api/users
User groups
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
group_id | Integer | Group ID. |
group_name | String | Group name. |
comment | String | Group comment. |
is_hidden | Boolean | If group is hidden. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/userGroups/listDescription:
Getting user groups list. Returns array of user groups objects.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"group_id": 1,
"group_name": "Main team",
"comment": "",
"is_hidden": 0
}
]
}
Request URL:
https://#companyname#.scoro.ee/api/v2/userGroups/modify/(#id)Description:
Adding new and modifying current user groupsExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {
"group_name": "Main team"
}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": {
"group_id": 1,
"group_name": "Main team",
"comment": "",
"is_hidden": 0
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/userGroups/view/(#id)Description:
Getting user groups object by IDExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": {
"group_id": 1,
"group_name": "Main team",
"comment": "",
"is_hidden": 0
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/userGroups/delete/(#id)Description:
Deleting user group.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null
}
VAT Codes
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
vat_code_id | Integer | Tax rate ID |
vat_code | String | Tax rate code |
percent | Decimal (5,3) | Tax rate percent |
vat_name | String | Tax rate name |
is_sales | Boolean | Is sales type tax rate (can be used in sales type documents) |
is_purchases | Boolean | Is purchase type rax rate (can be used in purchase type documents) |
is_active | Boolean | If tax rate is active or inactive |
is_not_applicable | Boolean | If tax rate is applicable or not |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/vatCodes/listRequest URL:
https://#companyname#.scoro.ee/api/v2/vatCodes/modify/(#id)Description:
Modify specific object or create a new one with user token.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {
"event_name": "New Name"
}
}
Description:
Modify specific object or create a new one with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {
"event_name": "New Name"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/vatCodes/view/(#id)Request URL:
https://#companyname#.scoro.ee/api/v2/vatCodes/delete/(#id)Request URL
https://#companyname#.scoro.ee/api/v2/vatCodes
Accounting objects
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
object_id | Integer | Accounting object ID |
object_symbol | String | symbol |
name | String | name |
parent_group_name | String | parent group name |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/financeObjects/listRequest URL:
https://#companyname#.scoro.ee/api/v2/financeObjects/view/(#id)Request URL
https://#companyname#.scoro.ee/api/financeObjects
Finance Accounts
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
id | Integer | Finance account ID |
account_symbol | String | Finance account symbol |
name | String | Finance account name |
parent_id | Integer | Parent finance account ID |
parent_name | String | Parent finance account name |
is_active | Boolean | If property is active or deactivated. |
created_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Created date. Cannot be modified through API. |
modified_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Modified date. Cannot be modified through API. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/financeAccounts/listDescription:
List all objects.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/financeAccounts/modify/(#id)Description:
Modify specific object or create a new one with user token.Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {
"account_symbol": "222111",
"name": "Test2",
"parent_id": 6,
"is_active": "1"
}
}
Description:
Modify specific object or create a new one with API keyExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {
"account_symbol": "222111",
"name": "Test2",
"parent_id": 6,
"is_active": "1"
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/financeAccounts/view/(#id)Description:
View specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/finance accounts/delete/(#id)Description:
Delete specific object.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Request URL
https://#companyname#.scoro.ee/api/v2/financeAccount
Sent e-mails
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
id | Integer | Sent e-mail's id. |
datetime | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Date and time when the e-mail was sent. |
sender_id | Integer | User's ID who sent the e-mail. |
sent_from | String | User's e-mail who sent the e-mail. |
sent_to | String | E-mail address of the recipient. There can be several recipients to one sent e-mail. |
contact_id | Integer | Contact id of recipient. There can be several recipients to one sent e-mail. |
type | String | Sent e-mail's content (which type of document was sent), e.g. quotes. |
doc_id | Integer | Related document's id, e.g. calendar event id, invoice id. |
project_id | Integer | Related document's project's id (e.g. if a quote is connected to a project). |
subject | String | The subject of the sent e-mail. |
message | String | The message of the sent e-mail in HTML code. |
send_type | String | Indicates how the e-mail was sent. Possible values: manual, automated, generated_automated, |
is_sent | Boolean | Indicates whether the e-mail was sent out. |
is_draft | Boolean | Indicates whether the e-mail is a draft. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/sendLog/listDescription:
Getting list of sent items.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"id": 78,
"datetime": "2020-03-18T11:18:54+03:00",
"sender_id": 1,
"sent_from": "test[at]scoro.com",
"recipients": [
{
"sent_to": "test2[at]scoro.com",
"contact_id": 21
},
{
"sent_to": "test3[at]scoro.com",
"contact_id": 43
},
{
"sent_to": "test4[at]scoro.com",
"contact_id": 17
}
],
"type": "orders",
"doc_id": 8,
"project_id": 0,
"subject": "Order No. 8",
"message": "Hello, Mr. Smith<br /><br /> Please find the Order no. 6 attached to this email. <br /> <br />
Kind regards<br /> <br /> Example User<br />Company Inc.",
"send_type": "manual",
"is_sent": 1,
"is_draft": 0
}
]
}
Client Profiles
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
id | Integer | Client profile ID |
name | String | Client profile name |
discount | String | Overall discount; should be added as a positive number. Negative number will be used as a markup. It is stored as Decimal (15,6). |
discount2 | String | First additional discount; should be added as a positive number. Negative number will be used as a markup. It is stored as Decimal (15,6). |
discount3 | String | Second additional discount; should be added as a positive number. Negative number will be used as a markup. It is stored as Decimal (15,6). |
vat_code_id | Integer | Tax rate ID for requested company_account_id. |
deadline_days | Integer | Invoice due date. Maximum of 3 characters allowed. |
fine | String | Overdue interest. It is stored as Decimal (15,6). |
currency | String | ISO 4217 currency code. If no currency given, default value is used. |
payment_type | String | Payment method. Possible values: banktransfer, cash, card payment, credit, barter. |
language_id | String | Language ID |
price_list_id | Integer | Price list ID |
created_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Created date. Cannot be modified through API. |
modified_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | Modified date. Cannot be modified through API. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/clientProfiles/listDescription:
Getting list of client profiles.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial"
}
Request URL:
https://#companyname#.scoro.ee/api/v2/clientProfiles/modify/(#id)Description:
Modify or create new client profile.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"name": "Some clients",
"discount": 12.123,
"discount2": 0,
"vat_code_id": 5,
"fine": 2.3,
"currency": "EUR",
"language_id": "est",
"price_list_id": 1
}
}
Request URL:
https://#companyname#.scoro.ee/api/v2/clientProfiles/view/(#id)Description:
View client profile.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial"
}
Request URL:
https://#companyname#.scoro.ee/api/v2/clientProfiles/delete/(#id)Description:
Delete client profile.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial"
}
Properties
This API endpoint supports requests authenticated by apiKey.Name | Type | Description |
---|---|---|
id | Integer | Property id |
is_active | Boolean | If property is active or deactivated. |
cadastral_numbers | String | Cadastral number of the property. |
house_number | String | House number of the property. |
street | String | Street name of the property. |
zipcode | String | Zipcode of the property. |
city | String | City of the property. |
municipality | String | Municipality of the property. |
county | String | Country of the property. |
country | String | Country of the property. |
description | String | Property description |
manager_id | Integer | Scoro user ID for the property manager. |
owners | Object | Property owners, object format: {["contact_id":123, "start_date":"2017-01-01", "end_date":"2020-01-01"]}. |
contractors | Object | Property contractors, object format: {["contact_id":123, "start_date":"2017-01-01", "end_date":"2020-01-01"]}. |
representatives | Object | Property representatives, object format: {["contact_id":123, "start_date":"2017-01-01", "end_date":"2020-01-01"]}. |
tags | Array | Array of property tags. Not used on list requests. |
modified_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date when property was last modified. |
custom_fields | Object | Custom fields. Only filled on view requests. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/properties/listRequest URL:
https://#companyname#.scoro.ee/api/v2/properties/modify/(#id)Request URL:
https://#companyname#.scoro.ee/api/v2/properties/view/(#id)Request URL:
https://#companyname#.scoro.ee/api/v2/properties/delete/(#id)Meters
This API endpoint supports requests authenticated by apiKey.Name | Type | Description |
---|---|---|
id | Integer | Meter id |
sys_number | String | Systemic number of the meter. |
type | String | Meter type. |
accounting_type | String | Accounting type. |
amount | Decimal(10, 2) | Amount |
amount_period_from | Date(YYYY-mm-dd) | Amount period from |
amount_period_to | Date(YYYY-mm-dd) | Amount period to |
status | String | Meter status |
reading | Integer | Meter latest reading |
coefficient | Float | Meter coefficiency |
diameter | String | Diameter |
contact_id | Integer | Meter contact ID |
related_property | Integer | Meter related property ID |
parent_meter | Integer | Meter's parent ID |
period_type | String | Meter period type |
price_list | Integer | Meter price list ID |
description | String | Meter description |
send_invoice_via | String | Send invoice via |
calibration_period | Integer | Calibration period in months |
date_of_calibration | Date(YYYY-mm-dd) | Meter calibration date from |
date_of_calibration2 | Date(YYYY-mm-dd) | Meter calibration date to |
inactive_period_from | Date(Y-m-d) | Inactive from |
inactive_period_to | Date(YYYY-mm-dd) | Inactive to |
mark | String | Mark |
send_reading_card | Boolean | Send reading card |
tags | Array | Array of meter tags. Not used on list requests. |
modified_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date when meter was last modified. |
custom_fields | Object | Custom fields. Only filled on view requests. |
is_deleted | Boolean | Is deleted. Use 'include_deleted = 1' in request object to get deleted objects to response as well. |
deleted_date | Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) | The date when object was deleted. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/meters/listRequest URL:
https://#companyname#.scoro.ee/api/v2/meters/modify/(#id)Request URL:
https://#companyname#.scoro.ee/api/v2/meters/view/(#id)Request URL:
https://#companyname#.scoro.ee/api/v2/meters/delete/(#id)Readings
This API endpoint supports requests authenticated by apiKey.Name | Type | Description |
---|---|---|
id | Integer | Reading ID |
meter_id | Integer | Meter ID |
reading | Integer | Reading amount. |
reading_date | Date (YYYY-mm-dd) | Reading date. |
accounting_period_from | Date (YYYY-mm-dd) | Accounting period of the reading, from date. |
accounting_period_to | Date (YYYY-mm-dd) | Accounting period of the reading, to date. |
created_by | Integer | Created user ID. |
type | String | Reading type. Possible values: beginning, final, control. |
status | String | Reading status. Possible values: accepted, declined, paid. |
sewer_reading | Integer | Sewer reading amount. Only necessary when meter type is "Water and sewer". |
invoice_id | Integer | ID of the invoice that has been generated from the reading. |
source | String | Source of the reading. |
modified_date | Datetime (YYYY-mm-dd HH:ii:ss) | The date when the reading was last modified. |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/readings/listRequest URL:
https://#companyname#.scoro.ee/api/v2/readings/modify/(#id)Request URL:
https://#companyname#.scoro.ee/api/v2/readings/view/(#id)Request URL
https://#companyname#.scoro.ee/api/v2/properties/readings
Sample modify request using price list id 1
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"meter_id": "151",
"reading": "100",
"reading_date": "2015-01-01",
"created_by": 1,
"type": "final",
"status": "accepted",
"sewer_reading": "90"
}
}
Custom fields
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
id | String | Custom field id |
name | String | Custom field name |
type | String | Custom field type |
is_filterable | Boolean | Is custom field filterable |
modules | Array | Array of custom field module objects |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/customFields/listDescription:
Get list of custom fieldsExample request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "xxxxxx",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"id": "c_test",
"name": "Test name",
"type": "text",
"is_filterable": 1,
"modules": [
{
"module_name": "invoices",
"status": "active"
}
]
}
]
}
PDF Templates
This API endpoint supports requests authenticated by either user_token or apiKey.Name | Type | Description |
---|---|---|
id | Integer | Template id |
name | String | Template name |
type | String | Template type |
status | String | Status |
Available actions are
Request URL:
https://#companyname#.scoro.ee/api/v2/pdfTemplates/listDescription:
Getting list of templates.Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"id": 9,
"template_name": "orderTemplate",
"template_type": "orders",
"status": "active"
}
]
}